欢迎投稿

今日深度:

undo表空间,undo表

undo表空间,undo表


UNDO表空间数据文件切换
 1 新建一UNDO表空间
 CREATE UNDO TABLESPACE UNDOTBS DATAFILE '/dev/vx/rdsk/vgora/lv_undo' SIZE 10M AUTOEXTEND ON RETENTION NOGUARANTEE;
 2 切换表空间
 alter system set undo_tablespace='UNDOTBS1';
 shutdown immediate;
 startup
 drop tablespace UNDOTBS2 including contents and datafiles;
 CREATE UNDO TABLESPACE UNDOTBS1 DATAFILE '/dev/vx/rdsk/vgora/lv_undo' size 6000M;
 alter tablespace UNDOTBS1 add datafile '/dev/vx/rdsk/vgora/lv_undo1' size 8000M;
 alter system set undo_tablespace='UNDOTBS1';
 drop tablespace UNDOTBS including contents and datafiles;
 shutdown immediate;
 startup

oracle什决定UNDO表空间的大小

UNDO表空间用于存放UNDO数据,当执行DML操作时,oracle会将这些操作的旧数据写入到UNDO段,以保证可以回滚或者一致读等,而临时表空间主要用来做查询和存放一些缓冲区数据。你听说UNDO也是临时表可能是因为这两个表空间都不会永久保存数据的原因。
-------------------------------------------------------------------------
oracle undo表空间

undo表空间用于存放undo数据,当执行DML操作(insert、update、delete)时,oracle会将这些操作的旧数据写入到undo段。

undo数据的作用

1.回退事务

当执行DML操作修改数据后,旧数据被存放在undo段中。只要数据为提交、回滚段未写满或者回滚段为超时的情况下,旧数据都能被回滚回来。

2.读一致性

通过DML操作后的数据没有提交之前,其他用户读取的数据都是回滚段里面的旧数据。

使用undo参数

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)可以查看到的最早时间点.

手工管理回滚段的规划:

SQL> show parameter undo;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

undo_management string AUTO

undo_retention integer 900

undo_tablespace string UNDOTBS1

SQL> show parameter transactions;

NAME TYPE VALUE

------------------------------------ ----------......余下全文>>
 

对于undo表空间

1.undo空间满了是回退不是自动提交
2.undo_retention理解有误, 它是结合参数autoextensible使用的, 如果是fixed undo表空间,则不起作用
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/4095.html NewsArticle undo表空间,undo表 UNDO表空间数据文件切换 1 新建一UNDO表空间 CREATE UNDO TABLESPACE UNDOTBS DATAFILE '/dev/vx/rdsk/vgora/lv_undo' SIZE 10M AUTOEXTEND ON RETENTION NOGUARANTEE; 2 切换表空间 alter system set undo_tabl...
评论暂时关闭