flashback query和flashback table都是以用UNDO表空间的内容来进行恢复数据
查看undo内容保存的时间:
SQL> show parameter undo_re
NAME TYPE VALUE
------------------------------------ -------- ------------------------------
undo_retention integer 900
undo_retention参数表示提交修改后UNDO记录需要保留多少时间。
在UNDO表空间不足的时候,即使没有到底此时间,oracle也会覆盖UNDO中内容,从而,有参数可以确保强制进行保留
查看如下:
SQL> select tablespace_name,retention from dba_tablespaces;
TABLESPACE_NAME RETENTION
--------------- ------------------------------
SYSTEM NOT APPLY
UNDOTBS1 NOGUARANTEE
SYSAUX NOT APPLY
TEMP NOT APPLY
USERS NOT APPLY
KEL NOT APPLY
CONVERT NOT APPLY
7 rows selected.
启动retention guarantee
SQL> alter tablespace undotbs1 retention guarantee;
Tablespace altered.
确认修改结果:
SQL> select tablespace_name,retention from dba_tablespaces;
TABLESPACE_NAME RETENTION
--------------- ------------------------------
SYSTEM NOT APPLY
UNDOTBS1 GUARANTEE
SYSAUX NOT APPLY
TEMP NOT APPLY
USERS NOT APPLY
KEL NOT APPLY
CONVERT NOT APPLY
7 rows selected.