oracle12.2rac新增节点后出现undo被占用

描述

ORACLE 12.2 rac环境下新增一个节点之后,新增节点上的PDB启动失败。下面简单记录下解决问题的过程,有时间再详细梳理。

解决过程

表象:
​ 节点创建成功后,泰尔和海银的PDB不能open,会报某个undo表空间被占用。
​ 拓邦启动之后自动变为受限模式

解决过程:

  1. undo被占用,先考虑了新增节点的默认undo是否是执行被占用undo的,发现不是,都有自己的默认undo表空间
  2. 考虑能否释放undo,PDB1被占用的undo不是任何节点的默认undo,因此考虑删除,发现删除不掉,有未提交事务(这个问题没解决)
  3. PDB2被占用的undo是节点2使用的undo,考虑替换undo之后,无法删除被占用的undo
  4. 开始考虑为什么节点三的pdb会去用其他的undo表空间,理论上应该用自己的undo表空间
  5. 在可用节点查看已存在的undo,发现节点三的undo表空间不存在
  6. 查看alert日志,发现在实例创建时,节点3的undo表空间创建失败
  7. 怀疑是因为节点三的undo创建失败,自动去查找已存在的.undo。(注意,是.undo,还需要验证,不过PDB3的也创建失败,但是没有尝试使用其他节点的undo,而是启动为受限模式了,并且每次启动都会尝试去创建undo),创建不成功,会在alert报错
  8. 手动创建节点三的undo,并重新制定给节点三,启动成功,问题解决。