Oracle 11g ORA-00845: MEMORY_TARGET not supported on this system 说明

Posted tianlesoftware

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 11g ORA-00845: MEMORY_TARGET not supported on this system 说明相关的知识,希望对你有一定的参考价值。


 

启动Oracle 11gR2后报错:ORA-00845

 

rac1:/home/oracle> sqlplus / as sysdba;

SQL*Plus: 版本 11.2.0.3.0 生产 版 于 2012 年 2 月 14 日星期二 09:11:41

 

版权所有 (c) 1982、2011、甲骨文。保留所有权利。

 

已连接到空闲实例。

 

SQL>启动

ORA-00845:此系统上不支持MEMORY_TARGET

 

这个错误之前已经处理过,因为tmpfs的大小MEMORY_TARGET的设置,就会报这种错误。

 

rac1:/home/oracle> oerr ora 845

00845、00000、“此系统不支持MEMORY_TARGET”

*原因:此操作系统不支持 MEMORY_TARGET 参数,或者 /dev/shm 在 Linux 上未正确调整大小。

*要执行的操作: 请参阅文档,了解受支持的操作系统列表。或者,在系统上运行的每个 Oracle 实例上,大小 /dev/shm 至少为 theSGA_MAX_SIZE。

 

验证一下:

SQL> conn / as sysdba;

已连接到空闲实例。

SQL>启动挂载;

ORACLE 实例已启动。

 

系统全局总面积 1402982400 字节

固定大小2228304字节

可变大小822087600字节

数据库缓冲区 570425344 字节

重做缓冲区8241152字节

数据库已装入。

SQL> show parameter memory_target

 

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

memory_target                        big integer 1344M

--这里的memory_target 有1344M。

 

[root@rac1 ~]# df -lh

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3              14G   11G 2.4G  83% /

tmpfs                 978M   88K 978M   1% /dev/shm

/dev/sda1             194M   46M 139M  25% /boot

--这里可以看到tmpfs 只有978M。 这个参数我在安装DB的时候已经修改过:

 

[root@rac1 ~]# cat /etc/fstab

UUID=b1d2de8e-de31-4deb-b4e8-755c0ed01616/                       ext4    defaults        1 1

UUID=4df5aa5f-8ef0-473a-931a-51d11e21aa53/boot                   ext4    defaults        1 2

UUID=82085104-5021-4aaf-8e85-f213998107b6swap                    swap    defaults        0 0

tmpfs                   /dev/shm                tmpfs   defaults,size=3G    0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

--只是这里的配置在启动的时候没有生效。 具体配置参考:

[INS-35172]目标数据库内存(XXMB)超过系统可用共享内存(0MB)解决方法

http://www.cndba.cn/Dave/article/488

 

--把tmpfs 重新mount 一下:

[root@rac1 ~]# umount /dev/shm

umount: /dev/shm: device is busy.

(在某些情况下,有关使用

设备由 lsof(8) 或热熔器(1)找到)

 

​Linux umount报device is busy 的处理方法​

http://www.cndba.cn/Dave/article/652

 

--设备忙,用fuser处理一下:

[root@rac1 ~]# 热熔器 -km /dev/shm

/开发/shm: 1805m

[root@rac1 ~]# umount /dev/shm

[root@rac1 ~]# 挂载 /dev/shm

[root@rac1 ~]# df -lh

文件系统大小 已使用 利用率% 挂载于

/dev/sda3              14G   11G 2.4G  83% /

/dev/sda1             194M   46M 139M  25% /boot

tmpfs                 3.0G     0 3.0G   0% /dev/shm

--现在已经正常了。

 

再次重启了一下,发现发现设置的参数还是没有生效,因此疑惑在Oracle Linux 6.1 下,是否tmpfs始终保持的一半。 这个问题另篇Blog 进行测试。

 

 

 


以上是关于Oracle 11g ORA-00845: MEMORY_TARGET not supported on this system 说明的主要内容,如果未能解决你的问题,请参考以下文章

redhat5.8下oracle11g启动失败

ORA-00845错误原因及解决办法

翻译自mos文章/dev/shm应该设置多大Oracle 实例启动时才能不报ORA-00845

Oracle 12C RAC安装grid时root.sh报错ORA-00845

ORA-00845

Oracle启动实例报00845错误(linux系统)