环境:oracle 11.2.0.4 rac

问题描述:在节点1上执行添加一个节点3后,后面启动三个节点时,发现新添加的节点3上的实例启动占用了undotbs1,导致节点1上面的实例启动时报如下错:

ORA-30013: undo tablespace 'UNDOTBS1' is currently in use

接着,如果手动执行下面操作,则三个节点能正常启动

srvctl stop database -d satdb 

srvctl start database -d satdb

后面,重启三个节点的服务器后,节点1又会出现UNDOTBS1被占用的情况

解决方法:

如果三个节点的数据库是打开的,请正常关闭。启动某一个节点,这里我是启动的节点1,执行下面操作

备份参数文件

create pfile from spfile;

设置节点3上实例所使用undo表空间

alter system set undo_tablespace 'UNDOTBS3' sid='db3'。

接着使用下面命令启动其他两个节点

srvctl start instance -d db -i db2,db3

启动两个实例后,直接重启三个节点所在的服务器,看看这个三个实例是否能正常启动,经测试是能够启动的。