调整16m内存的步骤
1、查看oracle用户是否有CAP_BYPASS_RAC_VMM和CAP_PROPAGATE
#lsuser capabilities oracle
2、如果不存在CAP_BYPASS_RAC_VMM和CAP_PROPAGATE,则修改oracle用户,授予CAP_BYPASS_RAC_VMM和CAP_PROPAGATE
#chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle
3、如果是rac数据库,需要为root用户分配CAP_BYPASS_RAC_VMM和CAP_PROPAGATE,否则,当使用srvctl命令启动实例的事后不能使用大内存
#chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE root
4、调整操作系统参数
#vmo -p -o v_pinshm=1
#vmo -p -o maxpin%=53 #maxpin值的大小的计算公式:
When using the maxpin% option, it is important that the amount of pinned memory
exceeds the Oracle SGA size by at least 3 percent of the real memory on the system,
enabling free pinnable memory for use by the kernel. For example, if you have 2 GB of
physical memory and you want to pin the SGA by 400 MB (20 percent of the RAM)
#vmo -p -o lgpg_regions=500 -o lgpg_size=16777216 #lgpg_regions值的大小的计算公式:num_of_large_pages = INT((total_SGA_size-1)/16MB)+1
#vmo -p -o lru_file_repage=0
5、如果数据库版本是oracle 10.2.0.4,需要打补丁7226548
6、设置oracle参数lock_sga=true
7、重新启动实例
8、查看lgpg使用情况,如果最下面L 16 MB 那行virtual的virtual列不为0,则证明lgpg生效
testdb4[/]#svmon -G
size inuse free pin virtual
memory 6094848 5106798 988050 1217341 5307443
pg space 6291456 1409607
work pers clnt other
pin 975838 0 0 221023
in use 4692390 0 393928
PageSize PoolSize inuse pgsp pin virtual
s 4 KB - 4925918 1409607 1076013 5147043
m 64 KB - 10025 0 7553 10025
L 16 MB 500 0 0 500 385
错误处理
1、当出现如下错误的事后,是因为剩余内存不足,需要将oracle实例关掉重新运行命令,或将
testdb4[/]#vmo -p -o lgpg_regions=500 -o lgpg_size=16777216
Setting lgpg_size to 16777216 in nextboot file
Setting lgpg_regions to 500 in nextboot file
Warning: although the change concerns a dynamic tunable, bosboot should be run to optimally restore these settings at reboot
vmo: 1485-124 Error setting lgpg_size lgpg_regions
The system was unable to completely satisfy the request
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22049049/viewspace-1029097/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22049049/viewspace-1029097/