• 欢迎访问MACD实战投资网站,推荐使用最新版谷歌Chrome浏览器访问本网站,关注公众号 丁火甲木庚金 www.macd11.com/subscriptions

(总结)Linux下Oracle11gR2的ORA-00845错误解决方法

原创总结 丁火 12年前 (2012-11-30) 11171次浏览 1个评论

PS:前些时间一台演示环境的Oracle 11g for Linux不知什么原因,启动不起来,报错ORA-00845。搜索了下,这个问题是由于设置SGA的大小超过了操作系统/dev/shm的大小。当时解决了没空写总结,今天有点空,总结分享一下:

SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

[root@oracle11g ~]# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 3072000 1374176 1697824 45% /dev/shm

Oracle在metalink的文档:Doc ID: Note:460506.1中进行了说明。解决这个问题只有两个方法,一种是修改初始化参数,使得初始化参数中SGA的设置小于/dev/shm的大小,另一种方法就是调整/dev/shm的大小。

我的解决方法

1、修改/dev/shm的大小可以通过修改/etc/fstab文件来实现(size的值要根据内存大小来调整,我调整了几次才成功。):

[root@oracle11g ~]# vim /etc/fstab

/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults,size=3000m 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0


2、修改/etc/fstab,重新mount /dev/shm,就可以启动数据库了,问题解决。

[root@oracle11g ~]# umount /dev/shm
[root@oracle11g ~]# mount /dev/shm



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

SQL*Plus: Release 11.2.0.1.0 Production on Fri Nov 30 17:09:42 2012

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 1102344192 bytes
Fixed Size 2212576 bytes
Variable Size 838864160 bytes
Database Buffers 251658240 bytes
Redo Buffers 9609216 bytes
Database mounted.
Database opened.


macd11.com 和 丁火甲木庚金 公众号版权所有丨如未注明 , 均为原创丨转载请注明原文链接。
喜欢 (0)
[sp91@qq.com]
分享 (0)

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽
  1. 今天也遇到这个问题了,系统是CentOS 6.2,修改 /etc/fstab 重启之后,mount 命令看到 tmpfs 的挂载参数和 /etc/fstab 是一致的,但是用 df 看到的 tmpfs 大小却是默认的,和修改 /etc/fstab 之前的一样。通过 `mount -o remount tmpfs' 命令重新挂载 tmpfs 之后大小就是指定的大小;我现在是把这条命令写入到 `/etc/rc.local' 里了,感觉有点 dirty。 Oracle Linux (OEL)下修改tmpfs大小并使之生效(http://blog.csdn.net/sunjiapeng/article/details/8504639) 这篇 Blog 说修改 /etc/rc.sysinit 这个脚本,这个方法我没有测试,请问教主是怎么修改 tmpfs 大小的,通过 /etc/fstab 修改 tmpfs 大小在系统重启后为什么会失效?
    Terry Zheng2014-05-12 10:39