flashback 技术

闪回数据库


SYS@aux 22-DEC-13> select systimestamp from dual;

SYSTIMESTAMP
---------------------------------------------------------------------------
22-DEC-13 09.45.30.872782 PM +08:00

SYS@aux 22-DEC-13> select current_scn from v$database;

CURRENT_SCN
-----------
   32517356

SYS@aux 22-DEC-13> create restore point test_dbflashback;

Restore point created.
SYS@aux 22-DEC-13> show parameter retention;

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target         integer     1440
undo_retention                 integer     86400


SYS@aux 22-DEC-13> create restore point test_guarantee guarantee flashback database;

Restore point created.

SYS@aux 22-DEC-13> l
  1* select * from v$restore_point where name like '%TEST_GUARANTEE%'
SYS@aux 22-DEC-13> /

       SCN DATABASE_INCARNATION# GUA STORAGE_SIZE TIME                 RESTORE_POINT_TIME   PRE NAME
---------- --------------------- --- ------------ ------------------------------ -------------------- --- ----------
  32517462               7 YES      7962624 22-DEC-13 09.48.48.000000000 P              YES TEST_GUARA
                          M                              NTEE


SYS@aux 22-DEC-13> flashback database to restore point test_dbflashback;

Flashback complete.

SYS@aux 22-DEC-13> flashback database to scn 32517356;

Flashback complete.

SYS@aux 22-DEC-13> flashback database to timestamp to_timestamp('2013-12-22 09:45:30','YYYY-MM-DD hh24:mi:ss');

Flashback complete.

SYS@aux 22-DEC-13> recover database;
Media recovery complete.
SYS@aux 22-DEC-13> alter database open;

Database altered.

SYS@aux 22-DEC-13> 

 

guarantee restore point  不依赖flashback log,有自己单独的log机制, 但是也必须设置flash recovery area , 可以在不开启flashback database的情况下使用guarantee restore point , 也可以闪回数据库。

闪回到过去某一点时候, 要使用alter database open resetlog 来打开数据库。



可以使用 SCN  ,restore point , timestamp 做为闪回点。

JULIA@aux 22-DEC-13> flashback table juliatest to  timestamp to_timestamp('2013-12-22 21:21:35','YYYY-MM-DD HH:MI:SS');
flashback table juliatest to  timestamp to_timestamp('2013-12-22 21:21:35','YYYY-MM-DD HH:MI:SS')
                                                     *
ERROR at line 1:
ORA-01849: hour must be between 1 and 12


JULIA@aux 22-DEC-13> flashback table juliatest to  timestamp to_timestamp('2013-12-22 21:21:35','YYYY-MM-DD hh24:mi:ss');

Flashback complete.

JULIA@aux 22-DEC-13> flashback table juliatest to restore point test_insert;

Flashback complete.
JULIA@aux 22-DEC-13> select current_scn from v$database;

CURRENT_SCN
-----------
   32517203

JULIA@aux 22-DEC-13> flashback table juliatest to scn 32517203;

Flashback complete.




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值