kaiyun.com Oracle DataGuard GAP 诞新手册

栏目分类kaiyun.com Oracle DataGuard GAP 诞新手册

你的位置:kaiyuan体育 > 新闻中心 >

kaiyun.com Oracle DataGuard GAP 诞新手册

发布日期:2023-12-09 13:33    点击次数:81
[[442207]] 序论

DG GAP 顾名念念义即是:DG不同步,当备库不可收受到一个或多个主库的存档日记文献时候,就发生了 GAP。

那么,如若遭遇GAP奈何诞生呢?且听我细细谈来~

一、先容

DG GAP 主要分为以下两类情况:

1、主库存档日记存在,不错通过设置 Fetch Archive Log(FAL) 参数,自动督察存档 GAP。2、主库存档日记丢失,需要 东谈主工烦躁 来诞生。

不同 Oracle 版块的 GAP 诞生方法也不尽换取,底下分手先容不同版块的方法!

11G 的处理门径:

a.在主库上创建一个备库的范围文献

b.以备库确面前SCN号为着手,在主库上作念一个增量备份

c.将增量备份拷贝到备库上

d.使用新的范围文献将备库启动到mount现象

e.将增量备份注册到RMAN的catalog,取消备库的还原哄骗,还原增量备份

f.开启备库的还原程度

12C 的新特点(RECOVER … FROM SERVICE)

18C 的新特点(RECOVER STANDBY DATABASE FROM SERVICE)

Oracle跟着版块的升级,渐渐将门径缩减,进行封装,18C之后可谓是达到了所谓的一键刷新,还原DG同步。

二、实战

底下咱们通过实际来进行演示奈何诞生:

11G惯例诞生 12C新特点(RECOVER … FROM SERVICE)诞生 18C新特点(RECOVER STANDBY DATABASE FROM SERVICE)诞生 三、11G惯例诞生

最初,模拟备库断电,主库切几个最新的存档,然后手工删掉,再行开启DG同步。

备库住手DG同步程度:

sqlplus kaiyun.com/ as sysdba ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; shutdown immediate 

主库切换屡次存档:

sqlplus / as sysdba alter system switch logfile; 

主库删除最近几个存档日记:

rm 1_34_1070147137.arc  rm 1_33_1070147137.arc 

备库开启同步程度:

startup ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; 

稽察GAP:

sqlplus / as sysdba SELECT * FROM V$ARCHIVE_GAP; THREAD#    LOW_SEQUENCE# HIGH_SEQUENCE# ---------- ------------- --------------  1     32     34  SELECT max(sequence#) from v$archived_log where applied='YES'; MAX(SEQUENCE#) -------------- 31 

📢 详确: 面前DG数据库已存在GAP,GAP日记为:32---34。

a.在主库上创建一个备库的范围文献

alter database create standby controlfile as '/tmp/standby.ctl'; 

b.以备库确面前SCN号为着手,在主库上作念一个增量备份备库查询面前 scn 号:

sqlplus / as sysdba select  to_char(current_scn) from v$database; TO_CHAR(CURRENT_SCN) ---------------------------------------- 1086639 

说明主备GAP期间是否新增数据文献:

sqlplus / as sysdba select file# from v$datafile where creation_change# > =1086639; 

主库字据备库scn号进行增量备份:

rman target / run{ allocate channel c1 type disk; allocate channel c2 type disk; backup INCREMENTAL from scn 1086639 database format '/tmp/incre_%U'; release channel c1; release channel c2; } 

📢 详确: 如若存在新增数据文献,备库还原时需要先restore新添加的数据文献。

c.将增量备份和范围文献拷贝到备库上主库拷贝增量备份和范围文献你至备库:

scp incre_0* oracle@orcl_stby:/home/oracle scp standby.ctl oracle@orcl_stby:/home/oracle 

📢 详确: 说明备库的磁盘空间是否糜掷存放。

d.使用新的范围文献将备库启动到mount现象备库关闭数据库实例,开启至nomount现象:

sqlplus / as sysdba shutdown immediate startup nomount 

备库还原新的范围文献:

rman target / restore controlfile from '/home/oracle/standby.ctl'; 

备库开启到mount现象:

alter database mount; 

e.增量备份注册到RMAN的catalog,取消日记哄骗,还原增量备份说明备库已关闭DG同步程度:

sqlplus / as sysdba ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 

备库rman注册增量备份文献:

rman target / catalog start with '/home/oracle/'; YES 

备库开启还原增量备份:

recover database noredo; 

f.开启备库的还原程度备库开启日记同步程度:

sqlplus / as sysdba alter database open read only; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; 

主库再行激活同步:

sqlplus / as sysdba ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=defer; ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=enable; 

查询是否存在GAP,说明主备是否同步:

sqlplus / as sysdba SELECT * FROM V$ARCHIVE_GAP; SELECT max(sequence#) from v$archived_log where applied='YES'; SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY; 

至此,DG GAP已被诞生,以上方法为惯例诞生方法,各个版块王人通用。

四、12C新特点诞生

最初,模拟备库断电,主库切几个最新的存档,然后手工删掉,再行开启DG同步。

模拟GAP期间,稀有据文献添加的情况:

##主库添加数据文献 alter tablespace TEST add datafile '/oradata/ORCL/test02.dbf' size 100M autoextend off; 

📢 详确: 面前DG数据库已存在GAP,GAP日记为:30---31 。

a.纪录备库面前SCN号备库纪录面前 scn 号:

sqlplus / as sysdba SELECT CURRENT_SCN FROM V$DATABASE; CURRENT_SCN ----------- 2600487 

b.使用recover standby using service还原接管rman的新功能,recover standby using service,通过RMAN贯穿到target备库,然后用主库的service扩充还原备库呐喊。

语法:

RECOVER DATABASE FROM SERVICE < PRIMARY DB SERVICE NAME > NOREDO USING COMPRESSED BACKUPSET;

📢 详确: 说明主库的TNS已设置,这里的< PRIMARY DB SERVICE NAME >即 TNSNAME。

c.备库启动到nomount现象,还原范围文献备库启动到nomount现象:

sqlplus / as sysdba shutdown immediate startup nomount 

备库通过from service还原范围文献:

rman target / restore standby controlfile from service orcl; 

备库开启到mount现象:

sqlplus / as sysdba alter database mount; 

d.备库还原,诞生GAP查验主备GAP期间是否添加数据文献:

sqlplus / as sysdba select file# from v$datafile where creation_change# > =2600487;  FILE# ---------- 13 

restore 新添加的数据文献:

rman target / run { SET NEWNAME FOR DATABASE TO '/oradata/ORCL_STBY/%f_%U'; RESTORE DATAFILE 13 FROM SERVICE orcl; } 

由于主备的数据文献目次不一致,需要修改controlfile中数据文献位置:

rman target / catalog start with '/oradata/ORCL_STBY'; YES SWITCH DATABASE TO COPY; 

将备库文献督察方法改为手动:

sqlplus / as sysdba alter system set standby_file_management=MANUAL; 

重定名 tempfile && logfile:

sqlplus / as sysdba ##logfile alter database clear logfile group 1; alter database clear logfile group 2; alter database clear logfile group 3; alter database clear logfile group 4; alter database clear logfile group 5; alter database clear logfile group 6; alter database clear logfile group 7; alter database rename file '/oradata/ORCL/redo03.log' to '/oradata/ORCL_STBY/redo03.log'; alter database rename file '/oradata/ORCL/redo02.log' to '/oradata/ORCL_STBY/redo02.log'; alter database rename file '/oradata/ORCL/redo01.log' to '/oradata/ORCL_STBY/redo01.log'; alter database rename file '/oradata/ORCL/standby_redo04.log' to '/oradata/ORCL_STBY/standby_redo04.log'; alter database rename file '/oradata/ORCL/standby_redo05.log' to '/oradata/ORCL_STBY/standby_redo05.log'; alter database rename file '/oradata/ORCL/standby_redo06.log' to '/oradata/ORCL_STBY/standby_redo06.log'; alter database rename file '/oradata/ORCL/standby_redo07.log' to '/oradata/ORCL_STBY/standby_redo07.log'; ##tempfile alter database rename file '/oradata/ORCL/temp01.dbf' to '/oradata/ORCL_STBY/temp01.dbf'; alter database rename file '/oradata/ORCL/pdbseed/temp012021-04-11_06-13-50-844-AM.dbf' to '/oradata/ORCL_STBY/pdbseed/temp012021-04-11_06-13-50-844-AM.dbf'; alter database rename file '/oradata/ORCL/BFA6BEE45A1E3605E053AC01A8C0DD20/datafile/o1_mf_temp_j749f5fy_.dbf' to '/oradata/ORCL_STBY/BFA6BEE45A1E3605E053AC01A8C0DD20/datafile/o1_mf_temp_j749f5fy_.dbf'; 

备库重定名完后再改为自动:

sqlplus / as sysdba alter system set standby_file_management=AUTO; 

还原主备GAP:

recover database from service orcl noredo using compressed backupset; 

📢 详确: 如若主备库文献目次不一致,则需要catalog切换范围文献中旅途,不然报错:

e.开启备库日记哄骗,查验同步查验主备scn是否一致

sqlplus / as sysdba col HXFNM for a100 set line222 select HXFIL File_num,substr(HXFNM,1,40) HXFNM,fhscn from x$kcvfh; 

主库切几次存档

sqlplus / as sysdba ALTER SYSTEM ARCHIVE LOG CURRENT; ALTER SYSTEM SWITCH LOGFILE; 

开启备库哄骗日记

sqlplus / as sysdba alter database open; alter pluggable database all open; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; 

稽察备库同步是否平日

sqlplus / as sysdba set line222 col member for a60 select t1.group#,t1.thread#,t1.bytes/1024/1024,t1.status,t2.member from gv$standby_log t1,gv$logfile t2 where t1.group#=t2.group#; 

主库插入数据

sqlplus test/test@pdb01 insert into test values (999); commit; 

备库查询是否及时同步

alter session set container=pdb01; select * from test.test; ID ---------- 1 2 999 

至此,GAP已诞生完成,不错发现,12C这个新特点,将一些门径进行了概略和封装,进一步减少了咱们的操作门径,然则里面的旨趣仍然是一致的。

五、18C新特点还原

18C 新特点是在 12C 的基础上,将 RECOVER STANDBY DATABASE 呐喊与 FROM SERVICE 子句悉数使用,以通过对主数据库进行的鼎新来刷新物理备用数据库。备库不错径直在开启现象进行刷新。

语法:

RECOVER STANDBY DATABASE FROM SERVICE primary_db;

最初,模拟备库断电,主库切几个最新的存档,然后手工删掉,再行开启DG同步。

模拟GAP期间,稀有据文献添加的情况:

##主库添加数据文献 alter tablespace TEST add datafile '/oradata/ORCL/test02.dbf' size 100M autoextend off; 

📢 详确: 面前 DG 数据库已存在 GAP,GAP 日记为:69---70。

a、扩充RECOVER STANDBY DATABASE FROM SERVICE刷新备库底下演示一下,奈何使用一溜呐喊在线诞生DG GAP:

备库取消日记哄骗:

sqlplus / as sysdba ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 

备库扩充诞生呐喊,驱动在线刷新备库:

rman target / RMAN> RECOVER STANDBY DATABASE FROM SERVICE orcl;  Starting recover at 19-APR-21 using target database control file instead of recovery catalog Oracle instance started  Total System Global Area3355441944 bytes  Fixed Size 9141016 bytes Variable Size671088640 bytes Database Buffers2667577344 bytes Redo Buffers   7634944 bytes  contents of Memory Script: {    restore standby controlfile from service  'orcl';    alter database mount standby database; } executing Memory Script  Starting restore at 19-APR-21 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=502 device type=DISK  channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service orcl channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:02 output file name=/oradata/ORCL_STBY/control01.ctl output file name=/oradata/ORCL_STBY/control02.ctl Finished restore at 19-APR-21  released channel: ORA_DISK_1 Statement processed Executing: alter system set standby_file_management=manual  contents of Memory Script: { set newname for tempfile  1 to   "/oradata/ORCL_STBY/temp01.dbf"; set newname for tempfile  2 to   "/oradata/ORCL_STBY/pdbseed/temp012021-04-11_06-13-50-844-AM.dbf"; set newname for tempfile  3 to   "/oradata/ORCL_STBY/BFA6BEE45A1E3605E053AC01A8C0DD20/datafile/o1_mf_temp_j749f5fy_.dbf";    switch tempfile all; set newname for datafile  1 to   "/oradata/ORCL_STBY/system01.dbf"; set newname for datafile  3 to   "/oradata/ORCL_STBY/sysaux01.dbf"; set newname for datafile  4 to   "/oradata/ORCL_STBY/undotbs01.dbf"; set newname for datafile  5 to   "/oradata/ORCL_STBY/pdbseed/system01.dbf"; set newname for datafile  6 to   "/oradata/ORCL_STBY/pdbseed/sysaux01.dbf"; set newname for datafile  7 to   "/oradata/ORCL_STBY/users01.dbf"; set newname for datafile  8 to   "/oradata/ORCL_STBY/pdbseed/undotbs01.dbf"; set newname for datafile  9 to   "/oradata/ORCL_STBY/PDB01/o1_mf_system_j749f5d5_.dbf"; set newname for datafile  10 to   "/oradata/ORCL_STBY/PDB01/o1_mf_sysaux_j749f5fw_.dbf"; set newname for datafile  11 to   "/oradata/ORCL_STBY/PDB01/o1_mf_undotbs1_j749f5fx_.dbf"; set newname for datafile  12 to   "/oradata/ORCL_STBY/test01.dbf"; set newname for datafile  14 to   "/oradata/ORCL/test02.dbf";    restore from service  'orcl' datafile 14;    catalog datafilecopy  "/oradata/ORCL_STBY/system01.dbf",   "/oradata/ORCL_STBY/sysaux01.dbf",   "/oradata/ORCL_STBY/undotbs01.dbf",   "/oradata/ORCL_STBY/pdbseed/system01.dbf",   "/oradata/ORCL_STBY/pdbseed/sysaux01.dbf",   "/oradata/ORCL_STBY/users01.dbf",   "/oradata/ORCL_STBY/pdbseed/undotbs01.dbf",   "/oradata/ORCL_STBY/PDB01/o1_mf_system_j749f5d5_.dbf",   "/oradata/ORCL_STBY/PDB01/o1_mf_sysaux_j749f5fw_.dbf",   "/oradata/ORCL_STBY/PDB01/o1_mf_undotbs1_j749f5fx_.dbf",   "/oradata/ORCL_STBY/test01.dbf",   "/oradata/ORCL/test02.dbf";    switch datafile all; } executing Memory Script  executing command: SET NEWNAME  executing command: SET NEWNAME  executing command: SET NEWNAME  renamed tempfile 1 to /oradata/ORCL_STBY/temp01.dbf in control file renamed tempfile 2 to /oradata/ORCL_STBY/pdbseed/temp012021-04-11_06-13-50-844-AM.dbf in control file renamed tempfile 3 to /oradata/ORCL_STBY/BFA6BEE45A1E3605E053AC01A8C0DD20/datafile/o1_mf_temp_j749f5fy_.dbf in control file  executing command: SET NEWNAME  executing command: SET NEWNAME  executing command: SET NEWNAME  executing command: SET NEWNAME  executing command: SET NEWNAME  executing command: SET NEWNAME  executing command: SET NEWNAME  executing command: SET NEWNAME  executing command: SET NEWNAME  executing command: SET NEWNAME  executing command: SET NEWNAME  executing command: SET NEWNAME  Starting restore at 19-APR-21 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=504 device type=DISK  channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service orcl channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00014 to /oradata/ORCL/test02.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:03 Finished restore at 19-APR-21  cataloged datafile copy datafile copy file name=/oradata/ORCL_STBY/system01.dbf RECID=4 STAMP=1070263316 cataloged datafile copy datafile copy file name=/oradata/ORCL_STBY/sysaux01.dbf RECID=5 STAMP=1070263317 cataloged datafile copy datafile copy file name=/oradata/ORCL_STBY/undotbs01.dbf RECID=6 STAMP=1070263317 cataloged datafile copy datafile copy file name=/oradata/ORCL_STBY/pdbseed/system01.dbf RECID=7 STAMP=1070263317 cataloged datafile copy datafile copy file name=/oradata/ORCL_STBY/pdbseed/sysaux01.dbf RECID=8 STAMP=1070263318 cataloged datafile copy datafile copy file name=/oradata/ORCL_STBY/users01.dbf RECID=9 STAMP=1070263318 cataloged datafile copy datafile copy file name=/oradata/ORCL_STBY/pdbseed/undotbs01.dbf RECID=10 STAMP=1070263318 cataloged datafile copy datafile copy file name=/oradata/ORCL_STBY/PDB01/o1_mf_system_j749f5d5_.dbf RECID=11 STAMP=1070263318 cataloged datafile copy datafile copy file name=/oradata/ORCL_STBY/PDB01/o1_mf_sysaux_j749f5fw_.dbf RECID=12 STAMP=1070263318 cataloged datafile copy datafile copy file name=/oradata/ORCL_STBY/PDB01/o1_mf_undotbs1_j749f5fx_.dbf RECID=13 STAMP=1070263318 cataloged datafile copy datafile copy file name=/oradata/ORCL_STBY/test01.dbf RECID=14 STAMP=1070263318 cataloged datafile copy datafile copy file name=/oradata/ORCL/test02.dbf RECID=15 STAMP=1070263318  datafile 14 switched to datafile copy input datafile copy RECID=15 STAMP=1070263318 file name=/oradata/ORCL/test02.dbf datafile 1 switched to datafile copy input datafile copy RECID=4 STAMP=1070263316 file name=/oradata/ORCL_STBY/system01.dbf datafile 3 switched to datafile copy input datafile copy RECID=5 STAMP=1070263317 file name=/oradata/ORCL_STBY/sysaux01.dbf datafile 4 switched to datafile copy input datafile copy RECID=6 STAMP=1070263317 file name=/oradata/ORCL_STBY/undotbs01.dbf datafile 5 switched to datafile copy input datafile copy RECID=7 STAMP=1070263317 file name=/oradata/ORCL_STBY/pdbseed/system01.dbf datafile 6 switched to datafile copy input datafile copy RECID=8 STAMP=1070263318 file name=/oradata/ORCL_STBY/pdbseed/sysaux01.dbf datafile 7 switched to datafile copy input datafile copy RECID=9 STAMP=1070263318 file name=/oradata/ORCL_STBY/users01.dbf datafile 8 switched to datafile copy input datafile copy RECID=10 STAMP=1070263318 file name=/oradata/ORCL_STBY/pdbseed/undotbs01.dbf datafile 9 switched to datafile copy input datafile copy RECID=11 STAMP=1070263318 file name=/oradata/ORCL_STBY/PDB01/o1_mf_system_j749f5d5_.dbf datafile 10 switched to datafile copy input datafile copy RECID=12 STAMP=1070263318 file name=/oradata/ORCL_STBY/PDB01/o1_mf_sysaux_j749f5fw_.dbf datafile 11 switched to datafile copy input datafile copy RECID=13 STAMP=1070263318 file name=/oradata/ORCL_STBY/PDB01/o1_mf_undotbs1_j749f5fx_.dbf datafile 12 switched to datafile copy input datafile copy RECID=14 STAMP=1070263318 file name=/oradata/ORCL_STBY/test01.dbf Executing: alter database rename file '/oradata/ORCL/redo01.log' to '/oradata/ORCL_STBY/redo01.log' Executing: alter database rename file '/oradata/ORCL/redo02.log' to '/oradata/ORCL_STBY/redo02.log' Executing: alter database rename file '/oradata/ORCL/redo03.log' to '/oradata/ORCL_STBY/redo03.log'  contents of Memory Script: {   recover database from service  'orcl'; } executing Memory Script  Starting recover at 19-APR-21 using channel ORA_DISK_1 skipping datafile 5; already restored to SCN 2155383 skipping datafile 6; already restored to SCN 2155383 skipping datafile 8; already restored to SCN 2155383 skipping datafile 14; already restored to SCN 2658548 channel ORA_DISK_1: starting incremental datafile backup set restore channel ORA_DISK_1: using network backup set from service orcl destination for restore of datafile 00001: /oradata/ORCL_STBY/system01.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting incremental datafile backup set restore channel ORA_DISK_1: using network backup set from service orcl destination for restore of datafile 00003: /oradata/ORCL_STBY/sysaux01.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting incremental datafile backup set restore channel ORA_DISK_1: using network backup set from service orcl destination for restore of datafile 00004: /oradata/ORCL_STBY/undotbs01.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting incremental datafile backup set restore channel ORA_DISK_1: using network backup set from service orcl destination for restore of datafile 00007: /oradata/ORCL_STBY/users01.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting incremental datafile backup set restore channel ORA_DISK_1: using network backup set from service orcl destination for restore of datafile 00009: /oradata/ORCL_STBY/PDB01/o1_mf_system_j749f5d5_.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting incremental datafile backup set restore channel ORA_DISK_1: using network backup set from service orcl destination for restore of datafile 00010: /oradata/ORCL_STBY/PDB01/o1_mf_sysaux_j749f5fw_.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting incremental datafile backup set restore channel ORA_DISK_1: using network backup set from service orcl destination for restore of datafile 00011: /oradata/ORCL_STBY/PDB01/o1_mf_undotbs1_j749f5fx_.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:02 channel ORA_DISK_1: starting incremental datafile backup set restore channel ORA_DISK_1: using network backup set from service orcl destination for restore of datafile 00012: /oradata/ORCL_STBY/test01.dbf channel ORA_DISK_1: restore complete, elapsed time: 00:00:01  starting media recovery  media recovery complete, elapsed time: 00:00:00 Finished recover at 19-APR-21 Executing: alter system set standby_file_management=auto Finished recover at 19-APR-21 

粗放全球稽察,于是纪录还原全经由,通过以上扩充经由,不错看到:

RECOVER STANDBY DATABASE呐喊再行启动备用实例。 从主数据库刷新范围文献,并自动重定名数据文献,临时文献和联机日记。 它不错还原添加到主数据库中的新数据文献,并还原到面前时期的备用数据库。

b.备库修改standby log旅途发现刷新事后,备库redo log旅途已修改,standby log旅途未修改,因此手动修改。

查询备库的日记文献旅途:

sqlplus / as sysdba SQL> select member from v$logfile;  MEMBER -------------------------------------------------------------------------------- /oradata/ORCL_STBY/redo03.log /oradata/ORCL_STBY/redo02.log /oradata/ORCL_STBY/redo01.log /oradata/ORCL/standby_redo04.log /oradata/ORCL/standby_redo05.log /oradata/ORCL/standby_redo06.log /oradata/ORCL/standby_redo07.log 

关闭备库文献自动督察:

sqlplus / as sysdba alter system set standby_file_management=MANUAL; 

清算standby log:

sqlplus / as sysdba alter database clear logfile group 4; alter database clear logfile group 5; alter database clear logfile group 6; alter database clear logfile group 7; 

修改standby log旅途:

sqlplus / as sysdba alter database rename file '/oradata/ORCL/standby_redo04.log' to '/oradata/ORCL_STBY/standby_redo04.log'; alter database rename file '/oradata/ORCL/standby_redo05.log' to '/oradata/ORCL_STBY/standby_redo05.log'; alter database rename file '/oradata/ORCL/standby_redo06.log' to '/oradata/ORCL_STBY/standby_redo06.log'; alter database rename file '/oradata/ORCL/standby_redo07.log' to '/oradata/ORCL_STBY/standby_redo07.log'; 

修改完后大开备库文献自动督察:

sqlplus / as sysdba alter system set standby_file_management=AUTO; 

c.主库切日记,备库开启日记哄骗查验主备scn是否一致:

sqlplus / as sysdba col HXFNM for a100 set line222 select HXFIL File_num,substr(HXFNM,1,40) HXFNM,fhscn from x$kcvfh; 

主库切几次存档:

sqlplus / as sysdba ALTER SYSTEM ARCHIVE LOG CURRENT; ALTER SYSTEM SWITCH LOGFILE; 

开启备库哄骗日记:

sqlplus / as sysdba alter database open; alter pluggable database all open; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; 

稽察备库同步是否平日:

sqlplus / as sysdba set line222 col member for a60 select t1.group#,t1.thread#,t1.bytes/1024/1024,t1.status,t2.member from gv$standby_log t1,gv$logfile t2 where t1.group#=t2.group#; 

主库插入数据:

sqlplus test/test@pdb01 insert into test values (999); commit; 

备库查询是否及时同步:

sqlplus / as sysdba alter session set container=pdb01; select * from test.test; ID ---------- 1 2 999 

至此,18C的GAP也已诞生,不错看到Oracle跟着版块升级,越来越自动化的操作,意味着运维自动化的改日。

参考文档:

RESTORE/Recover from Service

Restoring and Recovering Files Over the Network(DG)

Restoring and Recovering Files Over the Network(RMAN)

Rolling Forward a Standby With One Command 18C