ORA-00845 MEMORY_TARGET not supported on this system

andyann發表於2011-04-06
問題描述:

在RHEL5.2系統中,安裝好ORALCE或者調整引數後啟動資料庫時提示如下:

SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

     
問題定位:
ORACLE引數MEMORY_TARGET或SGA_TARGET的大小超過虛擬記憶體/dev/shm大小。
Linux安裝完後預設/dev/shm為實體記憶體的一半。

技術背景:
Linux大記憶體支援(Very Large Memory)使用了虛擬技術shmfs/tmpfs。/dev/shm目錄掛載型別為tmpfs,此共享記憶體用於交換,尤其對於大檔案優勢明顯。相對於ramfs,tmpfs的優勢在於動態調整實體記憶體的佔用,而ramfs不能調整。
/dev/shm與swap的區別:shm基於記憶體的檔案系統,swap基於硬碟的檔案系統。

解決方法:
1 修改MEMORY_TARGET或者SGA_TARGET引數大小

   注:當/dev/shm已經調整到合適值時,調整引數。

2 調整/dev/shm的大小。
   修改/etc/fstab,重新mount /dev/shm,然後啟動資料庫。

(1)df -k /dev/shm  檢視大小
   Filesystem 1K-blocks Used Available Use% Mounted on 
   tmpfs       4089416   0     4089416  0%  /dev/shm
(2)vim /etc/fstab  更改引數
   #tmpfs /dev/shm tmpfs defaults 0 0
   tmpfs /dev/shm tmpfs defaults,size=10240M 0 0
(3)重新載入
   umount /dev/shm
   mount /dev/shm
   df -k /dev/shm
(4)sqlplus / as sysdba

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

相關文章