dbms_utility.compile_schema в функции
Гостья_N
Дата: 16.03.2011 16:59:10
Уважаемые знатоки Oracle!
Подскажите. Выполняю команду call dbms_utility.compile_schema() - время выполнения 30 сек.
Оборачиваю эту команду в функцию - время выполнения функции 15 минут.
Почему? И что можно сделать дабы исправить такую ситуацию?
Заранее спасибо!
comphead
Дата: 16.03.2011 17:08:45
Гостья_N |
---|
Уважаемые знатоки Oracle!
Подскажите. Выполняю команду call dbms_utility.compile_schema() - время выполнения 30 сек. Оборачиваю эту команду в функцию - время выполнения функции 15 минут.
Почему? И что можно сделать дабы исправить такую ситуацию?
Заранее спасибо! |
покажите.
comphead
Дата: 16.03.2011 17:09:55
Гостья_N,
и версию уточните оракла
Гостья_N
Дата: 16.03.2011 17:10:50
create or replace
FUNCTION "TEST_COMPILE_OBJECTS" RETURN NUMBER
IS
countInvalidObject NUMBER;
userName VARCHAR(256);
BEGIN
SELECT USER
INTO userName
FROM dual;
dbms_utility.compile_schema(userName);
SELECT count(*)
INTO countInvalidObject
FROM user_objects
WHERE status = 'INVALID';
IF countInvalidObject != 0 THEN
RETURN 0;
ELSE
RETURN 1;
END IF;
EXCEPTION
WHEN OTHERS THEN
Util.LogInfo(substr(sqlerrm, 1, 100) || ':TEST_COMPILE_OBJECTS');
RETURN 0;
END;
Гостья_N
Дата: 16.03.2011 17:12:32
Oracle 10.2.0
tru55
Дата: 16.03.2011 17:17:26
comphead
Дата: 16.03.2011 17:17:51
Гостья_N,
1. 10.2.0.что?
2. целесообразность функции под вопросом.
3. тут нельзя однозначно сказать, тормозит ли dbms_utility или чтото еще.
_Nikotin
Дата: 16.03.2011 17:18:17
Сама себя компилирует?
comphead
Дата: 16.03.2011 17:22:11
_Nikotin |
---|
Сама себя компилирует? |
кстати может быть, проверить можно установкой второгой параметра dbms_utility.compile_schema(userName) в отличное от дефолтового значение
Гостья_N
Дата: 16.03.2011 17:29:13
Простите, 10.2.0.3.
Целесообразность у неё как раз. Необходимо каждый раз при сборке системы убедиться, что все объекты БД остались в приемлемом состоянии. Если остались "плохие" объекты, сборка будет прерываться.
А вот задумка, согласна хромает, но пока это всё до чего додумалась. :)
Возможно существуют более интересные варианты?
А что плохого в том, что она сама себя перекомпилирует? Есть в жизни огорчения и похуже.