故障: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/shm
Oracle在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默认大小为2G
LABEL=/ / 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
转载于:https://blog.51cto.com/ibmcn/766996