aix 5.3l 中 10.2.0.4 中 sga_lock 设置

简介: 一般来说设置LOCK_SGA需要以下的步骤1.$ /usr/sbin/vmo -r -o v_pinshm=12.$ /usr/sbin/vmo -r -o maxpin%=percent_of_real_memory percent_of_real_memor...

一般来说设置LOCK_SGA需要以下的步骤
1.$ /usr/sbin/vmo -r -o v_pinshm=1
2.$ /usr/sbin/vmo -r -o maxpin%=percent_of_real_memory
percent_of_real_memory = ((size of SGA / size of physical memory) *100) + 3
3.Set LOCK_SGA parameter to TRUE in the init.ora .

 

但是10.2.0.4还需要如下额外的操作:
Solution
1. Add the CAP_BYPASS_RAC_VMM and CAP_PROPAGATE capabilities to "oracle" user
    # chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle

2. Configure the AIX large page pool by calculating the number of large pages required for the SGA:    
  num_of_large_pages = INT((total_SGA_size-1)/16MB)+1

 

Note that although we are dealing with integer values, some rounding up must be considered, since rounding down makes no sense when trying to fit things into memory. For example, take an SGA size of 9999220736:

9999220736-1/(16*1024*1024)=595.99999994

Here, the integer calc will end up with a result of 595, but given the actual figure is higher, we would need to round up to 596 rather than accept the base figure of 595.

Or preferably change the int function to Round function.


3. Configure the number and size of large pages:
    # vmo -p -o lgpg_regions=num_of_large_pages -o lgpg_size=16777216

Now login as "oracle" user and try database startup
   SQL> connect / as sysdba
   SQL> STARTUP UPGRADE
After enabling large page capabilities they may not be actually used by Oracle. Large pages may be allocated at the OS level but Oracle still uses normal memory. This is due to Bug 7226548. Please apply the Patch 7226548 to avoid this issue.


可能还涉及:Bug 7226548,需要安装补丁。

10.2.0.4BUG真多。尼玛

相关文章
|
SQL Oracle 关系型数据库
|
SQL Oracle 关系型数据库
|
SQL Oracle 关系型数据库
|
关系型数据库 数据库 Oracle
|
Oracle 关系型数据库 SQL
|
SQL Oracle 关系型数据库