在启动数据库,读取初始化参数文件时会遇到一下错误:
SQL> startup nomount
ORA-48108: invalid value given for the diagnostic_dest init.ora parameter
ORA-48140: the specified ADR Base directory does not exist [/u01/app/oracle/product/11.2.0/db_11g/dbs/<ORACLE_BASE>]
ORA-48187: specified directory does not exist
Linux-x86_64 Error: 2: No such file or directory
Additional information: 1
Cause:
这是由于在创建pfile是没有完成正确的修改:
db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='<ORACLE_BASE>'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = (ora_control1, ora_control2)
compatible ='11.2.0'
以上是oracle 11g的init.ora模板,如果没有修改<ORACLE_BASE>这个值的话,就会报以上错误。
Solution:
将<ORACLE_BASE>替换成真正的oracle base路径,或者,将相关行删掉,这里建议将diagnostic_dest行删掉。