您的位置:首页 > 其它

管理UNDO数据

2019-03-28 17:26 90 查看

还原段
内容
作用
种类
自动还原管理 
概念
配置
初始化参数
UNDO表空间
其它参数
获取还原段的信息

管理还原数据
管理还原数据的方法有两种:
自动还原管理:自动管理还原段的创建、分配和优化。
手动还原管理:手动……
“ 还原” 一词在以前的版本中称为“ 回退”。

还原段
还原段
在进程更改数据库中的数据时保存旧值(要还原的数据)。它按数据被 修改之前的原样存储数据的位置及数据本身。
还原段的标头包含一个事务处理表,该表中存储着有关使用这个还原段的当前事务处理的信息。
一个连续的事务处理只使用一个还原段存储它的全部还原数据。
许多并发事务处理可以写入一个还原段。

还原段的类型
SYSTEM: 用于SYSTEM表空间的对象
Non-SYSTEM: 用于其它表空间的对象:
自动模式: 要求UNDO表空间
手动模式:
专用: 由一个例程获取
公用: 由任何例程获取
延迟: 表空间处于立即脱机或临时脱机时使用或用于恢复

还原段
内容
作用
种类
自动还原管理 
概念
配置
初始化参数
UNDO表空间
其它参数
获取还原段的信息

自动还原管理: 概念
还原数据是使用UNDO 表空间来管理的。
您可以为每个例程分配一个UNDO 表空间,还要针对例程的工作量分配足够的空间。
Oracle 服务器自动维护UNDO 表空间内的还原数据。
自动还原管理: 配置

配置初始化文件中的两个参数:
UNDO_MANAGEMENT
UNDO_TABLESPACE
至少创建一个UNDO 表空间.

自动还原管理: 初始化参数
UNDO_MANAGEMENT:指定系统应该使用AUTO 模式还是MANUAL 模式,不能在数据库启动后进行动态更改
AUTO 模式可以将数据库设置为自动还原管理,并需要UNDO表空间。
在MANUAL 模式(缺省值)下,可以根据需要在数据库中创建和管理还原段
UNDO_TABLESPACE:指定要使用的特定UNDO 表空间,可以在初始化文件中设置,或使用ALTER SYSTEM命令来动态改变。

UNDO_MANAGEMENT=AUTO
UNDO_TABLESPACE=UNDOTBS
自动还原管理: UNDO 表空间
在创建数据库时一起创建UNDO 表空间,方法是,在CREATE DATABASE 命令中添加一个子句

或者稍后使用CREATE UNDO TABLESPACE 命令创建它

自动还原管理: 改变UNDO 表空间
使用ALTER TABLESPACE 命令,可以对UNDO 表空间进行更改.
在下面的示例中,向UNDO 表空间添加了其它数据文件:

自动还原管理: 切换UNDO 表空间
可以从使用一个UNDO 表空间切换到使用另一个UNDO表空间。
一次只能将一个UNDO 表空间分配给某个数据库。
一个例程中可以存在多个UNDO 表空间,但只能有一个处于活动状态。
使用ALTER SYSTEM 命令,可以在各个UNDO 表空间之间进行动态切换。


自动还原管理: 删除UNDO 表空间
使用DROP TABLESPACE 命令,可以删除UNDO 表空间.

某个UNDO 表空间只有在当前未由任何例程使用的时候才能被删除。
要删除活动的UNDO 表空间,请执行以下操作:
切换到新的UNDO 表空间
完成当前所有事务处理后,删除该表空间
例:确定是否存在任何一个活动的事务处理,
SQL> SELECT a.name,b.status
FROM vrollnamea,vrollname a, vrollnamea,vrollstat b
WHERE a.name IN ( SELECT segment_ name
FROM dba_ segments
WHERE tablespace_ name = 'UNDOTBS‘ )
AND a. usn = b. usn;

自动还原管理: 其它参数

UNDO_SUPPRESS_ERRORS 参数
将这个参数设置为TRUE,可以避免试图以AUTO 模式执行手动操作时产生错误。
UNDO_RETENTION 参数:确定还原数据的保留时间,以便提供读一致性
此参数控制为提供读一致性而保留的还原数据量。

还原数据统计信息

自动还原管理: 调整UNDO 表空间的大小
确定UNDO 表空间的大小时需要三条信息:
(UR) 以秒为单位的UNDO_RETENTION
(UPS) 每秒生成的还原数据块的数量
(DBS) 开销随着区大小和文件大小(db_block_size)变化

自动还原管理: 还原限额
长事务处理和未正确写入的事务处理会消耗宝贵的资源。
使用还原限额,可以对用户进行分组,并为用户组指定还原空间的最大限制。
UNDO_POOL 是“资源管理器” (Resource Manager) 指令,用于为资源组定义可用的空间量。
如果某个组超过其限制,这个组就不能进行任何新的事务处理,直到已完成或中止的当前事务处理释放了还原空间。

获取还原段信息

可以通过查询以下视图来获取有关还原段的信息:
DBA_ROLLBACK_SEGS
动态性能视图
VROLLNAMEVROLLNAME VROLLNAMEVROLLSTAT
VUNDOSTATVUNDOSTAT VUNDOSTATVSESSION
V$TRANSACTION

应该能够掌握:
配置自动还原管理
创建UNDO 表空间
正确调整还原表空间的大小

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: