ORA-00845: MEMORY_TARGET not supported on this system

打开数据库发现如下错误:
[ oracle@localhost  ~]$ sqlplus /nolog 

SQL*Plus: Release 11.2.0.1.0 Production on Tue Oct 21 00:21:56 2014 

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

@ 21-OCT-14>conn /as sysdba 
Connected to an idle instance. 
SYS@orcl2  21-OCT-14>startup mount; 
ORA-00845: MEMORY_TARGET not supported on this system

到官方文档error messages查看ORA-00845错误的详细信息:
ORA-00845: 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.
从oracle11g开始引入了自动内存管理AMM,这项技术可以自动管理内存,包括pga和sga,决定数据库是否使用AMM的参数是memory_target。这一特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于memory_target。
从文档资料可以知道,如果/dev/shm大小小于sga_max_size的话就会出现ORA-00845的错误。那么对应的就有两种解决方案:一种是改变sga的大小,一种是改变/dev/shm的大小,显然后者更加符合我们的需要。
首先看看原来/dev/shm的大小:
[ oracle@localhost dev]$ du -sh /dev/shm 
480M /dev/shm 
[ oracle@localhost dev]$ df -h /dev/shm 
Filesystem Size Used Avail Use% Mounted on 
tmpfs 1014M 480M 535M 48% /dev/shm 

是480M。

再去看看oracle中memory_target的值(可以去init.ora中查看):
*.memory_target=848297984

可以看到,memory_target为809M,而/dev/shm却只有480M。这里我们将/dev/shm的大小修改为2G,即2048M。
打开/etc/fstab,在tmpfs一行中defaults后添加“,size=2048M”:
[oracle@localhost dbs]$ cat /etc/fstab 
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
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-sda3         swap                    swap    defaults        0 0
/var/swap/swapfile      swap                    swap    defaults        0 0
/dev/sdb1               /u02                    ext3    defaults        0 0

存盘退出。
重新mount下shm使其生效:
root@localhost /]# mount /dev/shm 

重新使用df查看是否已经修改了:
[ root@localhost /]# df -h  /dev/shm
Filesystem Size Used Avail Use% Mounted on 
tmpfs  2.0G 0 2.0G 0% /dev/shm 

再次打开数据库就成功了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29800581/viewspace-1307223/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29800581/viewspace-1307223/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值