说明
1. 本博文指的Oracle DG是物理DG或者物理ADG,并非逻辑DG
2. 测试库主库实例名:testdb,备库实例名:testdg
实验环境
搭建平台:VMware Workstation
OS:RHEL 6.10
Grid&DB:Oracle 11.2.0.4
备库安装补丁步骤
1. 禁用主库的redo日志传输
注:如果主库是RAC,需要关闭归档,命令是alter database noarchivelog;
(1)使用DG Broker关闭日志传输
$ dgmgrl sys/sys DGMGRL> show database verbose testdb Database Name: testdb Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): testdb Properties: ### 省略一部分输出 ### Current Status: SUCCESS
DGMGRL> edit database plb_prm set state='LOG-TRANSPORT-OFF';
Succeeded.
(2)使用sqlplus关闭日志传输
$ sqlplus / as sysdba SQL> alter system set log_archive_dest_state_N=defer scope=both sid='*';
注:此参数N的范围是1-29,比如log_archive_dest_state_1对应并控制的参数就是log_archive_dest_1,log_archive_dest_state_2对应并控制的参数就是log_archive_dest_2,以此类推
2. 在备库打补丁
(1)停备库监听
$ lnsrctl stop
(2)停备库(需要停DB实例和ASM实例)
单机ASM:
$ su - root # crsctl stop has
单机非ASM:
$ sqlplus / as sysdba SQL> shu immediate
RAC:
$ su - grid $ srvctl stop listener -n node1 -l listener $ srvctl stop listener -n node2 -l listener $ su - root # crsctl stop cluster -all # crsctl stop has
(3)安装补丁
1)更新OPatch 文件夹
下载6880880补丁,直接解压替换$ORACLE_HOME/OPatch
2)开始安装补丁
$ cd <补丁目录> $ $ORACLE_HOME/OPatch/opatch apply --该命令仅供参考
注:
在备库中只安装补丁到数据库软件,就不需要运行catupgrd.sql/catbundle.sql脚本,因为这部分会通过重做日志应用到备库。
补丁安装方式需要参照补丁中README来,上面例子的只是打通用普通补丁的命令,仅供参考!
3)检查补丁是否安装成功
$ $ORACLE_HOME/OPatch/opatch lsinventory
4)启动备库监听
$ lsnrctl start
5)启动备库
单机ASM:
$ su - root # crsctl start has
单机非ASM:
$ sqlplus / as sysdba SQL> startup
RAC:
$ su - grid $ srvctl start listener -n node1 -l listener $ srvctl start listener -n node2 -l listener $ su - root # crsctl start cluster -all
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69992972/viewspace-2839514/ ,如需转载,请注明出处,否则将追究法律责任。