Buffer pool memory protection (AIX running on POWER6)
The database manager uses the buffer pool to apply additions, modifications, and deletions to much of the database data.
The database manager protects buffer pools by restricting access to buffer pool memory. When an agent requires access to the buffer pools to perform its work, it is temporarily granted access to the buffer pool memory. When the agent no longer requires access to the buffer pools, access is revoked. This behavior ensures that agents are only allowed to modify buffer pool contents when needed, reducing the likelihood of buffer pool corruptions. Any illegal access to buffer pool memory results in a segmentation error. Tools to diagnose these errors are provided, such as the db2diag, db2fodc, db2pdcfg, and db2support commands.
- DB2_MEMORY_PROTECT registry variable
- This registry variable enables and disables the buffer pool memory protection feature. When DB2_MEMORY_PROTECT is enabled (set to YES), and a Db2® engine thread tries to illegally access buffer pool memory, that engine thread traps. The default is NO.
- Note:
- The buffer pool memory protection feature depends on the implementation of AIX Storage Protect Keys and it might not work with the pinned shared memory. If DB2_MEMORY_PROTECT is specified with DB2_PINNED_BP or DB2_LARGE_PAGE_MEM setting, AIX Storage Protect Keys may not be enabled. For more information about AIX Storage Protect Keys, see http://www.ibm.com/support/knowledgecenter/ssw_aix_71/com.ibm.aix.genprogc/storage_protect_keys.htm.