oracle 大页配置详细介绍

来源:这里教程网 时间:2026-03-03 19:18:28 作者:

大页的作用: 防止oracle使用的内存交换,所以设置的大小与oracle配置的sga、pga相关。 只有assm(Automatic Shared Memory Management)模式可以使用大页,需要关闭amm(Memory Manager Process)   调整数据库sga/pga大小: alter system set sga_max_size=<n>G scope=spfile sid='*'; alter system set sga_target=<n>G scope=spfile sid='*'; Alter system set pga_aggregate_target=xxxx scope=spfile sid='*';   关闭AMM管理: 先设0 alter system set memory_target=0 scope=spfile sid='*'; alter system set memory_max_target=0 scope=spfile sid='*'; 再置空参数 alter system reset memory_target scope=spfile sid='*'; alter system reset memory_max_target scope=spfile sid='*';   重启数据库生效: SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP;   必须assm管理才可以配置大页  

1. 查看大页使用情况 # grep Huge /proc/meminfo HugePages_Total: 306   (总共306页) HugePages_Free: 306     (空闲306页,已使用306-306=0页) HugePages_Rsvd: 0       (操作系统承诺给oracle预留的页数) HugePages_Surp: 0 Hugepagesize: 2048 kB   (每页2M,固定值) 大页总大小=HugePages_Total*Hugepagesize  

2. 脚本计算大页数量 LINUX6语句运行MOS 401749.1提供的hugepages_settings.sh --------------- /etc/sysctl.conf vm.nr_hugepages   调整过sga后需要重新计算,如果新加了一个实例也要重新计算 例子: vi /etc/sysctl.conf vm.nr_hugepages=1496   执行sysctl -p 命令使以上设置生效   LINUX7语句 metalink( 文档 ID 401749.1)

3. 设置内存锁 memlock 值应该为:大页数适当增加一些* Hugepagesize。 查询Hugepagesize值:grep Huge /proc/meminfo |grep Hugepagesize (1496+5)* 2048= 3074048   # vi /etc/security/limits.conf oracle soft memlock 3074048 oracle hard memlock 3074048   数量大于脚本算出的值一些,比如算出 700写800 vi /etc/security/limits.conf   oracle   soft   memlock    xxx oracle   hard   memlock   xxx

4. 重启库,再次查看 SQL> shutdown immediate SQL> startup   最好是重启服务器!  

5. 再次查看 grep Huge /proc/meminfo   

相关推荐