实例启动时报ORA-00845的解决方法idle startupORA-00845: MEMORY_TARGET not supported on this system因
实例启动时报ORA-00845的解决方法
idle> startupORA-00845: MEMORY_TARGET not supported on this system因为我一个库里有两个实例,启动时/dev/shm就不够用了。
在Oracle 11g中如果采用AMM内存管理,那么当MEMORY_TARGET的值大于/dev/shm的时候,就会报ORA-00845: MEMORY_TARGET not supported on this system错误,解决办法增加/dev/shm大小,在redhat系列系统中,/dev/shm的默认值是系统总内存的一半
1、修改/dev/shm大小[oracle@rtest ~]$ df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 140G 57G 76G 43% //dev/sda1 99M 12M 82M 13% /boottmpfs 3.9G 995M 3.0G 25% /dev/shm[oracle@rtest ~]$ mount -o size=8G -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shmmount: only root can do that[oracle@rtest ~]$ su -Password: [root@rtest ~]# mount -o size=8G -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm[root@rtest ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 140G 57G 76G 43% //dev/sda1 99M 12M 82M 13% /boottmpfs 8.0G 995M 7.1G 13% /dev/shm
2、 vi /etc/fstab
LABEL=/ / ext3 defaults 1 1LABEL=/boot /boot ext3 defaults 1 2tmpfs /dev/shm tmpfs defaults,size=8G 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 0LABEL=SWAP-sda2 swap swap defaults 0 0
3、启动数据库验证:[oracle@rtest ~]$ export ORACLE_SID=test0924[oracle@rtest ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 28 14:41:13 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
idle> idle> idle> conn /as sysdbaConnected to an idle instance.idle> startupORACLE instance started.
Total System Global Area 3340451840 bytesFixed Size 2232960 bytesVariable Size 3204451712 bytesDatabase Buffers 117440512 bytesRedo Buffers 16326656 bytesDatabase mounted.Database opened.idle> conn /as sysdbaConnected.sys@TEST0924> show parameter mem
NAME TYPE VALUE------------------------------------ ----------- ------------------------------hi_shared_memory_address integer 0memory_max_target big integer 3200Mmemory_target big integer 0shared_memory_address integer 0
4、官方解析
Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm)and file descriptors. The size of the shared memory should be at least the greater of MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer. If MEMORY_MAX_TARGET or MEMORY_TARGET is set to a non zero value, and an incorrect size is assigned to the shared memory, it will result in an ORA-00845 error at startup.
5、解决问题建议
5.1. If you are installing Oracle 11g on a Linux system, note that Memory Size (SGA and PGA), which sets the initialization parameter MEMORY_TARGET or MEMORY_MAX_TARGET, cannot be greater than the shared memory filesystem (/dev/shm) on your operating system. To resolve the current error, increase the /dev/shm file size.
5.2. If configuring AMM is not possible due to lack of space on /dev/shm mount point, you can configure ASMM instead of AMM, i.e. set SGA_TARGET, SGA_MAX_SIZE and PGA_AGGREGATE_TARGET instead of MEMORY_TARGET.