欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 9i 数据库UNDO表空间释放

程序员文章站 2022-06-17 15:03:15
...

在检查数据库文件的磁盘使用空间时,发现undo表空间在这个周末居然用了4G之多。达到 了24G!按照平常的事物量,不会增长这么快,

在检查数据库文件的磁盘使用空间时,发现undo表空间在这个周末居然用了4G之多。达到 了24G!

按照平常的事物量,不会增长这么快,现在磁盘还剩几个G有点危险了,于是决定对undo表空间进行切换到一个比较新的数据文件中。

首先使用sys 用户创建一个undo表空间 undotbs02

初始大小为2G ,,自动扩展属性关闭,磁盘空间只剩3G多:(

sql>create undo tablespace undotbs02 datafile ‘/usr/Oracle/oradata/db/undotbs01.dbf’ size 2048m autoextend off;

然后激活新的表空间

sql> alter system set undo_tablespace=undotbs01;

系统已经更改!

查看是否有事物回滚

select count(*) from v$transaction

没有结果,说明当前没有事物回滚

查看之前的undo表空间的回滚段是否全部offline

select * from dba_rollback_segs 查询结果还有ONLINE的回滚段,这时候不能删除数据文件

Oracle 9i 数据库UNDO表空间释放

等到旧的回滚段全部OFFLINE之后才可以删除原来的undo表空间

于是 sql>drop tablespace undotbs1 including contents and datafiles ;

表空间已经删除!

Oracle 9i 数据库UNDO表空间释放