在linux平臺(tái)不支持lock_sga參數(shù)。如果設(shè)定lock_sga=true,啟動(dòng)時(shí)將報(bào)ORA-27126錯(cuò)誤。
下面是總結(jié)的使用hugetlbfs來模擬lock_sga的步驟。
1.查看目前使用的SGA
sqlplus / as sysdba-
SQL*Plus: Release 10.1.0.3.0 - Production on ??y 4? 14 15:51:14 2007
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> show sga;
Total System Global Area 524288000 bytes
Fixed Size 1322760 bytes
Variable Size 123982072 bytes
Database Buffers 398458880 bytes
Redo Buffers 524288 bytes
SQL> show parameter sga;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 500M
sga_target big integer 500M
SQL>
2.換算成2MB的頁數(shù), 500M/2M=250
3.設(shè)定sysctl.conf和fstab
在/etc/sysctl.conf添加一行
#比SGA_MAX_SIZE最少要多加一頁
vm.nr_hugepages = 260
查看Oracle的id和gid
#id Oracle
uid=501(Oracle) gid=502(dba) groups=502(dba)
在/etc/fstab里添加一行
hugetlbfs /dev/hugetlbfs hugetlbfs mode=0777,uid=501,gid=502 0 0
#mkdir /dev/hugetlbfs
#sysctl -p
#mount -a
#grep Huge /proc/meminfo
HugePages_Total: 260
HugePages_Free: 260
Hugepagesize: 2048 kB
注:如果內(nèi)存已經(jīng)被占用則需要重起機(jī)器才能分配。
#mount
hugetlbfs on /dev/hugetlbfs type hugetlbfs (rw,mode=0777,uid=501,gid=502)
注:每次重新啟動(dòng)都要執(zhí)行一次:mkdir /dev/hugetlbfs;mount -a?梢约拥/etc/rc.local里自動(dòng)執(zhí)行
4.設(shè)定/etc/security/limits.conf文件
添加兩行
Oracle soft memlock 1048576
Oracle hard memlock 1048576
以K為單位,必須大于sga_max_size,這里設(shè)定為1G
#su - Oracle
檢查limits是否正確
$ulimit -l
1048576
5.重新啟動(dòng)數(shù)據(jù)庫
$sqlplus / as sysdba
SQL>shutdown immediate;
SQL>startup;
SQL>! grep Huge /proc/meminfo
HugePages_Total: 260
HugePages_Free: 24
Hugepagesize: 2048 kB
以上在10.1.0.3 64bit on RHEL4U3 和 10.1.0.3 64bit on FC5上測(cè)試通過
說明:
2M的頁不要分配超過sga_max_size太多,會(huì)造成內(nèi)存的浪費(fèi)。
經(jīng)過測(cè)試,對(duì)使用文件系統(tǒng)數(shù)據(jù)庫性能有10%-20%的提升,對(duì)使用裸設(shè)備或ASM的數(shù)據(jù)庫影響較小。
在正式環(huán)境已經(jīng)運(yùn)行一周,暫時(shí)沒有發(fā)現(xiàn)BUG.
不同平臺(tái)或不同數(shù)據(jù)庫版本可能存在BUG,可以在測(cè)試環(huán)境先測(cè)試再使用。
本文出自:億恩科技【mszdt.com】
服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|