本例中从Oracle 19.3升级到19.17。 基本步骤是,备库先对Oracle Home打补丁,然后再打主库的Oracle Home,接着对主库的database进行升级,然后开启DG,使备库自动同步升级。
停止DG
DGMGRL> edit database o19 set state='TRANSPORT-OFF'; Succeeded. DGMGRL> edit database o19dg set state='APPLY-OFF'; Succeeded.
如果因保护模式失败,需要将保护模式改为最高性能:
DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MaxPerformance; Succeeded.
2. 备库先打补丁,打完启动到mount
shutdown immediate lsnrctl stop opatch apply lsnrctl start startup mount
3. 然后主库打补丁,打完以限制模式启动(有PDB的话要启动所有PDB)
shutdown immediate lsnrctl stop opatch apply startup restrict
4. 升级数据库
cd $ORACLE_HOME/OPatch ./datapatch -verbose
5. 恢复DG,备库自动同步升级
#在主库上操作 lsnrctl start alter system register; alter system disable restricted session; DGMGRL> edit database o19 set state='TRANSPORT-ON'; Succeeded. DGMGRL> edit database o19dg set state='APPLY-ON'; Succeeded. #另外酌情设置保护模式
6. 备库此时可以正常open7. 确认结果
opatch lsinventory
