Oracle版本為11gR2
注:所有的sysctl.conf的修改都需要使用sysctl -p 命令來加載。
在linux的sysctl.conf文件中增加 vm.nr_huagepages=[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;
|
新聞熱點
疑難解答