バッファプールの一般的なタスク
RDS for Db2 データベースのバッファプールを作成、変更、または削除できます。バッファプールを作成、変更、または削除するには、マスターユーザーが使用できない上位レベルの SYSADM
または SYSCTRL
権限が必要です。代わりに、Amazon RDS ストアドプロシージャを使用します。
バッファプールは、フラッシュすることもできます。
バッファプールの作成
RDS for Db2 データベースのバッファプールを作成するには、 rdsadmin.create_bufferpool
ストアドプロシージャを呼び出します。詳細については、IBM Db2 ドキュメントの「CREATE BUFFERPOOL statement
バッファプールを作成するには
-
RDS for Db2 DB インスタンスのマスターユーザー名とマスターパスワードを使用して、
rdsadmin
データベースに接続します。次の例で、master_username
とmaster_password
を自分の情報に置き換えます。db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
rdsadmin.create_bufferpool
を呼び出してバッファプールを作成します。詳細については、「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
)"
バッファプールの変更
RDS for Db2 データベースのバッファプールを変更するには、 rdsadmin.alter_bufferpool
ストアドプロシージャを呼び出します。詳細については、IBM Db2 ドキュメントの「ALTER BUFFERPOOL statement
バッファプールを変更するには
-
RDS for Db2 DB インスタンスのマスターユーザー名とマスターパスワードを使用して、
rdsadmin
データベースに接続します。次の例で、master_username
とmaster_password
を自分の情報に置き換えます。db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
rdsadmin.alter_bufferpool
を呼び出してバッファプールを変更します。詳細については、「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
)"
バッファプールの削除
RDS for Db2 データベースのバッファプールを削除するには、 rdsadmin.drop_bufferpool
ストアドプロシージャを呼び出します。詳細については、IBM Db2 ドキュメントの「Dropping buffer pools
重要
削除するバッファプールにテーブルスペースが割り当てられていないことを確認します。
バッファプールを削除するには
-
RDS for Db2 DB インスタンスのマスターユーザー名とマスターパスワードを使用して、
rdsadmin
データベースに接続します。次の例で、master_username
とmaster_password
を自分の情報に置き換えます。db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
rdsadmin.drop_bufferpool
を呼び出してバッファプールを削除します。詳細については、「rdsadmin.drop_bufferpool」を参照してください。db2 "call rdsadmin.drop_bufferpool( '
database_name
', 'buffer_pool_name
')"
バッファプールのフラッシュ
RDS for Db2 がメモリからストレージにページを書き込むように、バッファプールをフラッシュしてチェックポイントを強制できます。
注記
バッファプールは、フラッシュする必要はありません。Db2 はトランザクションをコミットする前にログを同期的に書き込みます。ダーティページがまだバッファプールに存在している能性がありますが、Db2 はそれらを非同期的にストレージに書き込みます。システムが予期せずシャットダウンした場合でも、データベースを再起動すると、Db2 は自動的にクラッシュリカバリを実行します。クラッシュリカバリ中、Db2 はコミットされた変更をデータベースに書き込むか、コミットされていないトランザクションの変更をロールバックします。
バッファプールをフラッシュするには
-
RDS for Db2 DB インスタンスのマスターユーザー名とマスターパスワードを使用して、Db2 データベースに接続します。次の例で、
rds_database_alias
、master_username
、master_password
を自分の情報に置き換えます。db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
バッファプールをフラッシュします。
db2 flush bufferpools all