ORA-00845 1

mysql oracle 关于
oracle 11g ORA-00845 处理方法一则
[oracle@db11g ~]$ sqlplus “/as sysdba”

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jul 11 12:52:21 2011

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

Connected to an idle instance.

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

查看alert文件的提示:
Starting ORACLE instance (normal)
WARNING: You are trying to use the MEMORY_TARGET feature. This feature requires the /dev/shm file system to be mounted for at least 2046820352 bytes.

/dev/shm is either not mounted or is mounted with available space less than this size. Please fix this so that MEMORY_TARGET can work as expected. Current

available is 1989042176 and used is 0 bytes. Ensure that the mount point is /dev/shm for this directory.
memory_target needs larger /dev/shm
Mon Jul 11 12:52:22 2011

根据oracle参考手册上对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.

初步判断是memory_target的值大于了/dev/shm的值:

[oracle@db11g ~]$ df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.9G 0 1.9G 0% /dev/shm

[oracle@db11g /]$ cat $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora

db11g.__java_pool_size=16777216
db11g.__large_pool_size=16777216
db11g.__oracle_base=’/u01/app/oracle’#ORACLE_BASE set from environment
db11g.__pga_aggregate_target=872415232
db11g.__sga_target=1275068416
db11g.__shared_io_pool_size=0
db11g.__shared_pool_size=369098752
db11g.__streams_pool_size=0
*.audit_file_dest=’/u01/app/oracle/admin/db11g/adump’
*.audit_trail=’db’
*.compatible=’11.2.0′
*.control_files=’/dev/raw/raw5′,’/dev/raw/raw6′,’/dev/raw/raw7′CC”Z
*.db_block_size=8192
*.db_domain=”
*.db_name=’db11g’
*.db_recovery_file_dest=’/u01/app/oracle/flash_recovery_area’
*.db_recovery_file_dest_size=2G
*.diagnostic_dest=’/u01/app/oracle’
*.dispatchers=’(PROTOCOL=TCP) (SERVICE=ORCLXDB)’
*.instance_name=’db11g’
*.memory_target=2G
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile=’EXCLUSIVE’
*.undo_tablespace=’UNDOTBS1′

通过比对发现:memory_target为2g,而/dev/shm总大小为1.9g,原因找到了,为什么会出现这种情况呢?

结合这两天对操作系统的修改,为了解决 Memory for crash kernel (0×0 to 0×0) notwithin permissible range,而启用了Kdump,修改了启动参数,增加了crashkernel=128M@16M,由于物理内存总大小为4g,内核划走了128m的内存,总可用物理内存就没有4g了,而/dev/shm的默认大小为物理内存的一半。因此要修改参数配置文

件/etc/fstab,将/dev/shm设为固定2g即可,然后重新挂载,启动数据库。操作如下:

# cat /etc/fstab
LABEL=/ / ext3 defaults 1 1
/dev/sdb1 /u01 ext3 defaults 1 1
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
LABEL=SWAP-sda5 swap swap defaults 0 0
LABEL=SWAP-sda6 swap swap defaults 0 0
# vi /etc/fstab

LABEL=/ / ext3 defaults 1 1
/dev/sdb1 /u01 ext3 defaults 1 1
tmpfs /dev/shm tmpfs defaults,size=2g 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-sda5 swap swap defaults 0 0
LABEL=SWAP-sda6 swap swap defaults 0 0

# mount -o remount /dev/shm
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 57G 3.1G 51G 6% /
/dev/sdb1 9.4G 5.9G 3.2G 66% /u01
tmpfs 2.0G 0 2.0G 0% /dev/shm
# su - oracle
[oracle@db11g ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jul 11 13:04:49 2011

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 2042241024 bytes
Fixed Size 1337548 bytes
Variable Size 1174406964 bytes
Database Buffers 855638016 bytes
Redo Buffers 10858496 bytes
Database mounted.
Database opened.
SQL>
通过固定/dev/shm大小,解决了ORACLE 11G ORA-00845: MEMORY_TARGET not supported on this system错误。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值