ORA-48108 / ORA-48140 / ORA-48187 - 診斷目標值錯誤 - 初始化文件/控製文件
這都是測試/培訓 - 這些都與生產環境無關
在 VM 上使用 ORACLE DB 12c + UNIX/LINUX 64 位。
.
嗨,大家好!我在以下錯誤中執行並且似乎無法解決它。你能幫忙嗎?
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/12.1.0.2/db_1/dbs/<ORACLE_BASE>] ORA-48187: specified directory does not exist Linux-x86_64 Error: 2: No such file or directory Additional information: 1
數據庫詳細資訊:
[oracle@ol12c dbs]$ echo $ORACLE_BASE /u01/app/oracle echo $ORACLE_HOME /u01/app/oracle/product/12.1.0.2/db_1 [oracle@ol12c dbs]$ ls -a . hc_cdb1.dat init.ora lkCDB1 spfilecdb1.ora STARTUP .. hc_pridb.dat initpridb.ora orapwcdb1 spfilepridb.ora [oracle@ol12c dbs]$ pwd /u01/app/oracle/product/12.1.0.2/db_1/dbs [oracle@ol12c dbs]$ echo $DB_NAME pridb [oracle@ol12c dbs]$ env | grep ORA ORACLE_UNQNAME=cdb1 ORACLE_SID=pridb ORACLE_BASE=/u01/app/oracle ORACLE_HOSTNAME=ol12c.localdomain ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
init.ora 包含:
diagnostic_dest='<ORACLE_BASE>'
initpridb.ora 包含:
diagnostic_dest='u01/app/oracle'
** 我已經將值更改為
'<ORACLE_BASE>'
//'/u01/app/oracle'
/'/u01/app/oracle/product/12.1.0.2/db_1'
,'|ORACLE_BASE|'
沒有運氣 - 都是一樣的錯誤。根據我之前的研究:
當我嘗試像下面這樣啟動時:
SQL> startup nomount pfile=/u01/app/oracle/product/12.1.0.2/db_1/dbs/initpridb.ora;
我收到相同的錯誤,見下文:
ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated ORA-01262: Stat failed on a file destination directory Linux-x86_64 Error: 2: No such file or directory
我注意到無論我將 diagnostic_dest 值更改為什麼,它都會使用該值 + ORACLE_BASE 進行搜尋。如果我翻轉它們(
'<ORACLE_BASE>/product/12.1.0.2/db_1/dbs'
),它將最終搜尋'<ORACLE_BASE>/product/12.1.0.2/db_1/dbs/<ORACLE_BASE>'
我對數據庫非常陌生,正在同一主機上創建一個新數據庫。創建此數據庫後,我將使用 Oracle Data Guard 創建另一個用作物理備用數據庫。請在提出行動建議時,表現得像在與不知情的人交談!:) :)
先感謝您!
.
.
更新
查看文件的詳細資訊:
[oracle@ol12c dbs]$ cat initpridb.ora # # $Header: rdbms/admin/init.ora /main/24 2012/02/03 08:24:01 ysarig Exp $ # # Copyright (c) 1991, 1997, 1998 by Oracle Corporation # NAME # init.ora # FUNCTION # NOTES # MODIFIED # ysarig 02/01/12 - Renaming flash_recovery_area to # fast_recovery_area # ysarig 05/14/09 - Updating compatible to 11.2 # ysarig 08/13/07 - Fixing the sample for 11g # atsukerm 08/06/98 - fix for 8.1. # hpiao 06/05/97 - fix for 803 # glavash 05/12/97 - add oracle_trace_enable comment # hpiao 04/22/97 - remove ifile=, events=, etc. # alingelb 09/19/94 - remove vms-specific stuff # dpawson 07/07/93 - add more comments regarded archive start # maporter 10/29/92 - Add vms_sga_use_gblpagfile=TRUE # jloaiza 03/07/92 - change ALPHA to BETA # danderso 02/26/92 - change db_block_cache_protect to _db_block_cache_p # ghallmar 02/03/92 - db_directory -> db_domain # maporter 01/12/92 - merge changes from branch 1.8.308.1 # maporter 12/21/91 - bug 76493: Add control_files parameter # wbridge 12/03/91 - use of %c in archive format is discouraged # ghallmar 12/02/91 - add global_names=true, db_directory=us.acme.com # thayes 11/27/91 - Change default for cache_clone # jloaiza 08/13/91 - merge changes from branch 1.7.100.1 # jloaiza 07/31/91 - add debug stuff # rlim 04/29/91 - removal of char_is_varchar2 # Bridge 03/12/91 - log_allocation no longer exists # Wijaya 02/05/91 - remove obsolete parameters # ############################################################################## # Example INIT.ORA file # # This file is provided by Oracle Corporation as a starting point for # customizing the Oracle Database installation for your site. # # NOTE: The values that are used in this file are example values only. # You may want to adjust those values for your specific requirements. # You might also consider using the Database Configuration Assistant # tool (DBCA) to create a server-side initialization parameter file # and to size your initial set of tablespaces. See the # Oracle Database 2 Day DBA guide for more information. ############################################################################### # Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at # install time) 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>/fast_recovery_area' db_recovery_file_dest_size=2G diagnostic_dest='/u01/app/oracle' dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)' open_cursors=300 remote_login_passwordfile='EXCLUSIVE' undo_tablespace='UNDOTBS1' # You may want to ensure that control files are created on separate physical # devices control_files = (ora_control1, ora_control2) compatible ='11.2.0'
和
[oracle@ol12c dbs]$ cat init.ora # # $Header: rdbms/admin/init.ora /main/24 2012/02/03 08:24:01 ysarig Exp $ # # Copyright (c) 1991, 1997, 1998 by Oracle Corporation # NAME # init.ora # FUNCTION # NOTES # MODIFIED # ysarig 02/01/12 - Renaming flash_recovery_area to # fast_recovery_area # ysarig 05/14/09 - Updating compatible to 11.2 # ysarig 08/13/07 - Fixing the sample for 11g # atsukerm 08/06/98 - fix for 8.1. # hpiao 06/05/97 - fix for 803 # glavash 05/12/97 - add oracle_trace_enable comment # hpiao 04/22/97 - remove ifile=, events=, etc. # alingelb 09/19/94 - remove vms-specific stuff # dpawson 07/07/93 - add more comments regarded archive start # maporter 10/29/92 - Add vms_sga_use_gblpagfile=TRUE # jloaiza 03/07/92 - change ALPHA to BETA # danderso 02/26/92 - change db_block_cache_protect to _db_block_cache_p # ghallmar 02/03/92 - db_directory -> db_domain # maporter 01/12/92 - merge changes from branch 1.8.308.1 # maporter 12/21/91 - bug 76493: Add control_files parameter # wbridge 12/03/91 - use of %c in archive format is discouraged # ghallmar 12/02/91 - add global_names=true, db_directory=us.acme.com # thayes 11/27/91 - Change default for cache_clone # jloaiza 08/13/91 - merge changes from branch 1.7.100.1 # jloaiza 07/31/91 - add debug stuff # rlim 04/29/91 - removal of char_is_varchar2 # Bridge 03/12/91 - log_allocation no longer exists # Wijaya 02/05/91 - remove obsolete parameters # ############################################################################## # Example INIT.ORA file # # This file is provided by Oracle Corporation as a starting point for # customizing the Oracle Database installation for your site. # # NOTE: The values that are used in this file are example values only. # You may want to adjust those values for your specific requirements. # You might also consider using the Database Configuration Assistant # tool (DBCA) to create a server-side initialization parameter file # and to size your initial set of tablespaces. See the # Oracle Database 2 Day DBA guide for more information. ############################################################################### # Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at # install time) 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>/fast_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' # You may want to ensure that control files are created on separate physical # devices control_files = (ora_control1, ora_control2) compatible ='11.2.0'
和
[oracle@ol12c dbs]$ echo $ORACLE_SID pridb [oracle@ol12c dbs]$ echo $ORACLE_HOME /u01/app/oracle/product/12.1.0.2/db_1 [oracle@ol12c dbs]$ echo $ORACLE_BASE /u01/app/oracle [oracle@ol12c dbs]$ echo $DB_NAME pridb
.
.
更新 2
我按照建議更新了初始化文件。更改
<ORACLE_BASE>
為實際路徑:/u01/app/oracle/
[oracle@ol12c dbs]$ cat initpridb.ora ... ... db_name='ORCL' memory_target=1G processes = 150 audit_file_dest='/u01/app/oracle/admin/orcl/adump' audit_trail ='db' db_block_size=8192 db_domain='' db_recovery_file_dest='/u01/app/oracle/fast_recovery_area' db_recovery_file_dest_size=2G diagnostic_dest='/u01/app/oracle' dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)' open_cursors=300 remote_login_passwordfile='EXCLUSIVE' undo_tablespace='UNDOTBS1'
和
[oracle@ol12c dbs]$ cat init.ora ... ... db_name='ORCL' memory_target=1G processes = 150 audit_file_dest='/u01/app/oracle/admin/orcl/adump' audit_trail ='db' db_block_size=8192 db_domain='' db_recovery_file_dest='/u01/app/oracle/fast_recovery_area' db_recovery_file_dest_size=2G diagnostic_dest='/u01/app/oracle' dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)' open_cursors=300 remote_login_passwordfile='EXCLUSIVE' undo_tablespace='UNDOTBS1'
不手動選擇 pfile 時出現錯誤:
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/12.1.0.2/db_1/dbs/<ORACLE_BASE>] ORA-48187: specified directory does not exist Linux-x86_64 Error: 2: No such file or directory Additional information: 1
但它有效!:)(我剛剛遇到了一個新問題,但這可能與此無關)
SQL> startup nomount pfile=/u01/app/oracle/product/12.1.0.2/db_1/dbs/initpridb.ora; ORA-09925: Unable to create audit trail file Linux-x86_64 Error: 2: No such file or directory Additional information: 9925
我還注意到兩者的 db_name 都設置為 ORCL。不確定這是否會產生進一步的問題。
.
.
更新 3
為了:
ORA-09925: Unable to create audit trail file
我查看了 Oracle 知識庫文件:ORA-09925: Unable To Create Audit Trail File at Startup ( Doc ID 2267223.1 ) 我正在按照解決方案的步驟進行操作。b點的輸出:
[oracle@ol12c ~]$ ps -ef|grep LOCAL oracle 8211 8172 0 14:06 ? 00:00:00 oraclepridb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) oracle 8448 8408 0 14:18 pts/1 00:00:00 grep --color=auto LOCAL
我試過了:
[oracle@ol12c ~]$ strace -frT -o /tmp/strace.1.log -p 8211 Process 8211 attached
但這似乎被卡住/載入,因此 - 我又被卡住了。
.
.
更新 4
都解決了。ORACLE 實例已啟動。
最後一個錯誤 (ORA-09925) 已通過將
audit_file_dest
參數的原始值從更新到正確的路徑來解決。從audit_file_dest='/u01/app/oracle/admin/orcl/adump'
到 >>audit_file_dest='/u01/app/oracle/admin/pridb/adump'
SQL> startup nomount pfile=/u01/app/oracle/product/12.1.0.2/db_1/dbs/initpridb.ora; ORACLE instance started. Total System Global Area 1073741824 bytes Fixed Size 2932632 bytes Variable Size 671088744 bytes Database Buffers 394264576 bytes Redo Buffers 5455872 bytes
.
感謝大家的幫助!
忽略
init.ora
,不使用。你想要init<SID>.ora
。在你的情況下,這似乎是initpridb.ora
您已掌握的此文件中的此評論似乎已被忽略:
更改“<ORACLE_BASE>”以指向 oracle 庫(您在安裝時指定的那個)
你還有:
audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'
將此修改為:
/u01/app/oracle/admin/orcl/adump
然後再試一次。