undo表空间是用来存放从数据读出的数据块旧的镜像,具体作用有:
1 回滚事务 将旧的数据保存在Undo中,以防止回滚
2 读一致性 也就是说在做DML操作的数据块在没有提交的时候,其它用户读取的都是回滚段里面的数据
3 恢复事务
4 倒叙查询 flashback query、flashback table
undo表空间常见的操作
1 切换undo表空间
-
SQL> select file_id , file_name from dba_data_files;
-
-
FILE_ID FILE_NAME
-
---------- --------------------------------------------------
-
1 /u01/app/oracle/oradata/PROD/disk3/system01.dbf
-
2 /u01/app/oracle/oradata/PROD/disk4/undotbs01.dbf
-
3 /u01/app/oracle/oradata/PROD/disk4/sysaux01.dbf
-
4 /u01/app/oracle/oradata/PROD/disk3/system02.dbf
-
-
SQL> create undo tablespace undotbs3 datafile \'/u01/app/oracle/oradata/PROD/disk4/undotbs02.dbf\' size 10m;
-
-
Tablespace created.
-
-
SQL> alter system set undo_tablespace=undotbs3;
-
-
System altered.
-
-
SQL> show parameter undo;
-
-
NAME TYPE VALUE
-
------------------------------------ ----------- ------------------------------
-
undo_management string AUTO
-
undo_retention integer 5400
-
undo_tablespace string UNDOTBS3
2 undo参数
SQL>show parameter undo
NAME TYPE VALUE
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS
1.undo_management
该初始化参数用于指定undo数据的
管理方式。如果要使用自动
管理模式,必须设置为auto,如果使用手工
管理模式必须设置该参数为manual,使用自动
管理模式时,oracle会使用undo表空间管理,使用手工管理模式时,oracle会使用回滚段管理undo数据。需要注意,使用自动管理模式时,如果没有配置初始化参数UNDO_TABLESPACE,oracle会自动选择第一个可用的UNDO表空间存放UNDO数据,如果没有可用的UNDO表空间,oracle会使用SYSTEM回滚段存放UNDO记录,并在ALTER文件中记载警告。
2,UNDO_TABLESPACE
该初始化参数用于指定
例程所要使用的UNDO表空间,使用自动UNDO管理模式时,通过配置该参数可以指定
例程所要使用的UNDO表空间.
在RAC(Real Application Cluster)结构中,因为一个UNDO表空间不能由多个
例程同时使用,所有必须为每个例程配置一个独立的UNDO表空间.
3,UNDO_RETENTION
该初始化参数用于控制UNDO数据的最大
保留时间,其默认值为900秒,从9i开始,通过配置该初始化参数,可以指定undo数据的
保留时间,从而确定
倒叙查询特征(Flashback Query)可以查看到的最早时间点.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29598413/viewspace-1140929/
,如需转载,请注明出处,否则将追究法律责任。