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;
新闻热点
疑难解答