【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.
原文地址:https://www.cnblogs.com/NextAction/p/7366699.html