PS:前些時間一台示範環境的Oracle 11g for Linux不知什麼原因,啟動不起來,報錯ORA-00845。搜尋了下,這個問題是由於設定SGA的大小超過了作業系統/dev/shm的大小。當時解決了沒空寫總結,今天有點空,總結分享一下:
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
[root@oracle11g ~]# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 3072000 1374176 1697824 45% /dev/shm
Oracle在metalink的文檔:Doc ID: Note:460506.1中進行了說明。解決這個問題只有兩個方法,一種是修改初始化參數,使得初始化參數中SGA的設定小於/dev/shm的大小,另一種方法就是調整/dev/shm的大小。
我的解決方案:
1、修改/dev/shm的大小可以通過修改/etc/fstab檔案來實現(size的值要根據記憶體大小來調整,我調整了幾次才成功。):
[root@oracle11g ~]# vim /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults,size=3000m 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
2、修改/etc/fstab,重新mount /dev/shm,就可以啟動資料庫了,問題解決。
[root@oracle11g ~]# umount /dev/shm
[root@oracle11g ~]# mount /dev/shm
[root@oracle ~]# su - oracle
[oracle@oracle ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Fri Nov 30 17:09:42 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1102344192 bytes
Fixed Size 2212576 bytes
Variable Size 838864160 bytes
Database Buffers 251658240 bytes
Redo Buffers 9609216 bytes
Database mounted.
Database opened.
永久連結 : http://www.ha97.com/5175.html