在进行undo切换时,因为原undo表空间有一部分回滚段状态是online,导致原undo表空间无法drop,针对此种情形下面采用以下方式:
1、创建新undo表空间
2、将undo表空间切换到新的undo表空间
3、查出原undo表空间状态为online的segment_name
4、 创建临时pfile
create pfile='' from spfile;
5、 将数据库关闭
shutdown immediate;
6、修改上面的临时pfile,在后面追加以下内容
*._corrupted_rollback_segments=
(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$),括号中是前面查出的segment_name。
7、用临时pfile启动数据库
startup pfile='';
8、将drop掉原undo表空间
记下存储空间目前空闲空间有多少,再执行
drop tablespace undotbs1 including contents and datafiles;
检查表空间是否已经删除,存储空间是否已经释放。
9、将spfile备份,并创建新spfile
mv spfilexxx.ora mv spfilexxx.ora.mmdd
create spfile from pfile='';
9、关闭数据库,以nomount方式启动数据库
shutdown immediate;
show parameter spfile;
10、使用的spfile无误,则开启数据库
alter database mount;
alter database open;
1、创建新undo表空间
2、将undo表空间切换到新的undo表空间
3、查出原undo表空间状态为online的segment_name
4、 创建临时pfile
create pfile='' from spfile;
5、 将数据库关闭
shutdown immediate;
6、修改上面的临时pfile,在后面追加以下内容
*._corrupted_rollback_segments=
(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$),括号中是前面查出的segment_name。
7、用临时pfile启动数据库
startup pfile='';
8、将drop掉原undo表空间
记下存储空间目前空闲空间有多少,再执行
drop tablespace undotbs1 including contents and datafiles;
检查表空间是否已经删除,存储空间是否已经释放。
9、将spfile备份,并创建新spfile
mv spfilexxx.ora mv spfilexxx.ora.mmdd
create spfile from pfile='';
9、关闭数据库,以nomount方式启动数据库
shutdown immediate;
show parameter spfile;
10、使用的spfile无误,则开启数据库
alter database mount;
alter database open;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26690043/viewspace-1327013/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26690043/viewspace-1327013/