How to Determine the Value Of UNDO_RETENTION Parameter to Avoid ORA-1555 (Doc ID 822411.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 10.2.0.3 and laterOracle Database Cloud Schema Service - Version N/A and laterOracle Database Exadat
昨天,一个朋友的数据库数据被误操作删除掉了,请求我帮忙进行恢复. 数据库版本是Oracle10g Release 2的,我首先想到的是使用Flashback Query进行闪回恢复,不幸的是ORA-01555,数据已经不能被闪回了. 查看当时的数据库参数undo_retention设置,发现这个参数被在10g中缺省的被设置为900秒,这个时间长度是不足够的. 马上将这个参数修改为10800,3个小时: ALTER SYSTEM SET undo_retention=10800 SCOPE=BOT
Lob retention not changing when undo_retention is changed (Doc ID 563470.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 8.1.7.4 to 10.2.0.5 [Release 8.1.7 to 10.2]Oracle Database Exadata Cloud Machine - Version N/A and laterOracle Clou
61. Evaluate the following SQL statements that are issued in the given order:CREATE TABLE emp(emp_no NUMBER(2) CONSTRAINT emp_emp_no_pk PRIMARY KEY,ename VARCHAR2(15),salary NUMBER(8,2),mgr_no NUMBER(2) CONSTRAINT emp_mgr_fk REFERENCES emp);ALTER TAB
另外查了下v$undostat,发现begin_time已经很久没有改变, BEGIN_TIME END_TIME MAXQUERYLEN MAXCONCURRENCY UNEXPIREDBLKS EXPIREDBLKS BEGIN_TIME DATE Identifies the beginning of the time interval unexpired的在retention guarantee没有启用的情况下,可以看作是free的,你这里还有
原理: Oracle根据还原表空间信息,利用还原表空间中的数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. 删除删除错误的dml操作的oracle的前提准备: 一.保证可以闪回两个小时之前的数据 show parameter undo_retention 显示事务在undo表空间中至少保存的时间.表示一个事务提交以后,该事务的数据至少要在还原表空间中保存的undo_retention参数指定的时间(秒). alter system set undo_rete
Undo自动管理与手动管理 undo段自动管理SQL> show parameter undo_management 将undo段改为手工管理SQL> alter system set undo_management=manual scope=spfile;SQL> startup force; SQL> show parameter undoSQL> select * from v$rollname; SQL> create undo tablespace undot
提交DML操作后,该操作使用的还原段就可以被其它对象使用了,为了保证闪回操作时这些数据仍然被保存在还原段中,可能需要重新设置undo_retention参数,表示一个事务提交后,该事务的数据必须保存在还原段中的时间:但是这也并不能完全保证指定的时间的数据一定能够被恢复,还原表空间没有足够的时间时,仍会覆盖要求保留的磁盘空间. 查看undo_retention的当前值: SQL> show parameter undo_retention NAME TYPE VALUE -------------