Проблема со скоростью выполнения скрипта DROP объектов схемы

Рябов А.С.
Дата: 28.10.2015 16:04:21
Есть сервер Windows Server 2012 с 96 Гб оперативки (выделено 82 под оракл)
Есть база Oracle SE One, 12.1.0.1

Есть скрипт
DECLARE
 TYPE TREC IS RECORD(v_sql VARCHAR2(4000));
 TYPE TCUR IS REF CURSOR RETURN TREC;
 r1 TCUR;
BEGIN 
  FOR r1 IN ( SELECT 'DROP ' || object_type ||'MYUSER.'||object_name || DECODE ( object_type, 'TABLE', ' CASCADE CONSTRAINTS PURGE' ) AS v_sql
                FROM all_objects
               WHERE owner='MYUSER' AND object_type IN ('TABLE', 'PACKAGE', 'PROCEDURE', 'FUNCTION', 'SYNONYM', 'SEQUENCE')
               ORDER BY object_type,
                object_name ) LOOP
    EXECUTE IMMEDIATE r1.v_sql;
  END LOOP;
END;


Ежедневно выполняется этот скрипт для нескольких Oracle User, и импорт из dmp (через imp.exe).

После перезагрузки сервера скрипт быстро выполняется. Но каждый день время выполнения скрипта увеличивается.
Для схемы с 5 !!!ПУСТЫМИ табличками через два месяца работы скрипт выполняется 3 минуты, хотя после перезагрузки сервера для этой схемы скрипт выполняется 3 секунды.

Подскажите в чем может быть причина?
И как это лечится.


Через недельку попробую выполнить, посмотрю как повлияет на время выполнения скрипта

alter system flush shared_pool;
alter system flush buffer_cache;
классика
Дата: 28.10.2015 16:11:36
Рябов А.С.,

если от процесса чего-то ждуь, это называют waits и анализируют более предметно.
SQL*Plus
Дата: 28.10.2015 16:20:47
Рябов А.С.
Есть сервер Windows Server 2012 с 96 Гб оперативки (выделено 82 под оракл)
Есть база Oracle SE One, 12.1.0.1

Ежедневно выполняется этот скрипт для нескольких Oracle User, и импорт из dmp (через imp.exe).
Уничтожаются объекты всех прикладных схем или не всех?

Настоятельно рекомендую избавляться от использования exp / imp.
Заменяйте их на expdp / impdp
Рябов А.С.
Дата: 28.10.2015 16:26:30
SQL*Plus
Уничтожаются объекты всех прикладных схем или не всех?

Последовательно выполняется этот скрипт, затем импорт для каждой прикладной схемы, за исключением пары схем, в которых делается только импорт инкрементальных dmp.
Рябов А.С.
Дата: 28.10.2015 16:28:37
То есть скрипт для схемы1, импорт для схемы1, скрипт для схемы2, импорт для схемы2 и т.д.

Для больших схем выполнение скрипта увеличивается от 3 минут после перезагрузки до 40 минут спустя месяц.
SQL*Plus
Дата: 28.10.2015 16:37:39
Рябов А.С.
SQL*Plus
Уничтожаются объекты всех прикладных схем или не всех?

Последовательно выполняется этот скрипт, затем импорт для каждой прикладной схемы,
за исключением пары схем, в которых делается только импорт инкрементальных dmp.

Тогда вариант: DROP pluggable database + CREATE pluggable database не подходит...
маркетинговый агрессор
Дата: 28.10.2015 16:45:27
SQL*Plus
Рябов А.С.
за исключением пары схем

Тогда вариант: DROP pluggable database + CREATE pluggable database не подходит...
а если не за исключением пары схем, а только One, то подойдет?
Рябов А.С.
Дата: 28.10.2015 16:46:29
SQL*Plus,

А какие отрицательные моменты в использовании imp.exe/exp.exe?
dba123
Дата: 28.10.2015 16:55:56
Member

Рябов А.С.,

а почему не просто
drop myuser cascade;
из списка только синонимы, если не путаю, могут остаться
dba123
Дата: 28.10.2015 16:59:19
dba123,
приватные точно удаляются