Flashback drop 提供虚拟回收站,允许删除对象重建。
Flashback versions query, Flashback transation Query 用语识别或确定要恢复到当前状态的数据行。
Flashback Table 用于恢复单独的表,比如错误的更新了表。
10g后drop 数据库对象 实际是把对象放入回收站,可以查看回收站:
show recyclebin;
select object_name as recycle_name,original_name from recyclebin;
在回收站的命名格式是bin$globalUID$Version 24位的全局UID和数据库分配的版本号
对于recyclebin里表可以象正常表一样访问数据.
Select * from “bin$globalUID$version”;
实现恢复:
flashback table “bin$globalUID$version” to before drop( rename to t2) ;
purge table “bin$globalUID$version” 可以从回收站彻底删除对象并且释放空间
purge tablespace tablespacename 清除所有特定表空间的所有丢弃对象.
Purge tablespace tablespacename USER user的特定用户表空间内容
Purge recuclebin 清空用户的回收站
Purge DBA_RECYCLEBIN 清空所有用户回收站.(具有sysdba权限).
对于flashback drop 的一些局限
回收站功能只能用于一些非系统,本地管理的表空间.
在回收站的时间很难界定,是由系统空间 和系统活动 决定的.
对回收站里的表不能进行dml,ddl
回收站恢复 依存的对象也就被恢复.
分区表 不受回收站保护..
使用flashback version query
闪回查询时间是由UNDO_RETENTION的时间决定.闪回查询要具有select 和 flashback 权限.
Select * from t1 versions between scn minvalue and maxvalue where…
Select * from t1 versions between timestamp
To_timestamp(‘2004-10-26 11:37:00’,’YYYY-MM-DD HH:MI:SS’) and
To_timestamp(‘2004-10-26 11:43:00’,’YYYY-MM-DDHH:MI:SS’) where …
函数 SCN_TO_TIMESTAMP 和 TIMESTAMP_TO_SCN能可以让scn和时间相互转换.
关于新增的一些虚列:
VERSIONS_STARTSCN 创建行的起始SCN,如为NULL,在在BETWEEN 前创建.
VERSIONS_STARTTIME 创建行的起始TIMESTAMP,如为NULL,在在BETWEEN 前创建.
VERSIONS_ENDSCN 行版本终止时的SCN,如为NULL,此版本为当前版本,或对应一个delete 操作.
VERSIONS_ENDTIME 行版本终止时的TIMESTAMP,如为NULL,此版本为当前版本,或对应一个delete 操作.
VERSIONS_XID 创建行版本的事务标识符.
VERSIONS_OPERATION 改变数据的事物执行的操作.(I,D,U)
Select versions_starttime,version_endtime,versions_xid,version_operation from t1 versions between scn minvalue and maxvalue where ………..
使用闪回事务查询
使用闪回事务查询可以识别表和表操作,从而进行分析:
select table_name,operation,undo_sql from flashback_transaction_Query where xid=’…’
使用这个的功能权限 需要flashback any table
使用闪回表
同样受UNDO_RETENTION的影响.
闪回表需要权限 flashback any table 或 flashback table 或 执行闪回select,insert,delete,alter权限.
闪回表必须启动row movement;
alter table t1 enable row movement ;
flashback table to scn/timestamp enable triggers;
这里注意闪回表时trigger 默认是disenable 的…
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28371090/viewspace-1086569/ ,如需转载,请注明出处,否则将追究法律责任。