回滚表空间处理 --undo表空间undotbs

回滚表空间处理(转载)

Oracle中当读写大批量数据时候,如果不及时提交任务,会导致回滚表空间的迅速增加,回滚表空间会一直增大,而不自动释放它占用的硬盘空间,(当然,几个小时后,系统会自动释放它自身的占用率,但不会释放它所占用的硬盘空间),所以要手动去解决。

1、替换回滚表空间方法,

思路:先新建,再重新定向到新建的回滚表空间,然后删除掉原来的回滚表空间

undo表空间undotbs一直增加且不能释放空间,重建之(先重建后删除)

-- 创建备用undo表空间

create undo tablespace newundotbs datafile '$ORA_DATA/newundotbs01.dbf' size 1000m

/ 切换undo表空间,使系统使用新建的回滚表空间

alter system set undo_tablespace=newundotbs scope=spfile

/关闭服务

shutdown immediate

/重新启动服务

startup

/

-- 删除掉原来的混滚表空间

drop tablespace undotbs including contents and datafiles

/

-- 创建原undo表空间

create undo tablespace undotbs datafile '$ORA_DATA/undotbs01.dbf' size 1000m

/

-- 切换undo表空间

alter system set undo_tablespace=undotbs scope=spfile

/

-- 关闭重起并把备用undo表空间drop

shutdown immediate

/

startup

/

drop tablespace newundotbs including contents and datafiles

/

2、回滚段无法删除的处理

ORA-01548: 已找到活动回退段'_SYSSMU1$',终止删除表空间 的解决办法

出现原因:

在oracle的服务期控制台直接进行了数据文件的脱离的操作,提示如下:ORA-01145:除非启用了介质恢复,否则不允许紧急脱机

ALTER DATABASE

DATAFILE 'E:"ORACLE"ORADATA"SHAOMF"UNDOTBS01.DBF' OFFLINE DROP;

症状:

删除回滚段表空间(drop tablespace undotbs1 including contents)的时候报下面的错

ORA-01548: 已找到活动回退段'_SYSSMU1$',终止删除表空间

处理过程:

1 create undo tablespace undotBS2 datafile 'E:"oracle"oradata"shaomf"UNDOTBS2.DBF' size 100m;

alter system set undo_tablespace=undotBS2;

drop tablespace undotbs1 including contents;(进行这部操作的时候会报下面的错):

ORA-01548: 已找到活动回退段'_SYSSMU1$',终止删除表空间

2 修改文件E:"oracle"admin"shaomf"pfile"init.ora.162007221035,如下:

undo_management=manual

undo_retention=10800

undo_tablespace=undotBS2

_CORRUPTED_ROLLBACK_SEGMENTS =(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$)

3 启动服务

startup pfile=E:"oracle"admin"shaomf"pfile"init.ora.162007221035

4 删除表空间

drop tablespace undotbs1 including contents;

create undo tablespace undotBS1 datafile 'E:"oracle"oradata"shaomf"UNDOTBS01.DBF' size 200m;

drop tablespace undotBS2 including contents;

5 修改init.ora.162007221035,如下:

undo_management=auto

undo_retention=10800

undo_tablespace=undotBS1

#_CORRUPTED_ROLLBACK_SEGMENTS =(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$)

6 关闭服务,并且用下面的命令重新启动服务

startup pfile=E:"oracle"admin"shaomf"pfile"init.ora.162007221035

7 拷贝spfile文件,原先的spfile文件做好备份

create spfile='E:"oracle"ora92"database"SPFILESHAOMF.ORA' FROM pfile='E:"oracle"admin"shaomf"pfile"init.ora.162007221035';

8 关闭服务器,重新启动服务器,即可。

select segment_name,status,tablespace_name from dba_rollback_segs;

SEGMENT_NAME STATUS TABLESPACE_NAME

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

SYSTEM ONLINE SYSTEM

_SYSSMU1$ ONLINE UNDOTBS1

_SYSSMU2$ ONLINE UNDOTBS1

_SYSSMU3$ ONLINE UNDOTBS1

_SYSSMU4$ ONLINE UNDOTBS1

_SYSSMU5$ ONLINE UNDOTBS1

_SYSSMU6$ ONLINE UNDOTBS1

_SYSSMU7$ ONLINE UNDOTBS1

_SYSSMU8$ ONLINE UNDOTBS1

_SYSSMU9$ ONLINE UNDOTBS1

_SYSSMU10$ ONLINE UNDOTBS1

已选择11行。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值