12c dataguard GAP恢复
【摘要】 数据库版本Oracle Database - Enterprise Edition - Version 12.1.0.1 and later参考文章:1987763.1环境介绍:DB_UNIQUE_NAME: prim (net service name 'PRIM')DB_UNIQUE_NAME: clone (net service name 'CLONE')关闭日志应用: RMAN> ...
数据库版本
Oracle Database - Enterprise Edition - Version 12.1.0.1 and later
参考文章:1987763.1
环境介绍:
DB_UNIQUE_NAME: prim (net service name 'PRIM')
DB_UNIQUE_NAME: clone (net service name 'CLONE')
关闭日志应用:
RMAN> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
检查主备数据库状态:
PRIMARY:
SQL> select HXFIL File_num,substr(HXFNM,1,40),fhscn from x$kcvfh;
FILE_NUM SUBSTR(HXFNM,1,40) FHSCN
---------- ---------------------------------------- ----------------
1 /<path>/prim/system01.dbf 1984501
3 /<path>/prim/sysaux01.dbf 1984501
4 /<path>/prim/undotbs01.dbf 1984501
5 /<path>/prim/pdbseed/system01.dbf 1733076
6 /<path>/prim/users01.dbf 1984501
7 /<path>/prim/pdbseed/sysaux01.dbf 1733076
8 /<path>/prim/pdb1/system01.dbf 1984501
9 /<path>/prim/pdb1/sysaux01.dbf 1984501
10 /<path>/prim/pdb1/pdb1_users01.dbf 1984501
16 /<path>/prim/pdb3/system01.dbf 1984501
17 /<path>/prim/pdb3/sysaux01.dbf 1984501
18 /<path>/prim/pdb3/pdb3_users01.dbf 1984501
19 /<path>/prim/pdb3/test.dbf 1984501
13 rows selected.
STANDBY:
SQL> select HXFIL File_num,substr(HXFNM,1,40),fhscn from x$kcvfh;
FILE_NUM SUBSTR(HXFNM,1,40) FHSCN
---------- ---------------------------------------- ----------------
1 /<path>/clone/system01.dbf 1980995
3 /<path>/clone/sysaux01.dbf 1980998
4 /<path>/clone/undotbs01.dbf 1981008
5 /<path>/clone/pdbseed/system01.dbf 1733076
6 /<path>/clone/users01.dbf 1981012
7 /<path>/clone/pdbseed/sysaux01.dbf 1733076
8 /<path>/clone/pdb1/system01.dbf 1981015
9 /<path>/clone/pdb1/sysaux01.dbf 1981021
10 /<path>/clone/pdb1/pdb1_users01.dbf 1981028
16 /<path>/clone/pdb3/system01.dbf 1981030
17 /<path>/clone/pdb3/sysaux01.dbf 1981036
18 /<path>/clone/pdb3/pdb3_users01.dbf 1981043
19 /<path>/clone/pdb3/test.dbf 1981044
13 rows selected.
RMAN> SELECT CURRENT_SCN FROM V$DATABASE;
For Example:
RMAN> SELECT CURRENT_SCN FROM V$DATABASE;
CURRENT_SCN
-----------
1984232
在备数据库执行命令:
# RECOVER … FROM SERVICE
$ rman target SYS/<password>
RMAN> recover database from service PRIM noredo using compressed backupset;
#Lets check the SCNs of the datafiles at primary and standby now.
PRIMARY:
SQL> select HXFIL File_num,substr(HXFNM,1,40),fhscn from x$kcvfh;
FILE_NUM SUBSTR(HXFNM,1,40) FHSCN
---------- ---------------------------------------- ----------------
1 /<path>/prim/system01.dbf 1985174
3 /<path>/prim/sysaux01.dbf 1985183
4 /<path>/prim/undotbs01.dbf 1985194
5 /<path>/prim/pdbseed/system01.dbf 1733076
6 /<path>/prim/users01.dbf 1985203
7 /<path>/prim/pdbseed/sysaux01.dbf 1733076
8 /<path>/prim/pdb1/system01.dbf 1985206
9 /<path>/prim/pdb1/sysaux01.dbf 1985212
10 /<path>/prim/pdb1/pdb1_users01.dbf 1985218
16 /<path>/prim/pdb3/system01.dbf 1985221
17 /<path>/prim/pdb3/sysaux01.dbf 1985343
18 /<path>/prim/pdb3/pdb3_users01.dbf 1985350
19 /<path>/prim/pdb3/test.dbf 1985354
13 rows selected
STANDBY:
RMAN> select HXFIL File_num,substr(HXFNM,1,40),fhscn from x$kcvfh;
FILE_NUM SUBSTR(HXFNM,1,40) FHSCN
---------- ---------------------------------------- ----------------
1 /<path>/clone/system01.dbf 1985174
3 /<path>/clone/sysaux01.dbf 1985183
4 /<path>/clone/undotbs01.dbf 1985194
5 /<path>/clone/pdbseed/system01.dbf 1733076
6 /<path>/clone/users01.dbf 1985203
7 /<path>/clone/pdbseed/sysaux01.dbf 1733076
8 /<path>/clone/pdb1/system01.dbf 1985206
9 /<path>/clone/pdb1/sysaux01.dbf 1985212
10 /<path>/clone/pdb1/pdb1_users01.dbf 1985218
16 /<path>/clone/pdb3/system01.dbf 1985221
17 /<path>/clone/pdb3/sysaux01/dbf 1985343
18 /<path>/clone/pdb3/pdb3_users01.dbf 1985350
19 /<path>/clone/pdb3/test.dbf 1985354
13 rows selected
#备恢复控制文件:
RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP NOMOUNT;
RMAN> restore standby controlfile from service PRIM;
#重新更改备数据库文件名称(主备位置不一样)
RMAN> Catalog start with '/u01/app/oracle/oradata/clone/';
RMAN> SWITCH DATABASE TO COPY;
#若在GAP期间增加过数据库文件怎么处理?
##检查是否增加过数据文件?
SELECT file# FROM V$DATAFILE WHERE creation_change# >= 1984232;
#恢复增加的数据文件
RMAN> RUN
2> {
3> SET NEWNAME FOR DATABASE TO '/';
4> RESTORE DATAFILE 21 FROM SERVICE prim;
5> }
#清空redo
SQL> select GROUP# from v$logfile where TYPE='STANDBY' group by GROUP#;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;
#打开备数据库
SQL> RECOVER DATABASE;
SQL> ALTER DATABASE OPEN READ ONLY;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)