MEMORY_TARGET not supported on this system for linux

spectre2發表於2013-07-16

一個專案上的oracle 11G資料庫,作業系統為redhat 6.3 X86_64,資料庫版本為oracle 11G R2。
  按照原有系統相關配置,配置好oracle所需的環境變數。所有準備就緒後,啟動資料庫進行測試,結果報如下錯誤:
  ORA-00845: MEMORY_TARGET not supported on this system
  這個是由於/dev/shm(共享記憶體)空間太小,而資料庫所需的記憶體(建庫是設定的全域性共享記憶體)超過/dev/shm目錄大小所致,tmpfs 的值預設情況是為系統記憶體的一半,那麼我們就需要給tmpfs增加空間。
]# df –h
Filesystem Size Used Avail Use% Mounted on

tmpfs 32G 14G 18G 44% /dev/shm

  修改/etc/fstab檔案:

tmpfs /dev/shm tmpfs defaults,size=46G 0 0

  重新掛載/dev/shm使修改生效:

# mount -o remount /dev/shm
  再次檢視空間大小

[root@orc09-lx ~]# df -h
Filesystem Size Used Avail Use% Mounted on

tmpfs 46G 14G 33G 31% /dev/shm

  修改成功後,再次啟動資料庫,已經沒有報錯,資料庫正常啟動。注意,資料庫正常啟動了是不是就完成了呢?不是的,重啟伺服器後,你會發現tmpfs又變成預設大小了,剛才修改的並沒有生效,我們需要將它設定為永久生效呢。這裡要注意,在RHEL6.0以上版本,除了修改/etc/fstab檔案我們還要修改一個非常重要的檔案:/etc/rc.d/rc.sysinit
  1、註釋以下內容:

# mount -f /dev/shm >/dev/null 2>&1
  2、在/etc/rc.d/rc.sysinit檔案中找到並修改如下內容:

# Mount all other filesystems (except for NFS and /proc, which is already
# mounted). Contrary to standard usage,
# filesystems are NOT unmounted in single user mode.
# The ‘no’ applies to all listed filesystem types. See mount(8).
if [ "$READONLY" != "yes" ] ; then
action $”Mounting local filesystems: ” mount  -a  -t   tmpfs,nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev
else
action $”Mounting local filesystems: ” mount  -a  -n  -t   tmpfs,nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev
fi
  修改完成後,重新啟動作業系統,發現已經成功。

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

相關文章