基于scn的恢复是怎样的

68次阅读
没有评论

共计 5918 个字符,预计需要花费 15 分钟才能阅读完成。

今天就跟大家聊聊有关基于 scn 的恢复是怎样的,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

– 先背备份:(热备)

[oracle@wang ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 – Production on Fri Dec 8 19:35:11 2017

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

connected to target database: DBDB (DBID=3282897732)

RMAN backup database;

Starting backup at 08-DEC-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=44 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00004 name=/u01/app/oracle/oradata/DBdb/users01.dbf
input datafile file number=00006 name=/u01/app/oracle/fast_recovery_area/DBDB/newback/ts_xxf_01.dbf
input datafile file number=00001 name=/u01/app/oracle/oradata/DBdb/system01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/DBdb/undotbs01.dbf
channel ORA_DISK_1: starting piece 1 at 08-DEC-17
channel ORA_DISK_1: finished piece 1 at 08-DEC-17
piece handle=/u01/app/oracle/fast_recovery_area/DBDB/newback/DBDB/backupset/2017_12_08/o1_mf_nnndf_TAG20171208T193949_f2nyj5gy_.bkp tag=TAG20171208T193949 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:55
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00002 name=/u01/app/oracle/oradata/DBdb/sysaux01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/DBdb/example01.dbf
channel ORA_DISK_1: starting piece 1 at 08-DEC-17
 channel ORA_DISK_1: finished piece 1 at 08-DEC-17
piece handle=/u01/app/oracle/fast_recovery_area/DBDB/newback/DBDB/backupset/2017_12_08/o1_mf_nnndf_TAG20171208T193949_f2nykwl2_.bkp tag=TAG20171208T193949 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 08-DEC-17
channel ORA_DISK_1: finished piece 1 at 08-DEC-17
piece handle=/u01/app/oracle/fast_recovery_area/DBDB/newback/DBDB/backupset/2017_12_08/o1_mf_ncsnf_TAG20171208T193949_f2nylpqk_.bkp tag=TAG20171208T193949 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 08-DEC-17

RMAN    

二、模拟操作:
SQL select current_scn from v$database;

CURRENT_SCN
———–
  3960846

SQL  
SQL create table scott.scn_a as select * from dba_objects;

Table created.

SQL select count(*) from scott.scn_a;

  COUNT(*)
———-
  87053

SQL select current_scn from v$database;

CURRENT_SCN
———–
  3960968

SQL
SQL create table hr.scn_b as select * from dba_objects;

Table created.

SQL select count(*) from hr.scn_b;

  COUNT(*)
———-
  87054

SQL select current_scn from v$database;

CURRENT_SCN
———–
  3961042

SQL    
SQL alter system switch logfile;

System altered.

SQL
SQL select current_scn from v$database;

CURRENT_SCN
———–
  3961063

SQL
SQL alter system checkpoint;

System altered.

SQL
SQL select current_scn from v$database;

CURRENT_SCN
———–
  3961088

– 删除表 scn_a/scn_b:
SQL drop table scott.scn_a purge;

Table dropped.

SQL drop table hr.scn_b purge;

Table dropped.

– 进行恢复:
– 关库,启动到 mount 状态:
SQL shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL
SQL startup mount;
ORACLE instance started.

Total System Global Area  835104768 bytes
Fixed Size  2257840 bytes
Variable Size  549456976 bytes
Database Buffers  281018368 bytes
Redo Buffers  2371584 bytes
Database mounted.
SQL

启用 rman 进行恢复:
[oracle@wang ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 – Production on Fri Dec 8 19:49:38 2017

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

connected to target database: DBDB (DBID=3282897732, not open)

RMAN    

RMAN run { 
  set until scn =3960968;  
  restore database;  
  recover database;  
  alter database open resetlogs; }

executing command: SET until clause

Starting restore at 08-DEC-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/DBdb/system01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/DBdb/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/DBdb/users01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /u01/app/oracle/fast_recovery_area/DBDB/newback/ts_xxf_01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/DBDB/newback/DBDB/backupset/2017_12_08/o1_mf_nnndf_TAG20171208T193949_f2nyj5gy_.bkp
  channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/DBDB/newback/DBDB/backupset/2017_12_08/o1_mf_nnndf_TAG20171208T193949_f2nyj5gy_.bkp tag=TAG20171208T193949
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:02:15
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/DBdb/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/DBdb/example01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/DBDB/newback/DBDB/backupset/2017_12_08/o1_mf_nnndf_TAG20171208T193949_f2nykwl2_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/DBDB/newback/DBDB/backupset/2017_12_08/o1_mf_nnndf_TAG20171208T193949_f2nykwl2_.bkp tag=TAG20171208T193949
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:25
Finished restore at 08-DEC-17

Starting recover at 08-DEC-17
using channel ORA_DISK_1

starting media recovery
media recovery complete, elapsed time: 00:00:00

Finished recover at 08-DEC-17

database opened

RMAN    

– 验证:
SQL select status from v$instance;

STATUS
————
OPEN

SQL select count(*) from scott.scn_a;

  COUNT(*)
———-
  87053

SQL
SQL select count(*) from hr.scn_b;
select count(*) from hr.scn_b
  *
ERROR at line 1:
ORA-00942: table or view does not exist

因为恢复时只是恢复到创建 scn_a 表后查询到的 current_scn,此时表 scn_b 还没有创建。

看完上述内容,你们对基于 scn 的恢复是怎样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-20发表,共计5918字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)