Tuesday, April 13, 2010

[ORA-00845]: MEMORY_TARGET not supported on this system

environment:

Oracle Database 11g Release 11.2.0.1.0 – 64bit
Red Hat Linux Server

人哪.. 如果閒著沒事幹就會替自己找麻煩=   =,今天把準備拿來當production的oracle shutdown下來,再重開。馬上就被賞了個大禮。說是大禮,因為要是今天沒發現... 等到真的上線了才手忙腳亂,也沒時間整理文件囉~ =P

先來說說11g的新變革:
Automatic Memory Management(AMM)是11g的新功能,需要額外的shared memory(/dev/shm)還有一些file descriptors來實現,透過MMAN這支process來管理動態管理SGA與PGA的大小。

比較一下11g跟10g以前的記憶體管理設定參數:

  11g before 10g
memory size MEMORY_TARGET
SGA_TARGET
PGA_AGGREGATE_TARGET
limit MEMORY_MAX_TARGET SGA_MAX_TARGET

(當MEMORY_TARGET或MEMORY_MAX_TARGET其中一個有指定值時,SGA_MAX_TARGET會自動設成大的那個)

嗯... 簡單介紹到這,接著該來講正事: ORA-00845
在startup oracle時,若

  1. /dev/shm not mounted
  2. mounted with available size less then MEMORY_TARGET(系統內shared memory(/dev/shm)比設定的MEMORY_TARGET還要小)

就會丟出ORA-00845這個錯誤。同時去檢查alert log,也可以看見相關訊息,而且他也會建議適合的大小給你設定。

Starting ORACLE instance (normal)
WARNING: You are trying to use the MEMORY_TARGET feature. This feature requires the /dev/shm file system to be mounted for at least 2097152000 bytes. /dev/shm is either not mounted or is mounted with available space less than this size. Please fix this so that MEMORY_TARGET can work as expected. Current available is 2071711744 and used is 0 bytes. Ensure that the mount point is /dev/shm for this directory.
memory_target needs larger /dev/shm

要判斷自己是哪種情況可以先下"df -k"這個指令來查看/dev/shm是否有mount,若正常,應該可以看到如下:

[...]$ df –k
檔案系統          1K-區段      已用        可用       已用%    掛載點
tmpfs             3145728   1062256   2083472    34%      /dev/shm

 

若確定有掛載,那就是大小問題,可以調大mountpoint size:

# mount -t tmpfs shmfs -o size=7g /dev/shm

 

為了讓每次server重開機時,可以自動分配同樣的大小,需要修改/etc/fstab這個檔案,請讓他看起來長的像這樣:
tmpfs     /dev/shm       tmpfs   size=3g    0 0

這樣就一切大功告成!! 祝startup愉快~ =D

Ref:

  1. [Oracle Doc] Oracle Release Notes > Known issues
  2. [Oracle Doc] Preinstallation Requirements > Hardware Requirements > Memory Requirements > Automatic Memory Management(AMM)
  3. (need login) [Metalink] ORA-00845: MEMORY_TARGET not supported on this system - Linux Servers [ID 465048.1]
  4. [Ask Tom] ORA-00845: …
  5. [鳥哥] /etc/fstab

Comments

0 Responses to "[ORA-00845]: MEMORY_TARGET not supported on this system"

Post a Comment

Tags