首页 > 代码库 > Oracle 11.2.0.4.0 Dataguard部署和日常维护(6)-Dataguard Snapshot
Oracle 11.2.0.4.0 Dataguard部署和日常维护(6)-Dataguard Snapshot
1. 检查当前主备库同步状态
- on primary
select ads.dest_id,max(sequence#) "Current Sequence", max(log_sequence) "Last Archived" from v$archived_log al, v$archive_dest ad, v$archive_dest_status ads where ad.dest_id=al.dest_id and al.dest_id=ads.dest_id and al.resetlogs_change#=(select max(resetlogs_change#) from v$archived_log ) group by ads.dest_id; DEST_ID Current Sequence Last Archived ------- ---------------- ------------- 1 73 73 2 73 74
- on standby
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; Thread Last Seq Received Last Seq Applied ---------- ----------------- ---------------- 1 73 73
2. standby配置闪回日志
show parameter db_recovery_file_dest; NAME TYPE VALUE ------------------------------------ --------------------------------- ---------------------------------- db_recovery_file_dest string /u01/app/oracle/fast_recovery_area db_recovery_file_dest_size big integer 4G
3. standby停止应用日志
alter database recover managed standby database cancel;
4. standby转换为snapshot standby
alter database convert to snapshot standby;
5. 将standby启动到open状态
alter database open; select DATABASE_ROLE,name,OPEN_MODE from v$database; DATABASE_ROLE NAME OPEN_MODE -------------------- --------------------------- --------------- SNAPSHOT STANDBY USERDATA READ WRITE
6. 对snapshot standby数据库进行压力测试或者Real Application Testing(RAT)或者其他读写操作
create tablespace usertbs datafile ‘/u01/app/oracle/oradata/userdata/usertbs01.dbf‘ size 50m; select file_name from dba_data_files; FILE_NAME ------------------------------------------------------------ /u01/app/oracle/oradata/userdata/users01.dbf /u01/app/oracle/oradata/userdata/undotbs01.dbf /u01/app/oracle/oradata/userdata/sysaux01.dbf /u01/app/oracle/oradata/userdata/system01.dbf /u01/app/oracle/oradata/userdata/usertbs01.dbf
7. 测试结束后,将snapshot standby转换为physical standby,并且重新开始应用日志
shutdown immediate; startup mount; alter database convert to physical standby; shutdown immediate; startup mount; alter database recover managed standby database using current logfile disconnect from session; select DATABASE_ROLE,name,OPEN_MODE from v$database; DATABASE_ROLE NAME OPEN_MODE -------------------- ---------------------------------- --------------- PHYSICAL STANDBY USERDATA MOUNTED
8. 检查primary库和standby库的日志是同步的
- on primary
alter system archive log current; select ads.dest_id,max(sequence#) "Current Sequence", max(log_sequence) "Last Archived" from v$archived_log al, v$archive_dest ad, v$archive_dest_status ads where ad.dest_id=al.dest_id and al.dest_id=ads.dest_id and al.resetlogs_change#=(select max(resetlogs_change#) from v$archived_log ) group by ads.dest_id; DEST_ID Current Sequence Last Archived ------- ---------------- ------------- 1 78 78 2 78 79
- on standby
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; Thread Last Seq Received Last Seq Applied ---------- ----------------- ---------------- 1 78 78
Oracle 11.2.0.4.0 Dataguard部署和日常维护(6)-Dataguard Snapshot
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。