

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 緩衝集區的常見任務
<a name="db2-managing-buffer-pools"></a>

您可以為 RDS for Db2 資料庫建立、修改或捨棄緩衝集區。建立、變更或捨棄緩衝集區需要更高層級的 `SYSADM` 或 `SYSCTRL` 授權，這不適用於主要使用者。請改用 Amazon RDS 預存程序。

您也可以排清緩衝集區。

**Topics**
+ [建立緩衝集區](#db2-creating-buffer-pool)
+ [修改緩衝集區](#db2-altering-buffer-pool)
+ [捨棄緩衝集區](#db2-dropping-buffer-pool)
+ [排清緩衝集區](#db2-flushing-buffer-pools)

## 建立緩衝集區
<a name="db2-creating-buffer-pool"></a>

若要為您的 RDS for Db2 資料庫建立緩衝集區，請呼叫 `rdsadmin.create_bufferpool` 預存程序。如需詳細資訊，請參閱 IBM Db2 文件中的 [CREATE BUFFERPOOL 陳述式](https://www.ibm.com/docs/en/db2/11.5?topic=statements-create-bufferpool)。

**建立緩衝集區**

1. 使用 RDS for Db2 資料庫執行個體的主使用者名稱和主密碼連線至 `rdsadmin` 資料庫。在下列範例中，將 *master\$1username* 和 *master\$1password* 取代為您自己的資訊。

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. 呼叫 `rdsadmin.create_bufferpool` 來建立緩衝集區。如需更多詳細資訊，請參閱 [rdsadmin.create\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-create-buffer-pool)。

   ```
   db2 "call rdsadmin.create_bufferpool(
       'database_name', 
       'buffer_pool_name', 
       buffer_pool_size, 
       'immediate', 
       'automatic', 
       page_size, 
       number_block_pages, 
       block_size)"
   ```

## 修改緩衝集區
<a name="db2-altering-buffer-pool"></a>

若要修改 RDS for Db2 資料庫的緩衝集區，請呼叫 `rdsadmin.alter_bufferpool` 預存程序。如需詳細資訊，請參閱 IBM Db2 文件中的 [ALTER BUFFERPOOL 陳述式](https://www.ibm.com/docs/en/db2/11.5?topic=statements-alter-bufferpool)。

**若要修改緩衝集區**

1. 使用 RDS for Db2 資料庫執行個體的主使用者名稱和主密碼連線至 `rdsadmin` 資料庫。在下列範例中，將 *master\$1username* 和 *master\$1password* 取代為您自己的資訊。

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. 呼叫 `rdsadmin.alter_bufferpool` 來修改緩衝集區。如需更多詳細資訊，請參閱 [rdsadmin.alter\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-alter-buffer-pool)。

   ```
   db2 "call rdsadmin.alter_bufferpool(
       'database_name', 
       'buffer_pool_name', 
       buffer_pool_size, 
       'immediate', 
       'automatic', 
       change_number_blocks, 
       number_block_pages, 
       block_size)"
   ```

## 捨棄緩衝集區
<a name="db2-dropping-buffer-pool"></a>

若要捨棄 RDS for Db2 資料庫的緩衝集區，請呼叫 `rdsadmin.drop_bufferpool` 預存程序。如需詳細資訊，請參閱 IBM Db2 文件中的[捨棄緩衝集區](https://www.ibm.com/docs/en/db2/11.5?topic=pools-dropping-buffer)。

**重要**  
請確定沒有資料表空間指派給您要捨棄的緩衝集區。

**捨棄緩衝集區**

1. 使用 RDS for Db2 資料庫執行個體的主使用者名稱和主密碼連線至 `rdsadmin` 資料庫。在下列範例中，將 *master\$1username* 和 *master\$1password* 取代為您自己的資訊。

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. 呼叫 `rdsadmin.drop_bufferpool` 以捨棄緩衝集區。如需更多詳細資訊，請參閱 [rdsadmin.drop\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-drop-buffer-pool)。

   ```
   db2 "call rdsadmin.drop_bufferpool(
       'database_name', 
       'buffer_pool_name')"
   ```

## 排清緩衝集區
<a name="db2-flushing-buffer-pools"></a>

您可以排清緩衝集區以強制檢查點，讓 RDS for Db2 將頁面從記憶體寫入儲存。

**注意**  
您不需要排清緩衝集區。Db2 會在遞交交易之前同步寫入日誌。中途分頁可能仍在緩衝集區中，但 Db2 會以非同步方式將其寫入儲存體。即使系統意外關閉，當您重新啟動資料庫時，Db2 仍會自動執行損毀復原。在損毀復原期間，Db2 會將遞交的變更寫入資料庫，或復原未遞交交易的變更。

**排清緩衝集區**

1. 使用 RDS for Db2 資料庫執行個體的主使用者名稱和主密碼連線至 Db2 資料庫。在下列範例中，將 *rds\$1database\$1alias*、*master\$1username* 和 *master\$1password* 取代為您自己的資訊。

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

1. 排清緩衝集區。

   ```
   db2 flush bufferpools all
   ```