2024年12月6日 星期五

srvctl start database 產生 ORA-01078 錯誤案例

Oracle 版本: 19.19 , RAC

OS 版本: Linux 7.7


問題描述:

使用 srvctl 開啟資料庫時產生 ORA-01078 錯誤 :


看起來是因為沒有參數檔造成啟動失敗,但是檢查設定的確參數檔是存在且設定沒有錯 :


設定 initorcl19c1.ora 內容為 spfile= +DATA/ORCL/PARAMETERFILE/spfile.276.1162830161 ,嘗試使用 sqlplus 啟動資料庫,出現無法存取 spfile 的錯誤 :


問題分析:

存取 ASM 產生 TNS 錯誤有可能與 oracle 執行檔的權限錯誤有關,檢查 $ORACLE_HOME/bin 與 $GI_HOME/bin 底下 oracle 執行檔的權限,發現 $GI_HOME/bin/oracle 的權限錯誤 :


oracle 執行檔的權限必須為 6751 , $ORACLE_HOME/bin/oracle 的權限是對的,不過 $GI_HOME/bin/oracle 的權限是錯的。


解決方法:

更正 $GI_HOME/bin/oracle 的權限為 6751 之後即可正常啟動資料庫 :


最後補充一下,如果使用不同使用者以及多個 group 安裝 GI 與 DB ,必須注意 $ORACLE_HOME/bin/oracle 與 asm disk 的 group 必須為 GI 設定的 Oracle ASM Administrator (OSASM) group ,這個設定在安裝後於 $GI_HOME/rdbms/lib/config.c (Linux 系統) 可以查詢的到 :


這三個 Group 必須相同 :


照標準安裝的話, OSASM 一般設定為 asmadmin ,不論是否使用 asmadmin,我們在安裝 GI 、 DB 的時候都必須要注意這個設定。



沒有留言:

張貼留言