Oracleg故障诊断之----ORA-00845

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@enterprice64 ~]# vi /etc/fstab

LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
LABEL=/data /data ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
#tmpfs /dev/shm tmpfs defaults 0 0
tmpfs /dev/shm tmpfs defaults,size=10240M 0 0
LABEL=/home /home ext3 defaults 1 2
LABEL=/opt /opt ext3 defaults 1 2
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=/usr /usr ext3 defaults 1 2
LABEL=/var /var ext3 defaults 1 2
LABEL=SWAP-sda8 swap swap defaults 0 0
~
"/etc/fstab" 13L, 965C written
[root@enterprice64 ~]# umount /dev/shm
[root@enterprice64 ~]# mount /dev/shm
[root@enterprice64 ~]# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 10485760 0 10485760 0% /dev/shm

也可以使用如下命令修改

# umount tmpfs
# mount -t tmpfs shmfs -o size=1500m /dev/shm
这个命令之是临时修改SWQP分区大小而已,建议使用上面的命令进行永久性修改


测试是否能正常启动

[root@enterprice64 ~]# su - oracle
[oracle@enterprice64 ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Tue Oct 23 15:42:42 2007

Copyright (c) 1982, 2007, 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.

修改/etc/fstab ,重新mount /dev/shm ,然后就可以启动数据库了。

参考至:http://yangtingkun.itpub.net/post/468/408235
如有错误,欢迎指正
邮箱:[email protected]

 

你可能感兴趣的:(oracle,sql,linux,.net)