среда, 25 февраля 2009 г.

Краткий план миграции на 12R1

1.Уведомление о начале работ.

2.Остановка приложений

3.Создание точки отката

sql>SELECT flashback_on, log_mode FROM v$database;
sql> alter database flashback on;  -- если режим flashback не включен

Смотрим место во fra:

sql>select name, round(space_limit/1048576),round(space_used/1048576),round ((space_used/space_limit)*100) as "% used"
from  v$RECOVERY_FILE_DEST;

sql>create restore point RP_1 guarantee flashback database;


4.Проверка целостности исходной БД перед миграцией
cd /oracle/distr/pre

$ sqlplus / as sysdba
sql> alter session set nls_language='American';
sql> @dbupgdiag.sql
sql> exit


5.Проверка БД с помощью hcheck и hout

cd /oracle/distr/pre
$ sqlplus / as sysdba
sql> alter session set nls_language='American';
sql> @hout.sql
sql> @hcheck4.sql
sql> execute hcheck.full
sql> exit


6.Очистить корзину перед обновлением

$ sqlplus /as sysdba
SQL> PURGE DBA_RECYCLEBIN;


7.Проверка версий компонентов:

select substr(comp_id,1,15) comp_id,substr(comp_name,1,30) comp_name, substr(version,1,10) version,status
from dba_registry order by modified;


8.Удалить EM DB Control

$ emctl stop dbconsole
$ sqlplus / as sysdba
SQL> @?/rdbms/admin/emremove.sql


9.Pre Upgrade Steps

cd  /u01/app/oracle/distr/pre
$ unzip preupgrade_12.1.0.2.0_15_lf.zip
$ sqlplus / as sysdba
SQL> alter session set nls_language='American';
SQL> @utluppkg.sql
SQL> @preupgrd.sql


10.Анализ логов и запуск скрипта preupgrade_fixups.sql

$ tail -1000 /u01/app/oracle/cfgtoollogs/testdb/preupgrade/preupgrade.log
SQL>@/u01/app/oracle/cfgtoollogs/testdb/preupgrade/preupgrade_fixups.sql
SQL> exit


11.Создание файла параметров и паролей в новом OH: 

SQL> create pfile from spfile;
$ cp /u01/app/oracle/product/11.2.0.4/db/dbs/inittestdb.ora  /u01/app/oracle/product/12.1.0.2/dbs/
$ cd /u01/app/oracle/product/12.1.0.2/dbs/
vi  inittestdb.ora

Пересоздание файла паролей в новом формате 12с
orapwd file=< fname > entries=< users > force=< y/n > password=< SYS password > format=12

Миграция старого файла паролей на новый формат 12c


orapwd file=< fname > entries=< users > force=< y/n > password=< SYS password > format=12 input_file=< input-fname >

Проверка
orapwd describe file=< passwordfile name with location >


<- br="" testdb="">su – oracle
. oraenv  <  - TESTDB
$ cd $ORACLE_HOME/dbs

$ ls -al orapw*

$ orapwd describe file=orapwtestdb
Password file Description : format=LEGACY ignorecase=N

$ orapwd file=orapwTESTDB entries=10 force=y password=< ... > format=12 input_file=orapwTESTDB

$ orapwd describe file=orapwtestdb
Password file Description : format=12 ignorecase=N
 



12.Upgrade Steps

$ export  ORACLE_HOME=/u01/app/oracle/product/12.1.0.2
cd $ORACLE_HOME/rdbms/admin

sqlplus / as sysdba
SQL> startup UPGRADE
SQL> exit

cd $ORACLE_HOME/rdbms/admin
$ORACLE_HOME/perl/bin/perl catctl.pl -n 4 -l $ORACLE_BASE/cfgtoollogs/testdb catupgrd.sql


13.Анализ логов и запуск базы:

tail -1000 $ORACLE_BASE/cfgtoollogs/testdb/catupgrd0.log
tail -1000 $ORACLE_HOME/cfgtoollogs/testdb/upgrade/upg_summary.log

Запуск базы
$ sqlplus / as sysdba
SQL> startup


14.Post Upgrade Steps

cd $ORACLE_HOME/rdbms/admin

$ sqlplus / as sysdba
SQL> @utlu121s.sql
SQL> @catuppst.sql
SQL>@/u01/app/oracle/cfgtoollogs/testdb/preupgrade/postupgrade_fixups.sql
SQL> @utlrp.sql  4
SQL> @utluiobj.sql
SQL> exit


15.Сбор статистики по фиксированным объектам словаря базы данных:

SQL> exec DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;


16.Запускаем datapatch

sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> shutdown immediate
SQL> startup UPGRADE
SQL> quit

cd $ORACLE_HOME/OPatch
./datapatch -verbose


17.Перекомпиляция инвалидных объектов.

sqlplus /nolog
sql> CONNECT / AS SYSDBA
sql> shutdown
sql> startup
sql> @?/rdbms/admin/utlrp


18.Проверка:

select action,
       version||'.'||bundle_id as version_id,
       description,
       status,
       ACTION_TIME,
       patch_id
from DBA_REGISTRY_SQLPATCH;


19.Проверка версий компонентов:

select substr(comp_id,1,15) comp_id,
substr(comp_name,1,30) comp_name,
substr(version,1,10) version,status
from dba_registry order by modified;


20.Сетевые настройки

cd $ORACLE_HOME/network/admin
$ vi listener.ora
$ vi sqlpnet.ora
$ lsnrctl start
$ lsnrctl status


21.Установка параметров инициализации экземпляра

!!!  Новый параметр compatible пока не выставляем

Устранить известные критические ошибки для версии 12cR1 (12.1.0.2)

-- Bug in 12.1.0.2 - Note 2034610.1
alter system set "_optimizer_aggr_groupby_elim"        = FALSE       scope=spfile sid='*';
alter system set "_optimizer_reduce_groupby_key"       = FALSE       scope=spfile sid='*';

-- Bug 18304693 - Note 18304693.8
alter system set "_optimizer_cost_based_transformation"='EXHAUSTIVE' scope=spfile sid='*';
alter system set "_optimizer_reuse_cost_annotations"   = FALSE       scope=spfile sid='*';

-- Bug 22173980
alter system set "_rowsets_enabled"                    = FALSE       scope=spfile sid='*';

-- Bug 19894622
alter system set "_optimizer_unnest_scalar_sq"         = FALSE       scope=spfile sid='*';

-- Bug in 12.1.0.2 Bug 21056506
alter system set "_use_single_log_writer"              = TRUE        scope=spfile sid='*';

-- Bug in 12.1.0.2 Bug 22529728 - Note 22529728.8
alter system set "_optimizer_gather_stats_on_load"     = FALSE       scope=both   sid='*';


Дополнительно можно установить следующие параметры:

alter system set db_files=2048  scope=spfile sid='*';
alter system set processes=1024 scope=spfile sid='*';
alter system set control_file_record_keep_time=30 scope=spfile sid='*';
alter system set cursor_sharing='EXACT' scope=spfile sid='*';
alter system set filesystemio_options='SETALL' scope=spfile sid='*';

alter system set fast_start_mttr_target       = 1200 scope=spfile sid='*';
alter system set fast_start_parallel_rollback = LOW scope=spfile sid='*';

alter system set open_cursors=2000                        scope=spfile sid='*';
alter system set session_cached_cursors = 200             scope=spfile sid='*';
alter system set open_links=255                           scope=spfile sid='*';
alter system set resumable_timeout=120                    scope=spfile sid='*';
alter system set job_queue_processes=1000                 scope=spfile sid='*';

-- LOG_BUFFER
alter system set log_buffer=67108864 scope=spfile sid='*';

-- deferred_segment_creation
alter system set deferred_segment_creation=FALSE  scope=both sid='*';

--
-- Configure to Protect from Data Corruption
--
alter system reset DB_ULTRA_SAFE                 scope=spfile sid='*';
alter system set db_block_checking="MEDIUM"      scope=spfile sid='*';
alter system set db_block_checksum="TYPICAL"     scope=spfile sid='*';
alter system set db_lost_write_protect="TYPICAL" scope=spfile sid='*';

sql> SHUTDOWN IMMEDIATE
sql>STARTUP
sql> exit


22.Проверка работы приложений.

Проверка работы приложений на новой версии бд


23.Удаление точки отката

Удаляем только если миграция прошла успешно.

sql> SELECT name, scn, time, database_incarnation#, guarantee_flashback_database, storage_size FROM gv$restore_point;
sql>drop restore point RP_1;
SELECT name, scn, time, database_incarnation#, guarantee_flashback_database, storage_size FROM gv$restore_point;


24.Установка нового compatible

-- Setup new compatible mode
alter system set compatible = "12.1.0.2.0" scope=spfile sid='*';

-- Switch off new adaptive features for run in compatible mode 11gR2
alter system set optimizer_adaptive_features=FALSE scope=both sid='*';

sql> SHUTDOWN IMMEDIATE
sql>STARTUP
sql> exit


25.Уведомление о завершении работ.

Завершение работ:
Работы считаются завершенными после успешного выполнения всех пунктов плана работ.


План отката: 

Точку отката не должна быть удалена
Возврат  к RESTORE POINT
sql> shutdown immediate;
sql>startup mount;
sql> flashback database to restore point RP_1;
Flashback complete.

Окончательно откроем базу
SQL> alter database open resetlogs;
sql>drop restore point RP_1;




Комментариев нет:

Отправить комментарий