AutoUpgrade and Data Guard - denis-kol4ev/OraDBA GitHub Wiki
- Обновление с 12.2 на 19.10.
- Primary хост angel, БД angel_orcl
- Standby хост devil, БД devil_orcl
srvctl stop database -d devil_orcl -stopoption immediate
srvctl disable database -d devil_orcl
AutoUpgrade определяет конфигурацию Data Guard и автоматически выполняет следующее:
- выставляет состояние primary TRANSPORT-OFF
- файлы брокера копируются в целевой хоум
Для этого в файл конфигурации добавляем параметр defer_standby_log_shipping
vi /home/oracle/sample_config.cfg
global.autoupg_log_dir=/opt/oracle/cfgtoollogs/autoupgrade
upg1.log_dir=/opt/oracle/cfgtoollogs/autoupgrade
upg1.sid=orcl
upg1.source_home=/opt/oracle/rdbms/12.2
upg1.target_home=/opt/oracle/rdbms/19c
upg1.start_time=NOW
upg1.upgrade_node=angel
upg1.run_utlrp=yes
upg1.timezone_upg=yes
upg1.remove_underscore_parameters=yes
upg1.defer_standby_log_shipping=yes
export ORACLE_HOME=/opt/oracle/rdbms/19c
$ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -version
- Oracle recommends that you download the most recent version of the AutoUpgrade Utility from My Oracle Support Document 2485457.1
$ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config /home/oracle/sample_config.cfg -mode analyze
$ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config /home/oracle/sample_config.cfg -mode deploy
cмотрим логи выполнения
tail -100f /opt/oracle/cfgtoollogs/autoupgrade/cfgtoollogs/upgrade/auto/autoupgrade.log
tail -100f /opt/oracle/cfgtoollogs/autoupgrade/orcl/<job_number>/autoupgrade_<upgrade_date>_user.log
tail -100f /opt/oracle/cfgtoollogs/autoupgrade/orcl/106/autoupgrade_20220212_user.log
Если AutoUpgrade отработал успешно, то вывод по завершению будет такой
upg> Job 107 completed
------------------- Final Summary --------------------
Number of databases [ 1 ]
Jobs finished [1]
Jobs failed [0]
Jobs pending [0]
---- Drop GRP at your convenience once you consider it is no longer needed ----
Drop GRP from orcl: drop restore point AUTOUPGRADE_9212_ANGEL_ORCL122010
---- Data Guard broker configuration is disabled. Enable it once ready to sync up standby database ----
Enable Data Guard from angel_orcl using the following DGMGRL command:
EDIT DATABASE angel_orcl SET STATE=TRANSPORT-ON;
Please check the summary report at:
/opt/oracle/cfgtoollogs/autoupgrade/cfgtoollogs/upgrade/auto/status/status.html
/opt/oracle/cfgtoollogs/autoupgrade/cfgtoollogs/upgrade/auto/status/status.log
oracle@angel ~ $
Дополнительная проверка по отдельным этапам апгрейда
egrep -i "Stage|Status" /opt/oracle/cfgtoollogs/autoupgrade/cfgtoollogs/upgrade/auto/status/status.log
rman target /
list restore point all;
drop restore point AUTOUPGRADE_9212_ANGEL_ORCL122010;
sqlplus / as sysdba
show parameter compatible;
alter system set compatible='19.0.0' scope=spfile;
srvctl stop database -d angel_orcl
srvctl start database -d angel_orcl
В listener.ora меняем ORACLE_HOME в статическом сервисе листнера SID_LIST_LISTENER на актуальный, перезагружаем листнер (lsnrctl reload)
В listener.ora меняем ORACLE_HOME в статическом сервисе листнера SID_LIST_LISTENER на актуальный, перезагружаем листнер (lsnrctl reload)
export ORACLE_UNQNAME=devil_orcl
export OLD_HOME=/opt/oracle/rdbms/12.2
export ORACLE_HOME=/opt/oracle/rdbms/19c
export PATH=$ORACLE_HOME/bin:$PATH
cp $OLD_HOME/network/admin/sqlnet.ora $ORACLE_HOME/network/admin
cp $OLD_HOME/network/admin/tnsnames.ora $ORACLE_HOME/network/admin
cp $OLD_HOME/dbs/orapw$ORACLE_SID $ORACLE_HOME/dbs
cp $OLD_HOME/dbs/spfile$ORACLE_SID.ora $ORACLE_HOME/dbs
cp $OLD_HOME/dbs/dr1$ORACLE_UNQNAME.dat $ORACLE_HOME/dbs
cp $OLD_HOME/dbs/dr2$ORACLE_UNQNAME.dat $ORACLE_HOME/dbs
sqlplus / as sysdba
startup nomount
show parameter compatible;
alter system set compatible='19.0.0' scope=spfile;
shutdown
srvctl upgrade database -d $ORACLE_UNQNAME -oraclehome $ORACLE_HOME
srvctl modify database -d $ORACLE_UNQNAME -startoption MOUNT -role PHYSICAL_STANDBY
srvctl modify database -d $ORACLE_UNQNAME -spfile
srvctl enable database -d $ORACLE_UNQNAME
srvctl start database -d $ORACLE_UNQNAME
dgmgrl sys@angel
SHOW DATABASE angel_orcl;
EDIT DATABASE angel_orcl SET STATE=TRANSPORT-ON;
SHOW DATABASE angel_orcl 'LogXptStatus';
SHOW DATABASE devil_orcl;
srvctl modify database -d devil_orcl -startoption "READ ONLY" -role PHYSICAL_STANDBY
srvctl stop database -d devil_orcl
srvctl start database -d devil_orcl