【FLASHBACK】关于闪回数据库的一点说明


 今天看了点书,关于闪回数据库的,也就是当用户误操作删除了数据库用户时,我们恢复用户数据的过程是什么 

我们先简单了解下flashback 能做什么

1、可以闪回数据库,就是把数据库闪回到某个以前的时间点,前提闪回日志最早记录的SCN
2、闪回数据库表,也就是用户表误drop后的恢复  flashbackup drop
3、闪回表记录 用户数据表记录的恢复   flashback query
4、flashback table  闪回数据库表


其实主要就是两个功能,闪回数据库(整库的闪回操作)  闪回表


那么我们怎样使用数据库的闪回功能来闪回误删除的用户呢  大致步骤如下

1、确保数据库已经开启闪回特性,v$database 中flashbacck_on 可查询。 更改命令alter database flashback on;  也请更改用于存放闪回日志的相关参数(db_recovery_file_dest         /db_recovery_file_dest_size )

2、把数据库启动到mount状态,将数据库闪回至误删除操作的前一刻  闪回方法如下图



注意 to /to before 两种方式区别, to before 方式是指定时间戳的前一秒,也就是闪回到指定时间戳的前一秒的时间点

具体命令可参考:flashback database to timestamp to_timestamp('2017-07-02 09:53:50','yyyy-mm-dd hh24:mi:ss');

3、将数据库以只读模式打开,--此处 俺认为是防止新数据写入

4、使用exp或expdp方式导出,exp方式没问题,expdp方式需要借助其他数据库,具体可参考本博其他文章

5、将数据库完全恢复,并以read write模式打开数据库

6、导入被删除的用户

当然,并不是所有场景都适合闪回数据库的特性 ,如

1、数据文件物理损坏
2、数据文件SHRINK
3、由于闪回日志记录在控制文件中,因此使用备份的控制文件或者重建控制文件时,闪回数据库特性失效
4、表空间删除
5、需要注意,闪回数据库最多闪回时间间隔多久的数据,取决去闪回日志中最小SCN,如果想闪回比最小SCN还早的记录,请借助于其他备份

以下方式可以加快速度:

闪回数据库前可以先把其他表空间OFFLINE, 只需要闪回SYSTE表空间、UNDO表空间和业务数据所在表空间即可 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29487349/viewspace-2141483/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29487349/viewspace-2141483/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值