Ora-03113 錯誤分析

tonywi888發表於2007-05-22

每一個DBA在進行資料庫管理的過程中不可避免的要遇到形形色色的錯誤(ORA-1547 ,ORA-904,ORA-1578 ......)。有些錯誤由於頻繁出現、原因複雜而被 Oracle 搜尋一下,在網際網路上有很多資訊等著你去發現,不要什麼都問別人。

當然, 如果你找到了一些對你更有幫助的東西--這篇文件就不用看了 :-)

錯誤原因情景分析

1) Unix核心引數設定不當 / init引數設定不當

如果資料庫在安裝過程中沒有設定正確的作業系統核心變數,可能在安裝資料庫檔案的時侯沒甚麼問題,在建立資料庫的時侯常常會出現03113錯誤。和此有關的另一個原因是init.ora 引數檔案中的processes引數指定了不合理的值,啟動資料庫導致錯誤出現(當然這個歸根到底也是核心引數的問題).這個錯誤資訊一般如下:

ORA-03113: end-of-file on communication channel
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

解決辦法有兩個:

  • 修改核心引數,加大相應核心引數的值(推薦)
  • 減小init.ora引數的Processes的值。

需要注意的是:

  • SEMMSL必須設定為至少要10 + '程式數的最大值'
  • SEMMNS 也依賴於每個資料庫上的程式引數值。

注:這個錯誤型別只在Unix平臺上出現。在Windows上如果processes的值過大,則會出現類似如下的錯誤:


ORA-00068: invalid value 24200001 for parameter max_rollback_segments,must be between 2 and 65535 
/* 此時指定的引數值超過了65535 */

或者
ORA-27102: out of memory 

/* 小於65535的一個大引數值 */

在特定平臺上更改核心引數可能會有差別,請參考() 上的安裝文件。對特定Unix平臺的安裝文件也有對核心引數意義的解釋。


Init.ora 中的引數如果設定不當,會產生該錯誤。有經驗表明:shared_pool_size 引數設定過小會出現錯誤,此外 timed_statistics=true 的設定也會帶來問題。

2) Oracle執行檔案許可權不正確/環境變數問題

這個問題只出現在Unix平臺上。常見情況是有的時侯管理員為了方便而使用 Unix 的 tar 命令處理過的壓縮包進行的安裝,或者是系統管理員指定了額外的 ()等

參考資訊

- Oracle的技術支援站點,要有CSI號碼才可以登入。參考Note編號:

  • Note:17613.1 ORA-3113 on Unix - What Information to Collect
  • NOTE:131207.1 How to Set UNIX Environment Variables
  • Note:131321.1 How to Relink Oracle Database Software on UNIX
  • Note:22080.1 An Introduction to Error Message Articles

技術專家Jonathan Lewis的站點上的一則FAQ
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8570952/viewspace-915878/,如需轉載,請註明出處,否則將追究法律責任。

相關文章