缓冲池的常见任务
您可以针对 RDS for Db2 数据库创建、更改或删除缓冲池。创建、更改或删除缓冲池需要更高级别的 SYSADM
或 SYSCTRL
权限,而主用户无法获得相应的权限。而应使用 Amazon RDS 存储过程。
您也可以刷新缓冲池。
创建缓冲池
要创建 RDS for Db2 数据库的缓冲池,请调用 rdsadmin.create_bufferpool
存储过程。有关更多信息,请参阅 IBM Db2 文档中的 CREATE BUFFERPOOL 语句
创建缓冲池
-
使用 RDS for Db2 数据库实例的主用户名和主密码连接到
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 语句
更改缓冲池
-
使用 RDS for Db2 数据库实例的主用户名和主密码连接到
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 文档中的删除缓冲池
重要
确保没有为要删除的缓冲池分配任何表空间。
删除缓冲池
-
使用 RDS for Db2 数据库实例的主用户名和主密码连接到
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 数据库实例的主用户名和主密码连接到您的 Db2 数据库。在以下示例中,用您自己的信息替换
rds_database_alias
、master_username
和master_password
。db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
刷新缓冲池。
db2 flush bufferpools all