故障:ORA-00845: MEMORY_TARGET not supported on this system
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/shmOracle在metalink的文档:Doc ID:Note:460506.1中进行了说明。解决这个问题只有两个方法,一种是修改初始化参数,使得初始化参数中SGA的设置小于/dev/shm的大小,另一种方法就是调整/dev/shm的大小。
修改/dev/shm的大小可以通过修改/etc/fstab来实现:
[root@db2 ~]# df -h /dev/shm //查看/dev/shm大小
tmpfs 1.0G 500M 500M 50% /dev/shm
[root@db2 ~]#vi /etc/fstab //更换/dev/shm默认大小为2GLABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2 #tmpfs /dev/shm tmpfs defaults 0 0 tmpfs /dev/shm tmpfs defaults,size=2048M 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 LABEL=SWAP-hda3 swap swap defaults 0 0//注:本行defaults,size=10240M 中间无空格
[root@db2 ~]# [root@db2 ~]# umount /dev/shm [root@db2 ~]# mount /dev/shm [root@db2 ~]# df -h/dev/hda2 8.2G 4.1G 3.8G 53% /
/dev/hda1 92M 12M 75M 14% /boot tmpfs 2.0G 240M 1.8G 12% /dev/shm /dev/sda 7.9G 7.5G 39M 100% /array 修改/etc/fstab,重新mount /dev/shm,然后就可以启动数据库了。 [oracle@db2 ~]$ sqlplus "/as sysdba"SQL*Plus: Release 11.2.0.1.0 Production on Sat Jan 21 13:26:28 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 4743446528 bytes Fixed Size 2143824 bytes Variable Size 3892316592 bytes Database Buffers 805306368 bytes Redo Buffers 43679744 bytes Database mounted. Database opened