linux oracle 調優之hugepage+sga lock

oracle版本爲11gR2

注:所有的sysctl.conf的修改都需要使用sysctl -p 命令來加載。


在linux的sysctl.conf文件中增加 vm.nr_hugepages=[NUM]

修改之後查看huge使用情況。

cat /proc/meminfo |grep Huge

如果totle量和設置量相同,即爲正常。反正,則需要重啓數據庫。


修改sysctl.conf文件的shmmax和shmall:

kernel.shmmax=[NUM](以b爲單位)

kernel.shmall=[max/4]


修改limits.con文件,加大memlock限制(以kb爲單位)

oracle soft memlock  Num1

oracle hard memlock Num1


修改sga大小和鎖定sga,鎖定sga以保證長時間運行oracle不會產生過多碎片。

hugepage可以共享,而普通page則爲獨享。hugepage單頁爲2M,會大大減小索引頁的大小。


create pfile='/home/oracle/temp_sid.ora' from spfile;


alter system set sga_target=nG scope=spfile;

alter system set sga_max_size=nG scope=spfile;

alter system set pga_aggregate_target=nG scope=spfile;


alter system set pre_page_sga=TRUE scope=spfile;

alter system set lock_sga=TRUE scope=spfile;


關閉數據庫

shutdown immediate

備份temp_sid.ora,並修改temp_sid.ora,去掉memory_target和memory_max_size。如果不去掉,數據庫會啓動失敗。

創建spfile

create spfile from pfile=''/home/oracle/temp_sid.ora';

啓動數據庫;

startup;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章