为了降低解决方案的复杂性,我被要求将双节点 Oracle 10g RAC 生产数据库转换为单实例。该数据库在 RHEL5 上运行,并在 SAN 上使用 ASM。
我认为至少需要采取以下步骤:
- 从集群就绪服务中删除实例
- 限制第二个节点对共享存储的访问
- 删除第二个实例的重做日志
- 删除第二个实例的撤消表空间
- 从 pfile/spfile 中删除对第二个实例的引用
- 重新链接 Oracle 二进制文件,请参阅 Gaius 的帖子
还有其他考虑吗?创建单节点物理备用会更好吗?
有人知道相关的白皮书或者 Metalink 说明吗?
答案1
做此链接有帮助吗?
对于 ASM,编辑 ASM pfile 并删除以下行
cluster_database=TRUE
+ASM.instance_number=<somthing>
如果 rootdelete.sh 失败,您可能还会发现 metalink 239998.1 很有帮助。
答案2
您还需要重新链接 Oracle 二进制文件:
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk rac_off
$ make -f ins_rdbms.mk ioracle
当然,如果您创建单节点备用,它将已经“取消 RAC”,但您仍然需要“清理”第二个重做线程等。刚刚快速浏览了一下 Metalink,他们的搜索引擎找到了很多从单实例转换为 RAC 的结果,但我不认为 Oracle 希望您反过来做...