【Oracle】删除undo表空间时,表空间被占用:ORA-30042: Cannot offline the undo tablespace

特别注意:此办法只用于实在没有办法的时候,因为需要加入oracle中的隐含参数,慎用!!!

1. 先查一下是什么在占用undo

SYS@ENMOEDU>select segment_name,owner,tablespace_name,status from dba_rollback_segs where tablespace_name='UNDOTBS1' and status = 'ONLINE';

SEGMENT_NAME          OWNER  TABLESPACE_NAME     STATU
--------------------- ------ ------------------ ------
_SYSSMU6_1263032392$  PUBLIC UNDOTBS1           ONLINE

2. 在pfile参数文件中加入隐含参数:_corrupted_rollback_segments=‘_SYSSMU6_1263032392$’

3. 指定pfile启动数据库

SYS@ENMOEDU> startup pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initENMOEDU.ora'
ORACLE instance started.

4. undo表空间可以删除

SYS@ENMOEDU> drop tablespace undotbs1;

Tablespace dropped.

 

posted on 2016-12-16 15:04  Diegoal  阅读(682)  评论(0编辑  收藏  举报

导航