ORA-00845: MEMORY_TARGET not supported on this system

10.png  

环境: RHEL 5 ,64位,Oracle 11 R2。


在做实验的时候,由于想开两台虚拟机做数据库迁移测试和数据比对,由于笔记本物理内存不够,想将Linux虚拟机内存调小,VMware中设置完成之后进入系统发现数据库没起来,提示:


SQL>  conn / as sysdba                                  
Connected to an idle instance.
SQL>  startup
ORA-00845: MEMORY_TARGET not supported on this system


经网上查询,发现是因为/dev/shm在跟着虚拟机内存调整之后(一般为物理内存的一半)小于MEMORY_TARGET值导致的该错误。


Oracle官方解释:
Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm)and file descriptors. The size of the shared memory should be at least the greater of MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer. If MEMORY_MAX_TARGET or MEMORY_TARGET is set to a non zero value, and an incorrect size is assigned to the shared memory, it will result in an ORA-00845 error at startup.


查看MEMORY_TARGET:


SQL>  sho parameter target


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target                   integer     0
db_flashback_retention_target        integer     1440
fast_start_io_target                 integer     0
fast_start_mttr_target               integer     0
memory_max_target                    big integer 700M
memory_target                        big integer 700M
parallel_servers_target              integer     8
pga_aggregate_target                 big integer 0
sga_target                           big integer 0


查看shm大小:


[root@dbserver ~]#  df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       26G   18G  6.5G  74% /
/dev/sda1              99M   21M   73M  23% /boot
tmpfs                 636M     0  636M   0% /dev/shm
none                  636M  104K  636M   1% /var/lib/xenstored


MEMORY_TARGET确实是小于/dev/shm值的大小。




解决问题的方法有两个:

1.修改fstab文件:
[root@dbserver ~]#  cat /etc/fstab 
/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        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


将/dev/shm那一行修改成如下形式:
tmpfs                   /dev/shm                tmpfs   defaults, size=1G  0 0     -----------size一定要大于MEMORY_TARGET
重启便可使修改生效。


2.手动重新挂载
[root@dbserver ~]#  mount -o remount,size=1G /dev/shm
然后起数据库:
[root@dbserver ~]#  su - oracle
[oracle@dbserver ~]$  sqlplus / as sysdba


SQL*Plus: Release 11.2.0.1.0 Production on Fri Mar 7 06:29:59 2014


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


Connected to an idle instance.


SQL>  startup
ORACLE instance started.


Total System Global Area  730714112 bytes
Fixed Size                  2216944 bytes
Variable Size             574622736 bytes
Database Buffers          146800640 bytes
Redo Buffers                7073792 bytes
Database mounted.
Database opened.
SQL> 


OK! 


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

转载于:http://blog.itpub.net/20802110/viewspace-1103700/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值