很早以前写过几篇文章,描述在RAC环境下添加节点的问题,其中在使用DBCA添加节点时,碰到了PRKC-1055错误。
Oracle10203RAC环境添加新节点(六):http://yangtingkun.itpub.net/post/468/493937
运行DBCA在配置好新实例的设置后,在最后运行的时候报错:Failed to create directory “” on “racnode3”, “PRKC-1055: Directory name passed was null”. PRKC-1055: Directory name passed was null。
本来一直认为是Oracle的DBCA处理不当,导致使用OMF存在异常,并最终引发了这个问题。最近Kamus也碰到了这个问题,最终发现是由于参数设置的问题,导致新增节点的目录参数设置和已有节点的参数冲突从而导致了问题。
可以参考文档DBCA Fails With PRKC-1055 While Adding a New Instance to an Existing RAC Database [ID 394519.1]。
简单的说,DBCA会验证目录设置在所有节点上是否存在。可以通过下面的脚本找到所有修改过的参数:
SELECT name,''''||VALUE||'''' val FROM v$parameter WHERE isdefault='FALSE' UNION SELECT name,''''||VALUE||'''' val FROM v$system_parameter WHERE ismodified='MODIFIED' ORDER BY 1,2; |
确认这些参数对应的值和目录在新增节点上是存在的。此外根据Kamus的提醒,还应该确认db_create_file_dest、db_create_online_log_dest_n、db_recovery_file_dest以及log_archive_dest_n参数的设置是否指向了正确的位置。