Oracle Flashback Technologies

Oracle Flashback Technologies - 闪回数据库

根据指定的SCN,使用rman闪回数据库

#查看可以闪回到多久前

SQL> select * from v$flashback_database_log;


#查看当前的SCN

SQL> select current_scn from v$database;

CURRENT_SCN
-----------
    1462273

SQL> 

#关闭数据库

$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Tue Jun 23 06:34:28 2015

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

connected to target database: DBTEST (DBID=1275290034)

RMAN> shutdown immediate

using target database control file instead of recovery catalog
database closed
database dismounted
Oracle instance shut down

#mount数据库

RMAN> startup mount

connected to target database (not started)
Oracle instance started
database mounted

Total System Global Area    2471931904 bytes

Fixed Size                     2255752 bytes
Variable Size                637535352 bytes
Database Buffers            1811939328 bytes
Redo Buffers                  20201472 bytes

根据SCN闪回数据库

RMAN> flashback database to scn 1461950;

Starting flashback at 23-JUN-2015 06:35:57
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=189 device type=DISK


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

Finished flashback at 23-JUN-2015 06:36:01

#以resetlogs打开数据库。闪回数据库是基于时间点的恢复,是不完全恢复,要是resetlogs方式打开

RMAN> alter database open resetlogs;

database opened

RMAN> 

此外还可以用以下方式闪回数据库:

#根据时间闪回数据库

RMAN> flashback database to time "to_date('2015-06-23 06:25:00','yyyy-mm-dd hh24:mi:ss')";


#根据restore point闪回数据库

RMAN> flashback database to restore point rp;

#闪回到上一次resetlogs操作之前

RMAN> flashback database to before resetlogs;

以上操作命令,也可以在sql*plus下完成。

原文地址:https://www.cnblogs.com/abclife/p/4595451.html