上周为一位网友诊断了RAC数据库手动添加节点以后,所添加的节点可以手动startup,但是无法利用srvctl工具启动的问题。实际上是因为srvctl启动实例时优先使用的是ASM中的spfile,而手动startup则使用$ORACLE_HOME/dbs下的spfile,因为这位网友没有通过DBCA工具来添加实例,所以ASM中的spfile没有正确被配置。对于该类使用srvctl无法正常启动RAC数据库的”常见”问题,我们可以从以下几个方向入手:
1.使用”srvctl config database -d PROD -a”命令打印OCR中数据库的详细配置信息
[oracle@rh2 ~]$ srvctl config database -d PROD -h
Displays the configuration for the database.
Usage: srvctl config database [-d [-a] ] [-v]
-d Unique name for the database
-a Print detailed configuration information
-v Verbose output
-h Print usage
[oracle@rh2 ~]$ srvctl config database -d PROD -a
Database unique name: PROD
Database name: PROD
Oracle home: /s01/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/PROD/spfilePROD.ora
Domain:
Start options: open
Stop options: normal
Database role: PRIMARY
Management policy: MANUAL
Server pools: PROD
Database instances: PROD1,PROD2
Disk Groups: DATA
Mount point paths:
Services: maclean,maclean_pre,maclean_taf
Type: RAC
Database is enabled
Database is administrator managed
可以看到以上PROD数据库在CRS管理时使用+DATA/PROD/spfilePROD.ora ASM内的spfile启动。
2.分析sqlnet.ora配置文件,该文件位于$ORACLE_HOME/network/admin目录下
3.分析$ORACLE_HOME/log/
Comment