使用Huge Pages後資料庫啟動失敗

yangtingkun發表於2011-12-30

在配置Huge Pages後,啟動資料庫反應很慢,資料庫無法正常開啟。

 

 

檢查告警日誌,發現下面的錯誤:

Fri Dec 30 13:38:11 2011
Starting ORACLE instance (normal)
****************** Huge Pages Information *****************
Huge Pages memory pool detected (total: 34596 free: 34596)
Memlock limit too small: 67584000000 to accommodate segment size: 68587356160
Huge Pages allocation failed (free: 34596 required: 32705)
Allocation will continue with default/smaller page size
**********************************************************

顯然這是配置中設定的空間不足所致,手工修改limits.conf檔案:

[oracle@hpc ~]$ more /etc/security/limits.conf
# /etc/security/limits.conf
#
#Each line describes a limit for a user in the form.:
#
#           
#
#Where:
# can be:
#        - an user name
#        - a group name, with @group syntax
#        - the wildcard *, for default entry
#        - the wildcard %, can be also used with %group syntax,
#                 for maxlogin limit
#
# can have the two values:
#        - "soft" for enforcing the soft limits
#        - "hard" for enforcing hard limits
#
# can be one of the following:
#        - core - limits the core file size (KB)
#        - data - max data size (KB)
#        - fsize - maximum filesize (KB)
#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open files
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)
#        - cpu - max CPU time (MIN)
#        - nproc - max number of processes
#        - as - address space limit (KB)
#        - maxlogins - max number of logins for this user
#        - maxsyslogins - max number of logins on the system
#        - priority - the priority to run user process with
#        - locks - max number of file locks the user can hold
#        - sigpending - max number of pending signals
#        - msgqueue - max memory used by POSIX message queues (bytes)
#        - nice - max nice priority allowed to raise to values: [-20, 19]
#        - rtprio - max realtime priority
#
#                
#

#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4

# End of file
oracle              soft    nproc   16384
oracle              hard    nproc   16384
oracle              soft    nofile  65536
oracle              hard    nofile  65536
oracle              soft    memlock 268435456
oracle              hard    memlock 268435456

不過修改後發現並未生效,啟動資料庫時現象依舊,錯誤資訊依舊,記得配置這個引數是不需要重啟伺服器的,不過既然不生效,只好重啟一下系統。

系統重啟後,資料庫啟動正常,告警日誌輸出如下:

Starting ORACLE instance (normal)
****************** Huge Pages Information *****************
Huge Pages memory pool detected (total: 32768 free: 32768)
DFLT Huge Pages allocation successful (allocated: 32705)
***********************************************************

看來memlock引數的修改還是需要重啟才能生效。

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-714310/,如需轉載,請註明出處,否則將追究法律責任。

相關文章