Oracle DB管理还原数据(二)

2014-11-24 12:04:21 · 作者: · 浏览: 1
在固定大小的表空间中进行自优化,以实现最佳的保留时间
用来支持闪回操作的DBA 任务:
配置还原保留时间
将还原表空间更改为固定大小
避免空间错误和“快照太旧”错误
Oracle DB 提供了“自动还原管理”功能,这是一种完全自动的机制,用于管理所有会话的专用还原表空间中的还原信息和空间。系统自动优化自身,从而尽可能地提供还原信息的最佳保留时间。更准确地说,对于自动扩展的表空间,会将还原保留时间优化为略长于运行时间最长的活动查询的持续时间。对于固定大小的还原表空间,数据库会进行动态优化,尽可能地获得最佳保留时间。
自动还原管理是Oracle Database 11g(和更高版本)中的默认功能。也支持手动还原管理,以便与Oracle8i及较早版本向后兼容,但是这种模式下DBA 需要进行更多的交互操作。
在手动还原管理模式下,通过回退段而不是还原表空间来管理还原空间。
注:Oracle 强烈建议使用自动还原管理。
尽管在默认情况下,Oracle DB 自动管理还原数据和空间,但如果数据库正在使用闪回操作,则可能需要执行某些任务。还原管理功能可防止空间错误、使用过多的空间和“快照太旧”错误。
7、配置还原保留时间
UNDO_RETENTION指定已提交的还原信息要保留多长时间(秒)。仅在以下情况下才必须设置这个参数:
还原表空间启用了AUTOEXTEND选项
要设置LOB 的还原保留时间
要保证保留时间
UNDO_RETENTION初始化参数指定还原保留时间的下限阈值(秒)。可将自动扩展的还原表空间的最短还原保留时间设置为预期的最长闪回操作所需的时间。对于自动扩展的还原表空间,系统至少按这个参数指定的时间保留还原数据,而且还会自动调整还原保留时间以满足查询的还原要求。但是,此自动优化的保留时间可能不足以执行闪回操作。
对于固定大小的还原表空间,系统会根据还原表空间大小和使用历史记录,自动调整到尽可能最优的还原保留时间;系统会忽略UNDO_RETENTION直至启用保留时间保证。因此,进行自动还原管理时,在以上中列出的三种情况都使用UNDO_RETENTION设置。
对于这三种以外的情况,会忽略此参数。
还原信息分为三类:
未提交的还原信息(活动):支持当前运行的事务处理,如果用户要回退事务处理或事务处理失败,需要用到这类信息。绝对不会覆盖未提交的还原信息。
提交的还原信息(未过期):不再需要用来支持运行的事务处理,但是为了符合还原保留时间间隔,仍然要用到这类信息。这也称为“未过期”还原信息。当不是因为缺少空间而导致活动事务处理失败时,就会保留提交的还原信息。
过期的还原信息(过期):不再需要用来支持运行的事务处理。活动事务处理需要空间时会覆盖过期的还原信息。
8、保证还原保留时间
默认还原行为是覆盖已提交、但尚未过期的事务处理的还原信息,而不是让活动事务处理因缺少还原空间而失败。
保证保留时间会改变此行为。有了保留时间保证,即使会导致事务处理失败,仍然会强制执行还原保留时间设置。
RETENTION GUARANTEE是表空间属性而不是初始化参数。此属性只可使用SQL 命令行语句来更改。通过更改还原表空间来保证保留时间的语法是:
SQL>
ALTER TABLESPACE undotbs1 RETENTION GUARANTEE;
要将有保留时间保证的还原表空间返回到其常规设置,请使用以下命令:
SQL> ALTER TABLESPACE undotbs1 RETENTION NOGUARANTEE;
保留时间保证仅适用于还原表空间。尝试对非还原表空间设置保留时间会产生以下错误:
SQL> ALTER TABLESPACE example RETENTION GUARANTEE;
ERROR at line 1:
ORA-30044: 'Retention' can only specified for undo tablespace
9、将还原表空间更改为固定大小
原因:
支持闪回操作
限制表空间增长
工作流:
1.运行正常工作量。
2.自优化机制创建所需的最小大小。
3.可以选择使用还原指导,该指导可计算为了满足未来增长而需要的大小。
4.可以选择将还原表空间更改为固定大小。
可能出于以下两个原因,将还原表空间更改为固定大小:支持闪回操作(预期将来会使用还原功能)或防止表空间增长过大。
如果决定将还原表空间更改为固定大小,则必须选择一个足够大的大小以避免以下两类错误:
DML 失败(因为空间不够大,无法还原新事务处理)
“快照太旧”错误(因为没有足够的还原数据来实现读取一致性)
Oracle 建议运行正常的满负荷工作量,使还原表空间增长到所需的最小大小。自动搜集的统计信息包括运行时间最长的查询的持续时间和还原生成速率。对于不执行闪回操作的
系统以及将来不打算对其执行运行时间更长的查询的系统,建议根据这些统计信息计算最小还原表空间大小。
对于运行时间更长的查询和闪回操作,可以使用还原指导来输入所需的还原时段长度。
10、一般还原信息
在Enterprise Manager 中,选择“Server > Automatic Undo Management(服务器> 自动还原管理)”。
有以下两页:“General(一般信息)”和“System Activity(系统活动)”。在“General(一般信息)”页的顶部,可以看到还原保留时间设置和有关该实例中还原表空间的信息。
11、使用还原指导
在“General Undo(常规还原)”页的中间部分,可以访问还原指导。通过它可估计满足指定的还原保留时间所需要的还原表空间大小。
该指导的分析区域会显示支持保留时间所需的表空间大小。可以通过单击图上的某个点来查看支持选定期间所需要的表空间大小。
单击“Edit Undo Tablespace(编辑还原表空间)”按钮,然后在“Datafile(数据文件)”部分单击“Edit(编辑)”,将还原表空间更改为固定大小。
场景:修改还原保留时间并计算还原表空间大小,以支持要求的48小时保留时间。
a)单击“General(一般信息)”选项卡返回到“General Automatic Undo Management(常规自动还原管理)”页。
b)在“Undo Advisor(还原指导)”部分,选中“Specified manually to allow for longer duration queries or flashback(手动指定以允许持续时间更长的查询
或闪回)”。
c)在“Duration(持续时间)”字段中输入48 小时,然后单击“Run Analysis(运行分析)”按钮。
结果显示的还原表空间大小非常接近于建议的还原表空间大小。此大小适用于大