Oracle 11g的Linux版本在修改了MEMORY_TARGET或者SGA_TARGET後啓動可能會報錯:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
這個問題是由於設置SGA的大小超過了操作系統/dev/shm的大小:
[root@enterprice64 ~]# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 4089416 0 4089416 0% /dev/shm
Oracle在metalink的文檔:Doc ID: Note:460506.1中進行了說明。解決這個問題只有兩個方法,一種是修改初始化參數,使得初始化參數中SGA的設置小於/dev/shm的大小,另一種方法就是調整/dev/shm的大小。
1.查看tmpfs參數
df -hl
2.設置參數
# umount tmpfs # mount -t tmpfs shmfs -o size=1500m /dev/shm
3.修改“/etc/fstab”
tmpfs /dev/shm tmpfs size=1500m 0 0
Oracle6.1重啓後設置回失效,還需如下設置
4.註釋如下語句
#mount -f /dev/shm >/dev/null2>&1
5.在rc.sysinit 中找到如下內容:
在rc.sysinit 中找到如下內容:
# Mount all other filesystems (except forNFS and /proc, which is already
# mounted). Contrary to standard usage,
# filesystems are NOT unmounted in singleuser mode.
if [ "$READONLY" !="yes" ] ; then
action $"Mounting local filesystems: " mount -a -tnonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev
else
action $"Mounting local filesystems: " mount -a -n -tnonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev
fi
在如下部分裏添加tmpfs 這個類型進去:
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 -Ono_netdev
fi
然後重啓OS:
[root@rac1 ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 14G 11G 2.4G 83% /
tmpfs 3.0G 88K 3.0G 1% /dev/shm
/dev/sda1 194M 46M 139M 25% /boot
本文出自 “無雙城” 博客,請務必保留此出處http://929044991.blog.51cto.com/1758347/1243446