一、闪回查询
语法:select * from 表名 as of timestamp
to_timestamp('2016-08-01 01:00:00','yyyy-mm-dd hh24:mi:ss')
二、闪回表
语法:
alter table 表名 enable row movement允许行移动
flashback table 表名 to timestamp to_timestamp('2016-08-01
01:00:00','yyyy-mm-dd hh24:mi:ss')
三、闪回删除
使用回收站(recyclebin)闪回删除的表
四、闪回数据库
(1)确认数据库处于archive log模式且数据库开启闪回功能;
(2)Flashback Database 实际是对数据库的一个不完全恢复 *** 作,因为需要关闭数据库重启到mount状态
方式一:通过时间戳闪回
语法:flashback database to timestamp to_timestamp('2016-08-02 21:12:46','yyyy-mm-dd
HH24:MI:SS')
方式二:通过SCN闪回
语法:flashback database to scn 13081009
执行完flashback database之后,oracle提供了两种方式修复数据库
1、通过alter database open
resetlogs打开数据库。当然,指定的scn或者timestamp之后产生的数据统统丢失
2、先执行alter database open
read only以read-only模式打开数据库,确认数据无误后,再以resetlogs的方式打开数据库
五、闪回数据归档
(1)创建闪回表空间
(2)创建闪回归档
语法:create flashback archive [default] name tablespace tbs_name quoto 10g retention 1 year
(3)开启表的闪回归档
语法:alter table tb_name flashback archie
ps:开启了闪回的表,不能drop,允许truncate。
六、创建还原点
(1)创建保证还原点
create restore point point_name grarantee flashback database
(2)还原
restore point point_name
一首先查看是否开启闪回:
SQL>select flashback_on from V$database
FLASHBACK_ON
------------------
NO
二
如果已经开启了闪回,无须执行下面的 *** 作。
cd /u01
mkdir flashback(生成闪回目录)
SQL>alter system set db_recovery_file_dest_size=30G scope=both
SQL>alter system set db_recovery_file_dest='/u01/flashback' scope=both
SQL>shutdown immediate
SQL>startup mount
SQL>alter database archivelog
SQL>alter database flashback on
SQL>alter database open
三
再进行确认:
SQL>select flashback_on from V$database
FLASHBACK_ON
------------------
YES
oracle闪回数据库之后,goldengate会崩溃吗?首先关闭数据库:
shutdown
immediate
在开启到mount状态:startup
mount
修改闪回功能:alter
database
flashback
on
开启数据库:alter
datebase
open
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)