- 可以闪回的操作
- 闪回记录
- 1.获取当前时间与改变号
- select to_char(sysdate,‘yyyy-mm-dd:mi:ss’) “系统时间”, timestamp_to_scn(sysdate) “系统改变号” from dual;
- scn 是 系统改变号,每秒钟都会变,oracle根据它来进行闪回,如1216687
- 2.给普通用户授于闪回的权限
- grant flashback any table to scott;
- 3.alter table emp enable row movement; # 更改rowid号可以更改
- 4.flashback table emp to SCN 1216687; # 闪回表到时间改变号
- 如果没有做第三步,这里会出错 ,原因是 还原表记录时,递增的rowid后面不能插入数据。在rowid之间插入数据必须改变rowid的状态为可以’移动’,即还原记录后面的表记录可以’移动’。
- 闪回表(回收站中才可以)
- 1.确定回收站中有该表,可以用show recyclebin命令查看
- 2.flashback table emp to before drop;
- flachback table “BIN$Pu9C2euHQ96xySmn08e5aQ==$0” to before drop; 也是可以的
- 3.如果回收站中有两个相同的表需要闪回时,设置一个表名
- flashback table emp to before drop rename to newemp;