1.1
检查D
G
同步情况
检查DG同步进程状态:
SQL> select process, status,sequence#,block#,blocks, delay_mins from v$managed_standby;
检查DG日志同步延时情况:
SQL> select thread#,max(sequence#) from gv$archived_log group by thread#;
SQL> select thread#,max(sequence#) from gv$archived_log where applied='YES' group by thread#;
SQL> shutdown immediate;
SQL> select name,database_role,switchover_status from v$database;
SQL> alter database commit to switchover to physical standby with session shutdown;
SQL> select name,database_role,switchover_status from v$database;
SQL> alter database commit to switchover to primary;
SQL> alter database open;
如果是switchover_status 列时"NOT ALLOWED"表示归档还没有应用完成,可以等待一段时间;如果日志全部应用了再查看角色转换状态;如果角色转换状态是TO PRIMARY,那么表示可以进行角色转换。执行从转主的命令,命令执行成功后,数据库的状态会变为mount。
Shell> su – oracle
Shell> sqlplus / as sysdba
SQL> startup
在节点1上开启MRP
SQL> startup
SQL> alter database recover managed standby database using current logfile disconnect from session;
在节点2直接启动
SQL> startup
检查DG同步进程状态:
SQL> select process, status,sequence#,block#,blocks, delay_mins from v$managed_standby;
检查DG日志同步延时情况:
SQL> select thread#,max(sequence#) from gv$archived_log group by thread#;
SQL> select thread#,max(sequence#) from gv$archived_log where applied='YES' group by thread#;
第2部分
1节点:
Vi /etc/hosts
192.168.17.101 racdb1
192.168.17.13 racdb1-vip
10.253.253.101 racdb1-priv
192.168.17.102 racdb2
192.168.17.14 racdb2-vip
10.253.253.102 racdb2-priv
192.168.17.15 orcl-scan
2节点:
Vi /etc/hosts
192.168.17.101 racdb1
192.168.17.13 racdb1-vip
10.253.253.101 racdb1-priv
192.168.17.102 racdb2
192.168.17.14 racdb2-vip
10.253.253.102 racdb2-priv
192.168.17.15 orcl-scan
[grid@racdb2 ~]$/u01/app/12.2/grid/bin/srvctl stop scan_listener
[grid@racdb2 ~]$/u01/app/12.2/grid/bin/srvctl stop scan
[grid@racdb2 ~]$/u01/app/12.2/grid/bin/srvctl status scan
[grid@racdb2 ~]$ srvctl stop listener
[grid@racdb2 ~]$ srvctl stop vip -n racdb1
[grid@racdb2 ~]$ srvctl stop vip -n racdb2
[root@racdb1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.17.101
GATEWAY=192.168.17.254
[root@racdb1 ~]# ifdown eth0
[root@racdb1 ~]# ifup eth0
[root@racdb1 ~]# ip a
[root@racdb2 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.17.102
GATEWAY=192.168.17.254
[root@racdb2 ~]# ifdown eth0
[root@racdb2 ~]# ifup eth0
[root@racdb2 ~]# ip a
[root@racdb1 ~]# /u01/app/12.2/grid/bin/oifcfg delif -global eth0
[root@racdb1 ~]# /u01/app/12.2/grid/bin/oifcfg setif -global eth0/192.168.17.0:public
[root@racdb1 ~]# /u01/app/12.2/grid/bin/srvctl modify nodeapps -n racdb1 -A 192.168.17.13/255.255.255.0/eth0
[root@racdb1 ~]# /u01/app/12.2/grid/bin/srvctl modify nodeapps -n racdb2 -A 192.168.17.14/255.255.255.0/eth0
[root@racdb1 ~]# /u01/app/12.2/grid/bin/srvctl config vip -n racdb1
VIP exists: /racdb1-vip/192.168.17.13/192.168.0.0/255.255.255.0/eth0, hosting node racdb1
[root@racdb1 ~]# /u01/app/12.2/grid/bin/srvctl config vip -n racdb2
VIP exists: /racdb2-vip/192.168.17.14/192.168.0.0/255.255.255.0/eth0, hosting node racdb2
[root@racdb1 ~]# /u01/app/12.2/grid/bin/srvctl modify scan -n 192.168.17.15
[root@racdb1 ~]# /u01/app/12.2/grid/bin/srvctl start vip -n racdb1
[root@racdb1 ~]# /u01/app/12.2/grid/bin/srvctl start vip -n racdb2
[root@racdb1 ~]# /u01/app/12.2/grid/bin/srvctl start listener
[root@racdb1 ~]#/u01/app/12.2/grid/bin/srvctl start scan
[root@racdb1 ~]#/u01/app/12.2/grid/bin/srvctl start scan_listener
第3部分
SQL> shutdown immediate
或者
Shell> shutdown -h now
Shell> sqlplus / as sysdba
SQL> alter database activate standby database;
注:由于老生产库环境处于备库角色,因此在极端情况下,可以直接强制打开,恢复业务。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30310891/viewspace-2946969/ ,如需转载,请注明出处,否则将追究法律责任。