Oracle数据库还原数据基础知识

还原数据在用户修改数据内容时创建,保存修改前的值,还原数据至少会保留到事务结束,便于rollback时使用。

还原数据保证读取一致性。

还原数据可用于闪回查询,查找过去某个时间点的数据。用于闪回表,将表恢复到特定时间点。

还原表空间自动进行管理,对于自动扩展的表空间,会将还原保留期优化为略长于 运行时间最长的活动查询。对于固定大小的还原表空间,数据库会进行动态优化,尽可能获得最佳保留时间。

当还原表空间设置为自动增长或要设置LOB的还原保留时间时,需配置还原保留时间参数undo_retention,此参数只能应用于还原表空间,使用以下命令启用(关闭)还原保留时间,默认900秒(15分):

ALTER TABLESPACE undotbs RETENTION (NO)GUARANTEE; 

查看undo_retention参数值:

SQL>SHOW PARAMETER UNDO_RETENTION;

修改undo_retention的值:

SQL>ALTER SYSTEM SET UNDO_RETRNTION = 整数 SCOPE=BOTH;

查看还原表空间是否启用了还原保留时间:

SELECT TABLESPACE_NAME,CONTENTS,RETENTION
FROM DBA_TABLESPACES 
WHERE CONTENTS = 'UNDO';

将还原表空间设置为固定大小可以支持闪回操作并限制还原表空间的过大增长,必须设置一个合适的固定大小否则会产生以下两种错误:
1.DML失败
剩余空间不足以存放此次DML操作的还原数据,返回错误。
2.快照过旧
还原表空间中没有还原数据支持一致性查询。
将还原表空间修改为固定大小:在EM的“Server > Automatic Undo Management(服务器 > 自动还原管理)”中点击“Edit Undo Tablespace”,在“Datafile”栏下点击“Edit”即可修改为固定大小。

猜你喜欢

转载自blog.csdn.net/tus00000/article/details/82936508
今日推荐