oracle闪回表

本文详细介绍了Oracle数据库中的闪回表功能,包括启用和禁用行移动特性,用户权限要求,以及闪回表的限制条件,如不能跨越DDL操作和对系统表的应用。还提供了具体的闪回表SQL语句示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

闪回表专题
1、闪回表的前提


--------需要支持行移动特性
由于闪回表的操作会修改表里的数据,从而有可能引起数据行的迁移。比如某一行数据当前在A数据块里,
而在把表闪回到以前某个时间点时,在那个时间点上,该行数据位于B数据块里。于是在闪回表的操作中,
数据行从当前的A数据块转移到了B数据块,因此在闪回表之前,必须开启数据行的移动特性。
SQL>alter table  table_name enable  row movement;
取消行移动特性:
SQL>alter table  table_name disable  row movement;


--------用户需要具有闪回表的权限
SYS>grant   execute  on  dbms_flashback    to   用户名;
------------------
为了实验方便而赋予用户的权限
SYS>grant    select  on  v_$database to  用户名;


检查行移动特性是否打开:
SQL>select row_movement from user_tables where table_name='TBNAME';


2、无法闪回表的情况(闪回表不可跨越DDL操作,系统表无法闪回)
在闪回表的操作中,假设当前时间点为B点,需要将表T闪回到历史上的A点。则这时需要注意,如果从A点到B点
这段时间里,对表T进行了任何的DDL操作,则闪回表的操作失败。同时,系统表不能进行闪回操作。




3、闪回表的语句
SQL>flashback table table_name to timestamp  to_date('2012-12-24  21:08:26','yyyy-mm-dd hh24:mi:ss');



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值