管理缓冲池 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

管理缓冲池

以下存储过程管理 Amazon RDS for Db2 数据库的缓冲池。要运行这些过程,主用户必须先连接到 rdsadmin 数据库。

rdsadmin.create_bufferpool

创建缓冲池。

语法

db2 "call rdsadmin.create_bufferpool( 'database_name', 'buffer_pool_name', buffer_pool_size, 'immediate', 'automatic', page_size, number_block_pages, block_size)"

参数

以下参数为必需参数:

database_name

要在其上运行命令的数据库的名称。数据类型为 varchar

buffer_pool_name

要创建的缓冲池的名称。数据类型为 varchar

以下参数为可选参数:

buffer_pool_size

缓冲池的大小,以页数表示。数据类型为 integer。默认为 -1

immediate

指定命令是否立即运行。数据类型为 char。默认为 Y

automatic

指定是否将缓冲池设置为自动。数据类型为 char。默认为 Y

page_size

缓冲池的页面大小。数据类型为 integer。有效值:409681921638432768。默认为 8192

number_block_pages

缓冲池中的块页面数。数据类型为 integer。默认为 0

block_size

块页面的块大小。数据类型为 integer。有效值:2256。默认为 32

使用说明

有关检查创建缓冲池的状态的信息,请参阅rdsadmin.get_task_status

示例

以下示例使用默认参数为名为 TESTDB 的数据库创建名为 BP8 的缓冲池,因此该缓冲池使用 8KB 的页面大小。

db2 "call rdsadmin.create_bufferpool( 'TESTDB', BP8')"

以下示例为名为 TESTDB 的数据库创建一个名为 BP16 的缓冲池,该缓冲池使用 16KB 的页面大小,初始页面计数为 1000,并且设置为自动。Db2 会立即运行该命令。如果您使用的初始页面计数为 -1,则 Db2 将使用自动分配页面。

db2 "call rdsadmin.create_bufferpool( 'TESTDB', 'BP16', 1000, 'Y', 'Y', 16384)"

以下示例为名为 TESTDB 的数据库创建名为 BP16 的缓冲池。此缓冲池的页面大小为 16KB,初始页面计数为 10000。Db2 使用 500 个块页面立即运行该命令,块大小为 512。

db2 "call rdsadmin.create_bufferpool( 'TESTDB', 'BP16', 10000, 'Y', 'Y', 16384, 500, 512)"

rdsadmin.alter_bufferpool

更改缓冲池。

语法

db2 "call rdsadmin.alter_bufferpool( 'database_name', 'buffer_pool_name', buffer_pool_size, 'immediate', 'automatic', change_number_blocks, number_block_pages, block_size)"

参数

以下参数为必需参数:

database_name

要在其上运行命令的数据库的名称。数据类型为 varchar

buffer_pool_name

要更改的缓冲池的名称。数据类型为 varchar

buffer_pool_size

缓冲池的大小,以页数表示。数据类型为 integer

以下参数为可选参数:

immediate

指定命令是否立即运行。数据类型为 char。默认为 Y

automatic

指定是否将缓冲池设置为自动。数据类型为 char。默认为 N

change_number_blocks

指定缓冲池中的块页面数是否发生更改。数据类型为 char。默认为 N

number_block_pages

缓冲池中的块页面数。数据类型为 integer。默认为 0

block_size

块页面的块大小。数据类型为 integer。有效值:2256。默认为 32

使用说明

有关检查更改缓冲池的状态的信息,请参阅rdsadmin.get_task_status

示例

以下示例将名为 TESTDB 的数据库的缓冲池(名为 BP16)更改为非自动,并将大小更改为 10000 页。Db2 会立即运行此命令。

db2 "call rdsadmin.alter_bufferpool( 'TESTDB', 'BP16', 10000, 'Y', 'N')"

rdsadmin.drop_bufferpool

删除缓冲池。

语法

db2 "call rdsadmin.drop_bufferpool( 'database_name', 'buffer_pool_name'"

参数

以下参数为必需参数:

database_name

缓冲池所属的数据库的名称。数据类型为 varchar

buffer_pool_name

要删除的缓冲池的名称。数据类型为 varchar

使用说明

有关检查删除缓冲池的状态的信息,请参阅rdsadmin.get_task_status

示例

以下示例删除名为 TESTDB 的数据库的名为 BP16 的缓冲池。

db2 "call rdsadmin.drop_bufferpool( 'TESTDB', 'BP16')"