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;
linux oracle 調優之hugepage+sga lock
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.