您的位置:首页 > 其它

ORA-00845: MEMORY_TARGET not supported on this system

2014-06-20 20:36 405 查看
描述:新配置了一台虚拟机,安装有ORACLE11gR1,数据库startup报错:

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

问题原因:

oracle@DG2 ~]$ oerr ora 00845

00845, 00000, "MEMORY_TARGET not supported on this system"

// *Cause: The MEMORY_TARGET parameter was not supported on this operating system or /dev/shm was not sized correctly on Linux.

// *Action: Refer to documentation for a list of supported operating systems. Or, size /dev/shm to be at least the SGA_MAX_SIZE on each Oracle instance running on the system. For ASM instances, set MEMORY_TARGET explicitly to 0 if /dev/shm cannot be configured.

         

         在oracle11g中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就会报错。

          Oracle SGA的大小超过了系统shm的大小。

          本身shm大小应该是系统分配的默认,随着物理内存的大小自动调节。如果不静态设置当物理内存发生变化时,tmfs也会变化,有可能导致Oracle SGA的大小超过了系统shm的大小的情况,出现ORA-00845的错误。

          查看当前shm的大小:

[root@DG2 ~]# df -h

文件系统              容量  已用 可用 已用% 挂载点

/dev/sda3              16G  2.8G   12G  19% /

/dev/sda2              21G  5.7G   14G  30% /oracle

/dev/sda1              99M   12M   83M  13% /boot

tmpfs                 901M     0  901M   0% /dev/shm

解决办法:

          一、修改shm的大小;二、修改memory_max_target 大小

          在物理内存充足的情况下,我们当然应该修改shm的大小:

 [root@DG2 ~]# vi /etc/fstab 

将tmpfs 一项从

tmpfs                   /dev/shm                tmpfs   defaults        0 0

改为

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

保存后退出,重新挂载一下

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

[root@DG2 ~]# mount /dev/shm

[root@DG2 ~]# df -h

文件系统              容量  已用 可用 已用% 挂载点

/dev/sda3              16G  2.8G   12G  19% /

/dev/sda2              21G  5.7G   14G  30% /oracle

/dev/sda1              99M   12M   83M  13% /boot

tmpfs                 1.0G     0  1.0G   0% /dev/shm

再启动数据库就没有问题了,当然值可以改的更大一些。

          

            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: