バッファプールの一般的なタスク
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 usermaster_usernameusingmaster_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 usermaster_usernameusingmaster_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 usermaster_usernameusingmaster_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 tords_database_aliasusermaster_usernameusingmaster_password -
バッファプールをフラッシュします。
db2 flush bufferpools all