ORA-00845的錯誤與解決方案

Hoegh發表於2015-03-14
    在Linux虛擬機器上進行手工建庫,建立spfile執行startup nomount 後,報錯:
   ORA-00845: MEMORY_TARGET not supported on this system
    ORA-01078: Failure in processing system parameters

   下面是官方手冊裡的說明:
Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm)and file descriptors. The size of the shared memory must be at least the greater of the MEMORY_MAX_TARGET and MEMORY_TARGET parameters for each Oracle instance on the computer. If the MEMORY_MAX_TARGET parameter or the MEMORY_TARGET parameter is set to a nonzero value, and an incorrect size is assigned to the shared memory, it results in an ORA-00845 error at startup. On Linux systems, if the operating system /dev/shm mount size is too small for the Oracle system global area (SGA) and program global area (PGA), it results in an ORA-00845 error.
從11g開始,AMM特性要求更多的共享記憶體和檔案描述符。對於計算機上的每個oracle例項,它的共享記憶體大小必須至少比MEMORY_MAX_TARGET和MAX_TARGET都大。如果你啟用了AMM,也就是上面的兩個引數設定成了非零值,並且設定了不正確的共享記憶體值,那麼就會在啟動時出現ORA-00845的錯誤。
   
     首先,我檢視了引數檔案pfile,memory_targe的定義為1G;接著,執行下面的命令,檢視系統可用共享記憶體值大小
     #df -h /dev/shm/
   
    果然,系統可用共享記憶體小於1G,因此我執行下面的命令修改系統共享記憶體
    #mount -t tmpfs shmfs -o size=1g /dev/shm

     shmfs /dev/shm tmpfs size=1g 0

     其中,第一行命令是修改共享記憶體,第二條命令是使該修改永久生效。至此,問題解決。

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

相關文章