程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> /dev/shm應該設置多大Oracle實例啟動時才能不報ORA-00845

/dev/shm應該設置多大Oracle實例啟動時才能不報ORA-00845

編輯:Oracle教程

/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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved