oracle启动报错:ORA-00845: MEMORY_TARGET not supported on this system

(我遇到问题的情况简述:
    在vmware虚拟机中把内存调小了就出现此错误。

今天启动oracle的时候,报错
[root@localhost ~]#su - oracle
[oracle@localhost ~]$lsnrctl start
lsnrctl: error while loading shared libraries: /u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied
解决办法:在root用户下执行以下命令
[root@localhost ~]# setenforce 0


[root@localhost ~]#su - oracle
[oracle@localhost ~]$lsnrctl start
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 20-SEP-2012 19:03:03
Copyright (c) 1991, 2009, Oracle.  All rights reserved.
Starting /u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Log messages written to /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                20-SEP-2012 19:03:04
Uptime                    0 days 0 hr. 0 min. 1 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
The listener supports no services
The command completed successfully
问题解决。
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> startup
报错:ORA-00845: MEMORY_TARGET not supported on this system


问题定位:安装数据库时或者修改了参数MEMORY_TARGET或者SGA_TARGET的大小。
 SGA参数的大小超过了操作系统/dev/shm的大小。
 linux安装完后默认/dev/shm为物理内存的一半。


技术背景:linux大内存支持(Very Large Memory)中,使用了shmfs/tmpfs选项,ramfs也可以。
 /dev/shm目录挂载类型为tmpfs,此共享内存用于交换,尤其对于大文件优势明显。
 相对于ramfs,tmpfs的优势在于动态调整物理内存的占用,而ramfs不能调整。
 /dev/shm与swap的区别:shm基于内存的文件系统,swap基于硬盘的文件系统。


解决方法:


1、调整MEMORY_TARGET(11G)或者SGA_TARGET(9i,10G)大小(不建议)。


2、调整/dev/shm的大小。
 修改/etc/fstab,重新mount /dev/shm,然后就可以启动数据库了。


(1)查看/dev/shm 大小
 df -k /dev/shm
 Filesystem 1K-blocks Used Available Use% Mounted on
 tmpfs 4089416 0 4089416 0% /dev/shm
(2)调整/dev/shm大小
 vi /etc/fstab
 #tmpfs /dev/shm tmpfs defaults 0 0
 tmpfs /dev/shm tmpfs defaults,size=10240M 0 0
(3)重新加载
 umount /dev/shm
 mount /dev/shm
 df -k /dev/shm
(4)登陆测试
 sqlplus / as sysdba


至此问题得到解决。


<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(5) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值