Июл 262012
 

Про скрипт utlrp.sql я уже писал. Он перекомпилирует все инвалидные объекты в несколько потоков. Обязателен на финальных шагах повышения версии базы или если по какой-то причине инвалидировалось множество объектов. Важная особенность - он компилирует только инвалидные объекты.

Если нам нужно перекомпилировать все объекты в базе (например, это бывает необходимо при изменении битности платформы, а также при некоторых багах, связанных с процессом компиляции), то все объекты надо сперва инвалидировать, а потом запустить utlrp.sql.

Для инвалидании всего используется скрипт utlirp.sql. Запускать его можно только в режиме UPGRADE:

-- Остановим базу
SHUTDOWN IMMEDIATE;
 
-- Запускаем в режиме UPGRADE
STARTUP UPGRADE;
-- Инвалидируем всё:
@?/rdbms/admin/utlirp
 
-- Остановим базу
SHUTDOWN IMMEDIATE;
 
-- Запускаем базу в обычном режиме 
STARTUP;
-- Теперь компилируем все объекты:
@?/rdbms/admin/utlrp

utlirp.sql сделает все объекты инвалидными, а также пересоздаст самые базовые пакеты, такие как STANDARD и DBMS_STANDARD, а utlrp.sql потом скомпилирует всё, что сможет.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

(обязательно)

(обязательно)