バッファプールの管理
以下のストアドプロシージャでは、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
です。有効な値は、4096
、8192
、16384
、32768
です。デフォルト: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')"