Undo的管理
unod 表空间的创建
create undo tablespace tablespace datafile 'file_specifications'
'extent_management'--'tablespace_retention'
从一个undo表空间切换到另一个undo表空间
一次只能将一个 UNDO 表空间分配给某个数据库
alter system set undo_tablespace='newundotbs' scope='both|memory|spfile'
一个例程中可以存在多个 UNDO 表空间,但只能有一个处于活动状态
删除一个undo表空间
要删除活动的UNDO 表空间,请执行以下操作:
– 切换到新的 UNDO 表空间
– 完成当前所有事务处理后,删除该表空间
drop tablespace undotbs;
查询undo表空间是否有活动事物
select a.name,b.status from v$rollname a,v$rollstat b where a.name in (select segment_name from dba_segments where tablespace_name='MYUNDOTBS')and a.usn=b.usn;
状态为 PENDING OFFLINE的某个还原段仍包含活动的事务处理。如果查询没有返回任何行,则表明所有事务处理均已完成,并且可以使用以下命令删除该表空间。
删除 UNDO 表空间时,该表空间不能再被例程使用,表空间内的所有事务处理必须均已完成。