一、检查空间是否充足
查看本地空闲磁盘空间 df -h #查看ASM磁盘空间 su - grid asmcmd lsdg
二、容灾同步状态检查
c hive log current; --主备库均可执行,SEQ需一致
SELECT AL.THRD "Thread", ALMAX "Last Seq Received", LHMAX "Last Seq Applied" FROM (SELECT THREAD# THRD, MAX(SEQUENCE#) ALMAX FROM V$ARCHIVED_LOG WHERE RESETLOGS_CHANGE# = (SELECT RESETLOGS_CHANGE# FROM V$DATABASE) GROUP BY THREAD#) AL, (SELECT THREAD# THRD, MAX(SEQUENCE#) LHMAX FROM V$LOG_HISTORY WHERE RESETLOGS_CHANGE# = (SELECT RESETLOGS_CHANGE# FROM V$DATABASE) GROUP BY THREAD#) LH WHERE AL.THRD = LH.THRD;
--备库执行,查看是否有同步延迟 select value from v$dataguard_stats where name='apply lag';
三、断开容灾
检查闪回状态(主库)
闪回路径放在ASM盘的时候,路径只能写第一层,比如+DATA,不然会报错无法启动实例。 alter system set db_recovery_file_dest_size=200G scope=both; ###开启闪回步骤,需要关闭数据库。 --双节点关闭 shutdown immediate; --单节点mount startup mount; --开启闪回 alter database flashback on; select flashback_on from v$database;
备库操作
2.2.1 备库创建闪回区大小
alter system set db_recovery_file_size = 4096m; -- 根据实际空间情况调整
alter system set db_recovery_file_dest='/u01/flash_standby';
2.2.2 停止mrp进程
alter database recover managed standby database cancel;
2.2.3 切换备库状态
alter database convert to snapshot standby;
确认状态
select open_mode,datbase_role from v$database;
2.2 创建闪回点(主库)
闪回至闪回点(主库)
备库重新关闭打开即可恢复应用
Shutdown immediat
Startup mount
alter database recover managed standby database using current logfile disconnect from session;
四、逻辑导出
逻辑导出脚本
导出全库 后台执行,备库需要在只读模式下才可以进行exp导出。 nohup exp user/password file=/backup/data_ 数据库名 .dmp log=/backup/exp.log full=y &
