翻译自mos文章/dev/shm应该设置多大Oracle 实例启动时才能不报ORA-00845

Posted msdnchina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了翻译自mos文章/dev/shm应该设置多大Oracle 实例启动时才能不报ORA-00845相关的知识,希望对你有一定的参考价值。

/dev/shm应该设置多大Oracle 实例启动时才能不报ORA-00845
来源于:ORA-00845 - Which value for /dev/shm is needed to startup database without ORA-00845 (文档 ID 1399209.1)

适用于:
Oracle Database - Standard Edition - Version 11.1.0.6 and later
Information in this document applies to any platform.
***Checked for relevance on 17-Jul-2015***

目标:
从Oracle database 11g开始, the Automatic Memory Management(AMM)特性需要更多的shared memory(/dev/shm)和文件描述符
Shared memory 的大小必须至少大于该台主机上每个Oracle Instance的 MEMORY_MAX_TARGET参数值和MEMORY_TARGET参数值。
如果MEMORY_MAX_TARGET参数或者MEMORY_TARGET参数被设置为了一个非零值,并且一个不正确的值被指定给了shared memory,这会导致Oracle instance启动失败:会报 ORA-00845 错误

在Linux系统中,如果操作系统系统的/dev/shm mount size 相对于Oracle SGA和PGA来说太小,你会遇到下面的错误:

ORA-00845: MEMORY_TARGET not supported on this system.

这个错误的原因是不充足的/dev/shm分配。SGA 和PGA的总内存大小,即:在初始化参数中设置的MEMORY_TARGET 或者 MEMORY_MAX_TARGET,不能大于你的操作系统上的shared memory file system (/dev/shm)大小。

细节

The alert log will provide the expected value for /dev/shm.

WARNING: You are trying to use the MEMORY_TARGET feature. 
This feature requires the /dev/shm file system to be mounted for at least 1073741824 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 1049145344 and used is 430080 bytes. 
Ensure that the mount point is /dev/shm for this directory. memory_target needs larger /dev/shm


Here the alert log confirms:

current size : 1049145344 bytes
expected size: 1073741824 bytes (at least)


The current size of /dev/shm is also confirmed by the ‘df‘ command -- Current value

# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 1024976 420 1024556 1% /dev/shm


To fix the current issue the solution would be to allocate at least 1073741824 bytes for /dev/shm.

# mount -t tmpfs shmfs -o size=1073741824 /dev/shm 
# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
shmfs 1048576 0 1048576 0% /dev/shm


To retain the value across machine startups, make sure that the /etc/fstab mount database contains a reference to this new value, like in:

shmfs /dev/shm tmpfs size=1073741824 0


 

以上是关于翻译自mos文章/dev/shm应该设置多大Oracle 实例启动时才能不报ORA-00845的主要内容,如果未能解决你的问题,请参考以下文章

翻译自mos文章使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方式。

翻译自mos文章在10g中,当发生ORA-00020时,sqlplus登陆会报“connected to an idle instance”

翻译自mos文章已经安装的Oracle database组件和自带的用户信息

翻译自mos中文文章重建控制文件的方法

翻译自mos文章使用dbua升级时,须要手工设置CLUSTER_DATABASE參数么?

翻译自mos文章设置了RemoveIPC=yes 的RHEL7.2上 会crash掉Oracle asm 实例和Oracle database实例