バッファプールの管理 - Amazon Relational Database Service

バッファプールの管理

以下のストアドプロシージャでは、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 です。有効な値: 2 から 256。デフォルト: 32

使用に関する注意事項

バッファプールの作成ステータスを確認する方法については、「rdsadmin.get_task_status」を参照してください。

次の例では、デフォルトのパラメータを使用して TESTDB というデータベースに BP8 というバッファプールを作成するため、バッファプールでは 8 KB のページサイズが使用されます。

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

次の例では、TESTDB という名前のデータベースのために BP16 という名前のバッファプールを作成します。設定は、ページサイズが 16 KB、初期ページ数は 1,000 で、自動と指定しています。Db2 はこのコマンドを直ちに実行します。初期ページ数 -1 を使用すると、Db2 ではページの自動割り当てを使用します。

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

次の例では、TESTDB という名前のデータベースのために BP16 という名前のバッファプールを作成します。このバッファプールのページサイズは 16 KB で、初期ページ数は 10,000 ページです。Db2 は、ブロックサイズ 512 の 500 ブロックページを使用して、このコマンドを直ちに実行します。

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 です。有効な値: 2 から 256。デフォルト: 32

使用に関する注意事項

バッファプールの変更ステータスを確認する方法については、「rdsadmin.get_task_status」を参照してください。

次の例では、TESTDB というデータベースの BP16 というバッファプールを「非自動」に変更し、サイズを 10,000 ページに変更します。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')"