Oracle DataGuard 升级 [11.2.0.1

Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4]
Primary: 11.2.0.1 单机,Site A。
Standby: 11.2.0.1 单机,Site B、Site C。
当前DG环境示意图:

DG环境


需求:升级至11.2.0.4
升级思路:
主库暂停归档传输;备库安装新版本软件,备库启动到mount;主库安装软件,主库升级数据库,主库启用归档传输,备库开启日志恢复。

注意:
11g新版本软件安装到一个新目录下,注意copy之前的spfile、密码文件、network file等(监听配置文件的静态监听部分需要修改);
备库只升级软件版本。数据库升级是通过主库升级后通过应用主库归档完成升级和同步的。

1.主库暂停归档向备库传输

2.备库在新目录下安装新版本软件

3.备库启动到mount状态

4.主库安装软件,升级数据库

5.主库启用归档向备库传输

6.备库开启日志恢复

7.检查备库、主库升级情况

8.定时任务检查修正

1.主库暂停归档向备库传输

show parameter log_archive_dest_state_X
alter system set log_archive_dest_state_X=defer scope=both sid='*';

这里是暂停Site A的主库的log_archive_dest_state_2和log_archive_dest_state_3

show parameter log_archive_dest_state_2 show parameter log_archive_dest_state_3 alter system set log_archive_dest_state_2=defer scope=both sid='*'; alter system set log_archive_dest_state_3=defer scope=both sid='*'; 2.备库在新目录下安装新版本软件

2.1 关闭数据库,监听。

shutdown immediate lsnrctl stop

2.2 备库在新目录下安装Oracle 11.2.0.4 软件。
两个备库操作方法一样,以Site C为例:
--Site C:

--创建新的$ORACLE_HOME目录 $ mkdir -p /u01/app/oracle/product/11.2.0.4/dbhome_1 --编辑oracle用户环境变量,修改ORACLE_HOME变量值为新的目录 vi ~/.bash_profile export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1 3.备库启动到mount状态

环境变量修改为新目录 ORACLE_HOME 11.2.0.4
新目录注意copy之前的spfile和network file(tnsnames.ora listener.ora)等

两个备库操作方法一样,以Site C为例:
--Site C:

--network file(tnsnames.ora listener.ora sqlnet.ora) [oracle@oracle2 admin]$ cp /u01/app/oracle/product/11.2.0/network/admin/*.ora /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/ --SPFILE cp /u01/app/oracle/product/11.2.0/dbs/spfileorcl.ora /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/

启动数据库到mount状态,启动监听。

4.主库安装软件,升级数据库

安装、升级相关过程:

4.1 备份数据库
升级是一个很大的动作,升级前需要事先备份数据库。

--rman.sql more rman.sql run{ allocate channel d1 TYPE disk; allocate channel d2 TYPE disk; allocate channel d3 TYPE disk; allocate channel d4 TYPE disk; backup as compressed backupset database format '/home/oradata/rman/data_%d_%T_%s.bak' plus archivelog format '/home/oradata/rman/arch_%d_%T_%s.bak'; release channel d1; release channel d2; release channel d3; release channel d4; } --rman.sh cat rman.sh #!/bin/bash export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0 export ORACLE_SID=orcl export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin rman target / @/home/oradata/rman/rman.sql log=/home/oradata/rman/rman.log --nohup 执行 备份数据库 nohup sh rman.sh &

4.2 关闭数据库,监听
停止监听,关闭数据库:

$ lsnrctl stop SQL> shutdown immediate

4.3 新目录下安装新版本软件
主库:

./runInstaller 图形安装新版本软件(upgrade)。
root需要执行的脚本按提示执行。
注意,监听程序不需要配置。

4.4 旧版本软件执行升级检查
在11.2.0.1的sqlplus 执行11.2.0.4的utlu112i.sql,进行升级检查。

$ sqlplus / as sysdba SQL> startup SQL> SPOOL upgrade_info.log SQL> @/u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/utlu112i.sql SQL> SPOOL OFF

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ab73e937a57c092e3ffa408a98b955a9.html