① 主库丢失归档文件,然后在不重建物理dg的情况下来恢复物理dg

一.4.2  实验过程

一.4.2.1  主备库环境

查看主库的信息:

SQL>select protection_mode,protection_level,database_role,force_logging,open_mode,switchover_status from v$database;

PROTECTION_MODE      PROTECTION_LEVEL     DATABASE_ROLE    FOR OPEN_MODE            SWITCHOVER_STATUS

----------- -------------------- -------------------- ---------------- --- -------------------- --------------------

MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE  PRIMARY          YES READ WRITE           TO STANDBY

SQL> archive log list;
Database log mode           Archive Mode
Automatic archival           Enabled
Archive destination           /u01/arch/prod
Oldest online log sequence     153
Next log sequence to archive   0
Current log sequence           155

查看备库的信息:

SQL>select protection_mode,protection_level,database_role,force_logging,open_mode,switchover_status from v$database;

PROTECTION_MODE      PROTECTION_LEVEL     DATABASE_ROLE    FOR OPEN_MODE    SWITCHOVER_STATUS

---------- -------------------- -------------------- ---------------- --- -------------------- --------------------

MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE  PHYSICAL STANDBY YES READ ONLY WITH APPLY NOT ALLOWED

已用时间:  00: 00: 00.06

20:40:44 SQL>

SQL> archive log list;
Database log mode           Archive Mode
Automatic archival           Enabled
Archive destination           /u01/arch/phy1
Oldest online log sequence     153
Next log sequence to archive   0
Current log sequence           155

20:43:23 SQL>

一.4.2.2  模拟归档丢失

备库操作,备库取消归档应用,让备库处于只读模式:

20:43:23 SQL> ALTER ATABASE recover managed standby DATABASE cancel;

数据库已更改。

SQL>select protection_mode,protection_level,database_role,open_mode,switchover_status from v$database;

PROTECTION_MODE   PROTECTION_LEVEL   DATABASE_ROLE  FOR OPEN_MODE  SWITCHOVER_STATUS

---------- -------------------- -------------------- ---------------- --- -------------------- --------------------

MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE  PHYSICAL STANDBY YES READ ONLY     NOT ALLOWED

主库配置归档2的状态为defer,目的是为了不把归档自动传递到备库,实际情况下往往是由于网络故障,备库挂掉等等情况导致,我们多次切换主库日志:

20:50:48 SQL>  ALTER system SET log_archive_dest_state_2 = 'defer';

SQL> alter system switch logfile;

、、、、、、、、、、

SQL> select count(*) from test.test;

COUNT(*)
----------
    658944

SQL> 
SQL> archive log list;
Database log mode           Archive Mode
Automatic archival           Enabled
Archive destination           /u01/arch/prod
Oldest online log sequence     170
Next log sequence to archive   172
Current log sequence           172
SQL> col name for a100
set linesize 9999 pagesize 9999
SELECT dest_id,THREAD#,NAME,sequence#,archived,applied,a.NEXT_CHANGE# FROM v$archived_log a
WHERE a.sequence# >= 40
AND resetlogs_change# =(SELECT d.RESETLOGS_CHANGE# FROM v$database d)
ORDER BY a.THREAD#,a.sequence#,a.dest_id;SQL> SQL>   2    3    4

DEST_ID    THREAD# NAME                                                    SEQUENCE# ARC APPLIED   NEXT_CHANGE#
---------- ---------- ---------------------------------------------------------------------------------------------------- ---------- --- --------- ------------

2        1 ogg1                                                                                          156 YES NO         1024803
     1        1 /u01/arch/prod/1_157_981738248.arc                                      157 YES NO         1024808
     1        1 /u01/arch/prod/1_158_981738248.arc                                      158 YES NO         1024814
     1        1 /u01/arch/prod/1_159_981738248.arc                                      159 YES NO         1024817
     1        1 /u01/arch/prod/1_160_981738248.arc                                      160 YES NO         1024820
     1        1 /u01/arch/prod/1_161_981738248.arc                                      161 YES NO         1024825
     1        1 /u01/arch/prod/1_162_981738248.arc                                      162 YES NO         1025156
     1        1 /u01/arch/prod/1_163_981738248.arc                                      163 YES NO         1025163
     1        1 /u01/arch/prod/1_164_981738248.arc                                      164 YES NO         1025171
     1        1 /u01/arch/prod/1_165_981738248.arc                                      165 YES NO         1025174
     1        1 /u01/arch/prod/1_166_981738248.arc                                      166 YES NO         1025177
     1        1 /u01/arch/prod/1_167_981738248.arc                                      167 YES NO         1025182
     1        1 /u01/arch/prod/1_168_981738248.arc                                      168 YES NO         1025185
     1        1 /u01/arch/prod/1_169_981738248.arc                                      169 YES NO         1025398
     1        1 /u01/arch/prod/1_170_981738248.arc                                      170 YES NO         1025405
     1        1 /u01/arch/prod/1_171_981738248.arc                                      171 YES NO         1025412

159 rows selected.

SQL> archive log list;
Database log mode           Archive Mode
Automatic archival           Enabled
Archive destination           /u01/arch/phy1
Oldest online log sequence     154
Next log sequence to archive   0
Current log sequence           156
SQL> col name for a100
set linesize 9999 pagesize 9999
SELECT dest_id,THREAD#,NAME,sequence#,archived,applied,a.NEXT_CHANGE# FROM v$archived_log a
WHERE a.sequence# >= 40
AND resetlogs_change# =(SELECT d.RESETLOGS_CHANGE# FROM v$database d)
ORDER BY a.THREAD#,aSQL> SQL>   2    3    4  .sequence#,a.dest_id;

DEST_ID    THREAD# NAME                                                    SEQUENCE# ARC APPLIED   NEXT_CHANGE#
---------- ---------- ---------------------------------------------------------------------------------------------------- ---------- --- --------- ------------
     1        1 /u01/arch/phy1/1_152_981738248.arc                                      152 YES YES         1015367
     1        1 /u01/arch/phy1/1_153_981738248.arc                                      153 YES YES         1015455
     1        1 /u01/arch/phy1/1_154_981738248.arc                                      154 YES YES         1016001
     1        1 /u01/arch/phy1/1_155_981738248.arc                                      155 YES NO         1024646
     1        1 /u01/arch/phy1/1_156_981738248.arc                                      156 YES NO         1024803

40 rows selected.

可以看到,备库已经断档了,157到171都没有接收,接下来我们删除主库的归档日志,我们只删除54、55这2 个归档日志:

[oracle@primary prod]$ rm -rf 1_162_981738248.arc
[oracle@primary prod]$ rm -rf 1_163_981738248.arc
[oracle@primary prod]$ rm -rf 1_164_981738248.arc
[oracle@primary prod]$ rm -rf 1_165_981738248.arc
[oracle@primary prod]$ rm -rf 1_166_981738248.arc
[oracle@primary prod]$ rm -rf 1_167_981738248.arc
[oracle@primary prod]$ rm -rf 1_168_981738248.arc
[oracle@primary prod]$ rm -rf 1_169_981738248.arc

主库开启备库的归档:

SQL>  ALTER system SET log_archive_dest_state_2 = 'enable';

备库开启日志恢复模式:

SQL> alter database recover managed standby database using current logfile disconnect from session;

Database altered.

SQL>  select thread#,low_sequence#,high_sequence# from v$archive_gap;

THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
     1         162        169

可以看到备库已经产生gap 了。

一.4.2.3  主库基于SCN备份

162-169号日志不见了,这个时候我们以162号的归档日志的next_change#即161号的first_change#为scn号来对主库基于scn的rman 增量备份。

SQL> SELECT (SELECT MIN(d.CHECKPOINT_CHANGE#) FROM v$datafile d) datafile_scn,
(SELECT MIN(d.CHECKPOINT_CHANGE#)
FROM v$datafile_header d WHERE  rownum = 1) datafile_header_scn,
(SELECT current_scn FROM v$database) current_scn,
(SELECT b.NEXT_CHANGE# FROM v$archived_log b WHERE b.SEQUENCE# = 161
AND resetlogs_change# = (SELECT d.RESETLOGS_CHANGE# FROM v$database d) AND rownum = 1) NEXT_CHANGE# FROM dual;  2    3    4    5    6

DATAFILE_SCN DATAFILE_HEADER_SCN CURRENT_SCN NEXT_CHANGE#
------------ ------------------- ----------- ------------
     1024825         1024825     1024824

这几个值基本上差不多,我们可以以 2241214 或者2241213为基准来备份,若是数据文件和文件头的scn 不一致我们应该取这几个值中最小的一个。

在主库上进行增量备份:

RMAN> run
{
allocate channel d1 type disk;
allocate channel d2 type disk;
backup as compressed backupset incremental from SCN 1024824 database format '/u01/app/oracle/backup/standby_%d_%T_%U.bak' ;
release channel d1;
release channel d2;
}

using target database control file instead of recovery catalog
allocated channel: d1
channel d1: SID=139 device type=DISK

allocated channel: d2
channel d2: SID=30 device type=DISK

Starting backup at 19-SEP-18
channel d1: starting compressed full datafile backup set
channel d1: specifying datafile(s) in backup set
input datafile file number=00003 name=/u01/app/oracle/oradata/ogg2/undotbs01.dbf
channel d1: starting piece 1 at 19-SEP-18
channel d2: starting compressed full datafile backup set
channel d2: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/ogg2/system01.dbf
input datafile file number=00007 name=/u01/app/oracle/oradata/ogg2/test03.dbf
input datafile file number=00009 name=/u01/app/oracle/oradata/ogg2/test05.dbf
input datafile file number=00010 name=/u01/app/oracle/oradata/ogg2/test031.dbf
input datafile file number=00011 name=/u01/app/oracle/oradata/ogg2/test032.dbf
channel d2: starting piece 1 at 19-SEP-18
channel d2: finished piece 1 at 19-SEP-18
piece handle=/u01/app/oracle/backup/standby_OGG2_20180919_1ctdg6a9_1_1.bak tag=FOR STANDBY comment=NONE
channel d2: backup set complete, elapsed time: 00:01:26
channel d2: starting compressed full datafile backup set
channel d2: specifying datafile(s) in backup set
input datafile file number=00002 name=/u01/app/oracle/oradata/ogg2/sysaux01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/ogg2/users01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/ogg2/test01.dbf
input datafile file number=00006 name=/u01/app/oracle/oradata/ogg2/test02.dbf
input datafile file number=00008 name=/u01/app/oracle/oradata/ogg2/test04.dbf
channel d2: starting piece 1 at 19-SEP-18
channel d1: finished piece 1 at 19-SEP-18
piece handle=/u01/app/oracle/backup/standby_OGG2_20180919_1btdg6a9_1_1.bak tag=FOR STANDBY comment=NONE
channel d1: backup set complete, elapsed time: 00:01:34
channel d1: starting compressed full datafile backup set
channel d1: specifying datafile(s) in backup set
including standby control file in backup set
channel d1: starting piece 1 at 19-SEP-18
channel d1: finished piece 1 at 19-SEP-18
piece handle=/u01/app/oracle/backup/standby_OGG2_20180919_1etdg6d7_1_1.bak tag=FOR STANDBY comment=NONE
channel d1: backup set complete, elapsed time: 00:00:02
channel d2: finished piece 1 at 19-SEP-18
piece handle=/u01/app/oracle/backup/standby_OGG2_20180919_1dtdg6cv_1_1.bak tag=FOR STANDBY comment=NONE
channel d2: backup set complete, elapsed time: 00:00:30
Finished backup at 19-SEP-18

released channel: d1

released channel: d2

进行控制文件的备份:

RMAN>  run
{
allocate channel c1 type disk;
backup current controlfile for standby format '/u01/app/oracle/backup/db_%T_%d_%t_%s_%p.ctl';
}2> 3> 4> 5>

released channel: ORA_DISK_1
allocated channel: c1
channel c1: SID=139 device type=DISK

Starting backup at 19-SEP-18
channel c1: starting full datafile backup set
channel c1: specifying datafile(s) in backup set
including standby control file in backup set
channel c1: starting piece 1 at 19-SEP-18
channel c1: finished piece 1 at 19-SEP-18
piece handle=/u01/app/oracle/backup/db_20180919_OGG2_987241142_47_1.ctl tag=TAG20180919T093902 comment=NONE
channel c1: backup set complete, elapsed time: 00:00:01
Finished backup at 19-SEP-18
released channel: c1

将备份端数据启动该nomount进行恢复控制文件,然后启动到mount,在恢复数据文件

[oracle@standby backup]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Wed Sep 19 09:55:15 2018

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: OGG2 (not mounted)

RMAN> restore standby controlfile to '/u01/app/oracle/flash_recovery_area/ogg1/control02.ctl' from '/u01/app/oracle/backup/db_20180919_OGG2_987241142_47_1.ctl';

Starting restore at 19-SEP-18
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=125 device type=DISK

channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 19-SEP-18

RMAN> alter database mount;

database mounted
released channel: ORA_DISK_1

二、 恢复备库,注意这个数据文件是主库中的数据文件名称,要先在数据库中将其修改成备库的数据库名称
RMAN> report schema
2> ;
RMAN-06139: WARNING: control file is not current for REPORT SCHEMA
Report of database schema for database with db_unique_name STANDBY

RMAN> report schema;

Starting implicit crosscheck backup at 19-SEP-18
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=139 device type=DISK
Finished implicit crosscheck backup at 19-SEP-18

Starting implicit crosscheck copy at 19-SEP-18
using channel ORA_DISK_1
Crosschecked 2 objects
Finished implicit crosscheck copy at 19-SEP-18

searching for all files in the recovery area
cataloging files...
no files cataloged

RMAN-06139: WARNING: control file is not current for REPORT SCHEMA
Report of database schema for database with db_unique_name OGG1

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    0        SYSTEM               ***     /u01/app/oracle/oradata/ogg1/system01.dbf
2    0        SYSAUX               ***     /u01/app/oracle/oradata/ogg1/sysaux01.dbf
3    0        UNDOTBS1             ***     /u01/app/oracle/oradata/ogg1/undotbs01.dbf
4    0        USERS                ***     /u01/app/oracle/oradata/ogg1/users01.dbf
5    10       TEST                 ***     /u01/app/oracle/oradata/ogg1/test01.dbf
6    0        TEST                 ***     /u01/app/oracle/oradata/ogg1/test02.dbf
7    0        TEST                 ***     /u01/app/oracle/oradata/ogg1/test03.dbf
8    10       TEST2                ***     /u01/app/oracle/oradata/ogg1/test04.dbf
9    10       TEST2                ***     /u01/app/oracle/oradata/ogg1/test05.dbf
10   0        TEST                 ***     /u01/app/oracle/oradata/ogg1/test031.dbf
11   10       TEST                 ***     /u01/app/oracle/oradata/ogg1/test032.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /u01/app/oracle/oradata/ogg1/temp01.dbf

但是备份端的数据文件名称和主库的数据文件名称和路径不一致:
[oracle@standby ogg1]$ ll
total 2549432
-rw-r----- 1 oracle oinstall  10043392 Sep 19 10:01 control01.ctl
-rw-r----- 1 oracle oinstall  52429312 Sep 14 13:44 redo01.log
-rw-r----- 1 oracle oinstall  52429312 Sep 14 13:44 redo02.log
-rw-r----- 1 oracle oinstall  52429312 Sep 14 13:44 redo03.log
-rw-r----- 1 oracle oinstall  52429312 Sep 19 10:01 standby01.log
-rw-r----- 1 oracle oinstall  52429312 Sep 19 09:29 standby02.log
-rw-r----- 1 oracle oinstall  52429312 Sep 14 13:25 standby03.log
-rw-r----- 1 oracle oinstall  52429312 Sep 14 13:25 standby04.log
-rw-r----- 1 oracle oinstall 629153792 Sep 19 09:29 sysaux.dbf
-rw-r----- 1 oracle oinstall 734011392 Sep 19 09:29 system.dbf
-rw-r----- 1 oracle oinstall  10493952 Sep 19 09:29 test01.dbf
-rw-r----- 1 oracle oinstall  10493952 Sep 19 09:29 test032.dbf
-rw-r----- 1 oracle oinstall  10493952 Sep 19 09:29 test04.dbf
-rw-r----- 1 oracle oinstall  10493952 Sep 19 09:29 test05.dbf
-rw-r----- 1 oracle oinstall 823140352 Sep 19 09:29 undotbs1.dbf
-rw-r----- 1 oracle oinstall   5251072 Sep 19 09:29 users.dbf
[oracle@standby ogg1]$ ls
control01.ctl  redo02.log  standby01.log  standby03.log  sysaux.dbf  test01.dbf   test04.dbf  undotbs1.dbf
redo01.log     redo03.log  standby02.log  standby04.log  system.dbf  test032.dbf  test05.dbf  users.dbf
[oracle@standby ogg2]$ ls
temp01.dbf  test02.dbf  test031.dbf  test03.dbf
所以要先进行:

#####如果想避免出现这种情况的话,在进行异地备份恢复的时候,在进行数据文件命名的时候严格按照主库的数据文件名称来定义######
[oracle@standby ogg2]$ mv * ../ogg1
[oracle@standby ogg2]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Sep 19 11:09:48 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> alter database rename file '/u01/app/oracle/oradata/ogg2/test02.dbf' to '/u01/app/oracle/oradata/ogg1/test02.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/ogg2/test03.dbf' to '/u01/app/oracle/oradata/ogg1/test03.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/ogg2/temp01.dbf' to '/u01/app/oracle/oradata/ogg1/temp01.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/ogg2/test031.dbf' to '/u01/app/oracle/oradata/ogg1/test031.dbf';

Database altered.

SQL> alter system set standby_file_management=auto scope=both sid='*';

System altered.

SQL> alter system set standby_file_management=manual scope=both;

System altered.

SQL> alter database rename file '/u01/app/oracle/oradata/ogg1/system01.dbf' to '/u01/app/oracle/oradata/ogg1/system.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/ogg1/sysaux01.dbf' to '/u01/app/oracle/oradata/ogg1/sysaux.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/ogg1/users01.dbf' to '/u01/app/oracle/oradata/ogg1/users.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/ogg1/undotbs01.dbf' to '/u01/app/oracle/oradata/ogg1/undotbs1.dbf';

Database altered.

SQL>  alter system set standby_file_management=auto scope=both sid='*';

System altered.

RMAN> report schema;

RMAN-06139: WARNING: control file is not current for REPORT SCHEMA
Report of database schema for database with db_unique_name STANDBY

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    700      SYSTEM               ***     /u01/app/oracle/oradata/ogg1/system.dbf
2    600      SYSAUX               ***     /u01/app/oracle/oradata/ogg1/sysaux.dbf
3    785      UNDOTBS1             ***     /u01/app/oracle/oradata/ogg1/undotbs1.dbf
4    5        USERS                ***     /u01/app/oracle/oradata/ogg1/users.dbf
5    10       TEST                 ***     /u01/app/oracle/oradata/ogg1/test01.dbf
6    10       TEST                 ***     /u01/app/oracle/oradata/ogg1/test02.dbf
7    10       TEST                 ***     /u01/app/oracle/oradata/ogg1/test03.dbf
8    10       TEST2                ***     /u01/app/oracle/oradata/ogg1/test04.dbf
9    10       TEST2                ***     /u01/app/oracle/oradata/ogg1/test05.dbf
10   10       TEST                 ***     /u01/app/oracle/oradata/ogg1/test031.dbf
11   10       TEST                 ***     /u01/app/oracle/oradata/ogg1/test032.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /u01/app/oracle/oradata/ogg1/temp01.dbf

RMAN> recover database noredo;

Starting recover at 19-SEP-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
destination for restore of datafile 00001: /u01/app/oracle/oradata/ogg1/system.dbf
destination for restore of datafile 00002: /u01/app/oracle/oradata/ogg1/sysaux.dbf
destination for restore of datafile 00004: /u01/app/oracle/oradata/ogg1/users.dbf
destination for restore of datafile 00006: /u01/app/oracle/oradata/ogg1/test02.dbf
destination for restore of datafile 00008: /u01/app/oracle/oradata/ogg1/test04.dbf
destination for restore of datafile 00010: /u01/app/oracle/oradata/ogg1/test031.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/backup/standby_OGG2_20180919_1gtdg6n4_1_1.bak
channel ORA_DISK_1: piece handle=/u01/app/oracle/backup/standby_OGG2_20180919_1gtdg6n4_1_1.bak tag=TAG20180919T093948
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:08
channel ORA_DISK_1: starting incremental datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
destination for restore of datafile 00003: /u01/app/oracle/oradata/ogg1/undotbs1.dbf
destination for restore of datafile 00005: /u01/app/oracle/oradata/ogg1/test01.dbf
destination for restore of datafile 00007: /u01/app/oracle/oradata/ogg1/test03.dbf
destination for restore of datafile 00009: /u01/app/oracle/oradata/ogg1/test05.dbf
destination for restore of datafile 00011: /u01/app/oracle/oradata/ogg1/test032.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/backup/standby_OGG2_20180919_1htdg6n4_1_1.bak
channel ORA_DISK_1: piece handle=/u01/app/oracle/backup/standby_OGG2_20180919_1htdg6n4_1_1.bak tag=TAG20180919T093948
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01

Finished recover at 19-SEP-18

RMAN> exit

Recovery Manager complete.
[oracle@standby dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Sep 19 11:21:20 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> col name for a100
set linesize 9999 pagesize 9999
SELECT dest_id,THREAD#,NAME,sequence#,archived,applied,a.NEXT_CHANGE# FROM v$archived_log a
WHERE a.sequence# >= 40
AND resetlogs_change# =(SELECT d.RESETLOGS_CHANGE# FROM v$database d)
ORDER BY a.THREAD#,aSQL> SQL> .sequence#,a.dest_id;
  2    3    4  
   DEST_ID    THREAD# NAME                                                    SEQUENCE# ARC APPLIED   NEXT_CHANGE#
---------- ---------- ---------------------------------------------------------------------------------------------------- ---------- --- --------- ------------
     2        1 /u01/arch/phy1/1_173_981738248.arc                                      173 YES NO         1027491
     2        1 /u01/arch/phy1/1_174_981738248.arc                                      174 YES NO         1027693
     1        1 /u01/arch/phy1/1_175_981738248.arc                                      175 YES NO         1027993
     1        1 /u01/arch/phy1/1_176_981738248.arc                                      176 YES NO         1031524
     1        1 /u01/arch/phy1/1_177_981738248.arc                                      177 YES NO         1032805
     1        1 /u01/arch/phy1/1_178_981738248.arc                                      178 YES NO         1033214

6 rows selected.

SQL>  alter database recover managed standby database using current logfile disconnect from session;

Database altered.

SQL> col name for a100
set linesize 9999 pagesize 9999
SELECT dest_id,THREAD#,NAME,sequence#,archived,applied,a.NEXT_CHANGE# FROM v$archived_log a
WHERE a.sequence# >= 40
AND resetlogs_change# =(SELECT d.RESETLOGS_CHANGE# FROM v$database d)
ORDER BY a.THREAD#,aSQL> SQL>   2    3    4  .sequence#,a.dest_id;

DEST_ID    THREAD# NAME                                                    SEQUENCE# ARC APPLIED   NEXT_CHANGE#
---------- ---------- ---------------------------------------------------------------------------------------------------- ---------- --- --------- ------------
     2        1 /u01/arch/phy1/1_173_981738248.arc                                      173 YES YES         1027491
     2        1 /u01/arch/phy1/1_174_981738248.arc                                      174 YES YES         1027693
     1        1 /u01/arch/phy1/1_175_981738248.arc                                      175 YES YES         1027993
     1        1 /u01/arch/phy1/1_176_981738248.arc                                      176 YES YES         1031524
     1        1 /u01/arch/phy1/1_177_981738248.arc                                      177 YES YES         1032805
     1        1 /u01/arch/phy1/1_178_981738248.arc                                      178 YES IN-MEMORY     1033214

6 rows selected.

SQL> select * from v$archive_gap;

no rows selected

四、 备库read only 模式打开

22:41:41 SQL> alter database recover managed standby database cancel;

数据库已更改。

已用时间:  00: 00: 01.00

22:43:40 SQL> alter database open;

数据库已更改

已用时间:  00: 00: 00.22

22:43:45 SQL> alter database recover managed standby database using current logfile disconnect from session;

数据库已更改。

adg的archive出现gap,使用增量恢复的方式进行恢复adg,RMAN-06094: datafile 1 must be restored相关推荐

  1. Linux系统快照一键备份恢复、不同机器恢复、增量备份恢复

    Linux系统快照一键备份恢复.不同机器恢复.增量备份恢复 前言 由于前段时间在做一个自动化部署开发环境的项目需要重复安装多种服务以及中间件,但是生产环境的服务器不像自己的虚拟机可以使用快照,如果直接 ...

  2. 备份恢复:如何让xtrabackup恢复速度提升20倍?

    简介 Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎数据库进行非阻塞的备份,其具备以下一些优点:   1)备份速度快,物理备份可靠   ...

  3. Oracle 知识篇+RMAN带库备份恢复/带库全备恢复/带库0级备份恢复操作概要

    说明:本文为Oracle RMAN带库备份恢复/带库全备恢复/带库0级备份恢复操作概要 温馨提示:如果您发现本文哪里写的有问题或者有更好的写法请留言或私信我进行修改优化 ①带库备份 rman targ ...

  4. Linux文件系统恢复(数据误删恢复)

    Linux文件系统恢复(数据误删恢复) 文章目录 Linux文件系统恢复(数据误删恢复) inode与block 用户通过文件名打开文件时,系统内部的过程 查看文件对应的inode号码有两种方式 用s ...

  5. mysql数据库恢复策略_数据库系统恢复策略概述

    1 前言 尽管计算机系统的可靠性在不断提高,数据库系统中也采用了很多措施和方法保证数据库系统的正确运行,但仍不可避免系统出现这样或那样的错误,导致数据库数据丢失或破坏. 所以,数据库系统必须采取相应的 ...

  6. SMO学习笔记(二)——还原(恢复)篇之完整恢复

    SQLSERVER2005恢复介绍: 三种恢复模式 (一).简单恢复模式         事务日志被自动截断,不能使用日志文件进行恢复. (二).完整恢复模式         保留所有操作的完整事务日 ...

  7. oracle日志备份少数据库,oracle 账号锁定日志Oracle数据库全量备份恢复和部分备份恢复...

    Oracle数据库全量备份恢复和部分备份恢复 今天又遇到了Oracle数据库序列的问题,索性来个全库的备份和恢复.如下 imp/exp 方式 表模式备份: ­ oracle@sencloudServe ...

  8. iphone彻底删除照片如何恢复_如何把删除的照片恢复?轻松解决恢复问题!

    如何把删除的照片恢复?轻松解决恢复问题!使用手机的时候,照片可是我们手机中重要的数据,很对人换手机也舍不得删除了以前的照片,有时候会误删了一些手机照片也是常有的事情,那么我们想要找回被删除手机照片应该 ...

  9. outlook从服务器中恢复已删除项目,Exchange 恢复已删除项目

    Exchange转储程序机制 Exchange使用转储程序(dumpster)机制,在将邮件删除后(指永久删除,并非删除至"已删除邮箱"),或将邮箱删除后,并不立即从数据库删除,而 ...

最新文章

  1. mongoose的populate
  2. linux完整面授视频,Linux面授实战
  3. python 清空所有对象_学习python第38天
  4. python 表名代码编码格式_14行代码示例讲解:教你解决python上传图片限制格式问题...
  5. 灵山奇缘服务器维护,灵山奇缘1月8日更新了什么 灵山奇缘1月8日更新维护内容一览...
  6. GDAL写入FileGDB中文属性乱码问题
  7. Debian 下配置ssh
  8. 主函数是c语言的入口,代码逆向(一)——寻找main函数入口
  9. Matlab实现单(双)极性(不)归零码
  10. (Matlab实现)基于蒙特卡洛模拟的大规模电动车充电模型
  11. 量子计算机物理学,使用量子计算机来测试物理学的基本原理
  12. echart各种显示数据的格式化
  13. 视频 | 皖南川藏线自驾游
  14. 输入的魔法师,cherry机械键盘介绍
  15. amazon开发者申请,pii权限申请
  16. 【就是这么简单】系列
  17. 循环冗余校验码CRC原理和实例
  18. 集线器、交换机、路由器之间的关系(清晰明了)
  19. 什么是ANC主动降噪技术?
  20. singer页面点击歌手singer是跳转到singer-detail的设置

热门文章

  1. 鸿蒙归蝶的反弹,诛仙前传鸿蒙副本任务详细攻略解读
  2. java 随机字母_Java基础之随机生成数字和字母
  3. kafka eagel的使用
  4. Redis的zset结构跳表
  5. 8 应用服务器性能优化
  6. MyEclipse快捷键大全(转自豆瓣)
  7. python实现批量提取指定文件夹下同类型文件
  8. python获取涨停股票_摸索:半天完成Python获取数据,建立每日涨停股票池。
  9. 魔兽世界最新服务器排行榜,wow国服服务器排行榜:十大平衡服已全面解锁 | TG魔兽世界专区...
  10. 学习并行计算(CUDA Python)-1-初尝试