Oracle数据库灾备演练,需要进行DG主从切换,现将相关步骤及注意点进行整理
一、切换工作准备
提前确保主备库同步正常没有延迟)
检查序列号
检查主备的序列号,保证序列号一致
select max(sequence
检查归档同步情况
查询备库是否有未同步的归档
select name,sequence
检查配置信息
检查备库主机信息配置,主库信息配置
- 内存和SWAP
- CPU
- 相关内核参数,例如hugepage参数
用户连接信息备份
将业务繁忙期的用户连接信息,进行备份,保证切换完成后,每一台应用服务器都能狗正常的链接进来
检查dblink及物化视图
查询所有连接到主库的dblink,保证主库切换完成后,重建相关dblink,刷新相关物化视图
主库物化视图注册信息
dba_registered_mviews
检查dblink
根据之前的dblink信息,通过DDL重建
备份配置文件
备份tnsnames.ora、init_SID.ora
检查失效对象
查询,备份主库的对象信息
objects total
select owner,object_type,count(1) from dba_objects where status<>'VALID' group by owner,object_type;
objects detail
select owner,object_type,object_name,subobject_name,'BEFORE' flag from dba_objects where status<>'VALID' order by owner,object_type,object_name;
indexes
select owner as index_owner,index_name,index_type,table_owner,table_name,status from dba_indexes where status='UNUSABLE' order by owner,index_name,table_name;
停止JOB
切换前需要将job停止,防止在切换过程中,由于job的执行造成数据以常,影响数据库的完整性
alter system set job_queue_processes=0;
锁定用户
准备工作完成,锁定用户,防止用户操作
检查有无活动连接
所有节点都需要进行如下操作
ps -ef|grep sqlplus
kill session,LOCAL=no
二、切换工作开始
RAC保留节点1,其他节点shutdown immediate
查看主库状态
通过节点1查看数据库当前switchover_status
select database_role,switchover_status from v$database;
查看备库状态
查看备库当前switchover_status
select database_role,switchover_status from v$database;
主库切换
将主库切换成备库节点一
alter database commit to switchover to physical standby with session shutdown;
select database_role,switchover_status from v$database;
alter database recover managed standby database disconnect from session parallel 2;
备库切换
将备库切换为主库节点一
select database_role,switchover_status from v$database;
alter database commit to switchover to primary with session shutdown;
alter database open;
select database_role,switchover_status from v$database;
启动备库
启动备库节点二
startup
三、切换工作收尾
关于OGG
原主库如部署了OGG,可以进行如下操作
主方案
打包原生产OGG目录(/goldengate)拷贝至原备库
- 远端关闭数据库后,关闭ogg抽取、传输进程
- 目标端追平后,关闭复制进程
- 源端打包ogg目录拷贝至目标端
- switchover后源端抽取落地trail文件号+1
- pump进程传输trail文件号+1
- 启动源端抽取和传输进程
- 目标端复制进程trail文件号+1
- 启动复制进程
备方案
主方案失败,重新初始化OGG同步
解锁用户
切换完成后,将锁定的用户解锁
启用JOB参数
alter system set job_qwueue_processes=10;
show parameter job
dblink物化视图
根据之前查出的相关dblink,以及物化视图进行处理
失效对象对比
进行新主库和老库的失效对象对比
检查新主备库日志同步情况
主库
alter system switch logfile;
select * from v$log;
备库
select process,status,thread
检查告警日志
查看alert日志,确保日志正常,同步正常
备份
一切正常后,进行rman备份(或者备份软件进行全备)
|