高手指点oracle闪回表有哪些限制?

高手指点oracle闪回表有哪些限制?,第1张

用百度能搜大把出来吧。。。。

使用的限制和注意事项:

1. 使用闪回表语句恢复表到出现人为或应用错误事件之前的状态。

2. 可以闪回到过去多长时间取决于系统中undo数据量的大小。

3. 并且oracle数据库无法恢复通过DDL语句修改了结构的表。

4.oracle强烈建议设置UNDO_MANAGEMENT为AUTO(自动管理回滚数据)。另外,设置UNDO_RETENTION (回滚数据的保留时间)为一个合适的时间间隔。

5.你不能回滚flash back语句,然而你可以使用另外一个flash back语句并且指定一个当前时间之前的时间点。在声明一个flash back语句之前先记录下当前的SCN号。

另外如果要使用闪回表

1. 我们需要有在指定表上有flashback的权限或者FLASHBACK ANYTABLE权限才能闪回一个表到之前的时间点;

2.必须有对表的SELECT, INSERT, DELETE, andALTER object privileges一系列权限;

3.除非是使用TO BEFORE DROP,对于分区表的闪回都应该开启Row movement (alter table test_move enable row movement)

一般用于分区表,某一行更新时,如果更新的是分区列,并且更新后的列值不属于原来的这个分区,如果开启了这个选项,就会把这行从这个分区中delete 掉,并加到更新后所属的分区。相当于一个隐式的delete+insert,但是不会触发insert/delete触发器。如果没有开启这个选项,就会在更新时报错。

4.恢复一个表到一个还原点,必须拥有SELECT ANY DICTIONARY orFLASHBACKANY TABLE system privilege or theSELECT_CATALOG_ROLE role。

你的权限不够啊,闪回需要授予用户sys.dbms_flashback包的执行权限

例子:

conn system/manager as sysdba

grant execute on sys.dbms_flashback to mmm

pdate a record

execute dbms_flashback.enable_at_time(sysdate-5/1440)

execute dbms_flashback.disable()//结束闪回模式,又回到当前状态


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10016802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存