Обновление версии с помощью командной строки (3)

Post on 28-Jul-2015

253 views 6 download

Transcript of Обновление версии с помощью командной строки (3)

<Insert Picture Here>

Обновление версии с помощью

командной строки

Игорь Мельников

Oracle CIS

Ручное обновление

• Например: переход на новый сервер

Server(OLD) Server(NEW)

3) Запустить utlu112i.sql

4) Остановить БД

5) Скопировать файлы БД

1) Установить ПО Oracle11g

2) Скопировать utlu112i.sql

6) Сделать необходимые изменения

7) Запустить процесс обновления

Перечень шагов

• Обновление с помощью командной строки:

1. Установить Oracle Database 11g, патчи

2. Сделать полный бэкап исходной БД (и скопировать)

3. Проанализировать исходную БД с помощью скрипта utlu112i.sql и применить все рекомендации

4. Создать новый листенер с помощью NETCA

5. Переключиться на новое окружение, стартовать БД (startup upgrade) и создать табл. пространство SYSAUX

(если исходная база < 10.1)

6. Запустить скрипт catupgrd.sql и затем: utlrp.sql

7. Проверить результат обновления: utlu112s.sql

8. Запустить catuppst.sql если обновление происходит с

версии 10g

Проверка готовности к обновлению

• Сбор информации: utlu112i.sql

• Запускается на исходной БД

• Проверяет все init-параметры и выводит сообщения про игнорируемые

и неподдерживаемые в 11g параметры

• Проверяются:

• Компоненты

• Наличие табл. пространства SYSAUX

• Кодовая страница (Characterset)

• Версия файлов Timezone

• Наличие кластерной конфигурации

Info

© 2010 Oracle Corporation 5

Скрипт подготовки

• Получить свежую версию файла utlunmi.sql

• Нужно предварительно его скачать !

• Note:884522.1

Command Line Upgrade

© 2010 Oracle Corporation 6

• utlu112i.sql: информация о СУБД

• Преобразование данных типа time zone должно быть проведено после

завершения обновления

• Рекомендуется

• Необходимо, если тип данных TIMESTAMP WITH TIME ZONE используется

© 2010 Oracle Corporation 7

Command Line Upgrade

•utlu112i.sql: табличные пространства имеют

необходимый размер?

© 2010 Oracle Corporation 8

Command Line Upgrade

•utlu112i.sql: init.ora параметры изменились ?

© 2010 Oracle Corporation 9

Command Line Upgrade

• utlu112i.sql: Компоненты и опции ?

• Для удаления(или переустановки) компонент вручную: Note:472937.1 Information On Installed Database Componentsand Schemas

Note.300056.1 Debug and Validate Invalid Objects

Note:753041.1 How to diagnose Components with NON VALID status

Note.733667.1 How to Determine if XDB is Being Used in the Database?

10

Command Line Upgrade

• Сбор статистики по словарю (dictionary statistics)

• Нормальный останов БД (IMMEDIATE/NORMAL)

• Изменение init-параметров: • COMPATIBLE 10.1.0

• SGA_TARGET 524MB (32-bit) ... 748MB (64-bit)

• PGA_AGGREGATE_TARGET 25MB

• LOG_ARCHIVE_FORMAT должен содержать %s, %t и %r

• Переместить init.ora/SPFILE и PWDsid.ora в новый

$ORACLE_HOME

• Создать новый листенер 11g (с помощью NETCA)

• Изменить окружение на новый $ORACLE_HOME

SQL> STARTUP UPGRADE;

• Не обращать внимания на ошибки вида: ORA-00942: table or view does not exist

Command Line Upgrade

Command Line Upgrade

• Создать табличное пространство SYSAUX (только если

исходная БД версии 9i) :

SQL> CREATE TABLESPACE sysaux

DATAFILE 'file' SIZE 500M

EXTENT MANAGEMENT LOCAL

SEGMENT SPACE MANAGEMENT AUTO

ONLINE;

Command Line Upgrade

• Запуск обновления словаря (dictionary) БД:

• Рекомендуется включить протоколирование SQL+:

• Сбор статистики по фиксированным объектам:

SQL> @catupgrd.sql

SQL> SPOOL /tmp/upgrade.log

SQL> execute

dbms_stats.gather_fixed_objects_stats;

14

• Перекомпиляция: • utlrp.sql

• Вызывает utlprp.sql с параметром CPU_COUNT-1

• Автоматически определяет возможность

распараллеливания компиляции в несколько потоков

• Перекомпилирует все объекты в состоянии “INVALID”

• Использует встроенный пакет utl_recomp

• Включает функциональные индексы автоматически

• utlprp.sql может быть вызван напрямую:

• SQL> @utlprp 7

Command Line Upgrade

15

• Контроль процесса перекомпиляции :

Command Line Upgrade

1. Запрос возвращает число оставшихся объектов в состоянии INVALID.

Это число должно уменьшаться с течением времени:

SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6);

2. Запрос возвращает число перекомпилированных объектов

Это число должно увеличиваться с течением времени:

SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;

3. Запрос показывает задания (job-ы) созданные UTL_RECOMP. SELECT job_name FROM dba_scheduler_jobs

WHERE job_name like 'UTL_RECOMP_SLAVE_%';

4. Запрос показывает выполняющиеся задания (job-ы) перекомпиляции:

SELECT job_name FROM dba_scheduler_running_jobs

WHERE job_name like 'UTL_RECOMP_SLAVE_%';

16

• Скрипт: catuppst.sql

• Необходим только при обновлении с 10.1

• Расположен в $O_H/rdbms/admin

• БД должны быть НЕ в режиме upgrade

• Может быть запущен параллельно с utlrp.sql

• Обновляет Automatic Workload repository (AWR)

• Обновляет метаданные ADDM

• Обновляет политики Oracle Label security (OLS)

Command Line Upgrade

17

• Post upgrade скрипт: utlu112s.sql

• Запускается на новой базе данных – в окружении 11g

• Проверяет результат обновления по содержимому DBA_REGISTRY

• Отображает длительность обновления по каждому компоненту

в отдельности

Command Line Upgrade Status

Command Line Upgrade

• Вывод результата работы utlu112s.sql

SQL> @?/rdbms/admin/utlu112s.sql

Oracle Database 11.2 Post-Upgrade Status Tool 05-11-2009 11:23:33

Component Status Version HH:MM:SS

Oracle Server VALID 11.2.0.1.0 00:16:17

JServer JAVA Virtual Machine VALID 11.2.0.1.0 00:05:19

Oracle Workspace Manager VALID 11.2.0.1.0 00:01:01

Oracle Enterprise Manager VALID 11.2.0.1.0 00:10:13

Oracle XDK VALID 11.2.0.1.0 00:00:48

Oracle Text VALID 11.2.0.1.0 00:00:58

Oracle XML Database VALID 11.2.0.1.0 00:04:09

Oracle Database Java Packages VALID 11.2.0.1.0 00:00:33

Oracle Multimedia VALID 11.2.0.1.0 00:07:43

Oracle Expression Filter VALID 11.2.0.1.0 00:00:18

Oracle Rule Manager VALID 11.2.0.1.0 00:00:12

Gathering Statistics 00:04:53

Total Upgrade Time: 00:52:31

• Скрипт для выявления объектов перешедших в состояние Invalid: utluiobj.sql

SQL> @?/rdbms/admin/utluiobj.sql

Oracle Database 11.1 Post-Upgrade Invalid Objects Tool 08-03-2010

18:23:09

This tool lists post-upgrade invalid objects that were not invalid

prior to upgrade (it ignores pre-existing pre-upgrade invalid objects).

Owner Object Name Object Type

...

Выявление invalid-объектов

После обновления

• Собрать системную статистику в течении периода типичной

нагрузки - иначе CBO будет использовать неверные данные:

SQL> select pname NAME, pval1 VALUE, pval2 INFO

from aux_stats$;

NAME VALUE INFO

-------------------- ---------- ------------------------------

STATUS COMPLETED

DSTART 04-03-2008 12:30

DSTOP 05-03-2008 12:30

FLAGS 1

CPUSPEEDNW 1392,39

IOSEEKTIM 11,405

IOTFRSPEED 25595,605

...

SQL> EXECUTE dbms_stats.gather_system_stats('start');

...

SQL> EXECUTE dbms_stats.gather_system_stats('stop');

21

<Insert Picture Here>

Игорь Мельников

Старший консультант Oracle СНГ

Email: Igor.Melnikov@oracle.com

Phone: +7 (495) 641 14 00

Direct: +7 (495) 641 14 42

Mobile: +7 (915) 205 26 27

23