oracle11g数据库,修改了内存参数memory_max_target=943718400,关闭数据库重新启动的时候报错


[oracle@instuctor shm]$ sqlplus / as sysdba


SQL*Plus: Release 11.2.0.3.0 Production on Mon Nov 19 09:34:11 2012


Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to an idle instance.


SQL> startup


ORA-00845: MEMORY_TARGET not supported on this system


SQL> exit


Disconnected


[oracle@instuctor shm]$ oerr ora 00845


00845, 00000, "MEMORY_TARGET not supported on this system"


// *Cause: The MEMORY_TARGET parameter was not supported on this operating system or /dev/shm was not sized correctly on Linux.


// *Action: Refer to documentation for a list of supported operating systems. Or, size /dev/shm to be at least the SGA_MAX_SIZE on each


Oracle instance running on the system.




查看数据库的警告日志,同样看到了类似的报错信息


Mon Nov 19 09:34:14 2012


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 943718400


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 845021184 and used is 208900096 bytes. Ensure that the mount point is /dev/shm for this directory.


memory_target needs larger /dev/shm


通过以上原因的分析,看来是/dev/shm剩余的空间太小了




[oracle@instuctor shm]$ df -H


Filesystem             Size   Used  Avail Use% Mounted on


/dev/sda1               17G    15G   1.2G  93% /


tmpfs                  1.1G   209M   846M  20% /dev/shm


[oracle@instuctor shm]$




Oracle在metalink的文档:Doc ID:Note:460506.1中进行了说明。


解决这个问题只有两个方法,


1.修改初始化参数,使得初始化参数中SGA的设置小于/dev/shm的大小


2.调整/dev/shm的大小。


修改/dev/shm的大小可以通过修改/etc/fstab来实现:


[root@instuctor ~]# vi /etc/fstab


LABEL=/                 /                       ext3    defaults        1 1


tmpfs                   /dev/shm                tmpfs   defaults,size=2G   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-sda2         swap                    swap    defaults        0 0


~


~


[root@instuctor ~]# mount -o remount /dev/shm


[root@instuctor ~]# df -H


Filesystem             Size   Used  Avail Use% Mounted on


/dev/sda1               17G    15G   1.2G  93% /


tmpfs                  2.2G   209M   2.0G  10% /dev/shm




扩大/dev/shm后,再次尝试启动数据库,没有问题。


[oracle@instuctor ~]$ sqlplus / as sysdba


SQL*Plus: Release 11.2.0.3.0 Production on Mon Nov 19 10:02:33 2012


Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to an idle instance.


SQL> startup


ORACLE instance started.


Total System Global Area  939495424 bytes


Fixed Size                  2233960 bytes


Variable Size             616565144 bytes


Database Buffers          314572800 bytes


Redo Buffers                6123520 bytes


Database mounted.


Database opened.



oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html