使用UNDO参数
1. UNDO_MANAGEMENT
该初始化参数用于指定UNDO数据的管理方式。如果要使用自动管理模式,必须设置参数为AUTO;如果使用手工管理模式,必须设置该参数为MANUAL。使用自动管理模式时,oracle会使用UNDO表空间管理UNDO数据;使用手工管理模式时,oracle会使用回滚段管理UNDO数据。在实际应用环境中,如果使用自动UNDO管理模式,必须建立UNDO表空间。
2. UNDO_TABLESPACE
该初始化参数用于指定例程所要使用的UNDO表空间。使用自动UNDO管理模式时,通过配置该参数可以指定例程所使用的UNDO表空间。但一定要注意,设置初始化参数UNDO_TABLESPACE时,必须确保UNDO表空间存在,否则会导致例程启动失败。
3. UNDO_RETENTION
该初始化参数用于控制UNDO数据的最大保留时间,其默认值为900秒。从oracle9i 开始,通过配置该初始化参数,可以指定UNDO数据保留时间,从而确定倒叙查询特征可以查看到的最早时间。
建立UNDO表空间
1.使用CREATE DATABASE 命令建立UNDO表空间
当使CREATE DATABASE 命令建立数据库时,通过指定UNDO TABLESPACE 选项,可以建立UNDO表空间。示例如下:
CREATE DATABASE DB01
....
UNDO TABLESPACE UNDOTBS01
DATAFILE '/U01/ORACLE/RBDB1/UNDO01.DBF' SIZE 30M
2. 使用 CREATE UNDO TABLESPACE 命令建立UNDO 表空间
建立了oracle数据库后,DBA可以执行CREATE UNDO TABLESPACE 命令建立UNDO 表空间。示例如下:
CREATE UNDO TABLESPACE UNDOTBS3
DATAFILE 'D:D/DEMO/UNDOTBS.DBF' SIZE 10M
修改表空间
建立UNDO 表空间后,DBA 可以使用ALTER TABLESPACE 命令修改UNDO 表空间。当事务用尽了UNDO 表空间的空间后,DBA可以使用ALTER TABLESPACE...ADD DATAFILE 命令为其增加数据文件;当UNDO表空间所在磁盘填满时,DBA可以使用 ALTER TABLESPACE .... RENAME DATAFILE;当在OPEN 状态下移动UNDO表空间时,DBA可以使用ALTER TABLESPACE...OFFLINE命令使表空间脱机;当数据库处于ARCHIVELOG 模式时,DBA可以使用ALTER TABLESPACE ...BEGIN BACKUP/END BACKUP 命令备份UNDO表空间。