

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

# 資料庫的一般任務
<a name="db2-managing-databases"></a>

您可以在 RDS for Db2 資料庫執行個體上建立、捨棄或還原資料庫。建立、捨棄或還原資料庫需要更高層級的 `SYSADM` 授權，這不適用於主要使用者。請改用 Amazon RDS 預存程序。

您也可以執行常見的管理任務，例如監控、維護，以及收集資料庫的相關資訊。

**Topics**
+ [建立資料庫](#db2-creating-database)
+ [設定資料庫的設定](#db2-configuring-database)
+ [修改資料庫參數](#db2-modifying-db-parameters)
+ [設定日誌保留原則](#db2-configuring-log-retention)
+ [列出日誌資訊](#db2-listing-log-information)
+ [使用精細存取控制 (FGAC)](#db2-using-fine-grained-access-control)
+ [停用資料庫](#db2-deactivating-database)
+ [啟用資料庫](#db2-activating-database)
+ [重新建立資料庫](#db2-reactivating-database)
+ [捨棄資料庫](#db2-dropping-database)
+ [備份資料庫](#db2-backing-up-database)
+ [將封存日誌複製到 Amazon S3](#db2-copying-archive-logs-to-s3)
+ [還原資料庫](#db2-restoring-database)
+ [列出資料庫](#db2-listing-databases)
+ [收集資料庫的相關資訊](#db2-collecting-info-db)
+ [強制應用程式離開資料庫](#db2-forcing-application-off-db)
+ [產生效能報告](#db2-generating-performance-reports)

## 建立資料庫
<a name="db2-creating-database"></a>

若要在 RDS for Db2 資料庫執行個體上建立資料庫，請呼叫 `rdsadmin.create_database` 預存程序。如需詳細資訊，請參閱 IBM Db2 文件中的 [CREATE DATABASE 命令](https://www.ibm.com/docs/en/db2/11.5?topic=commands-create-database)。

**注意**  
如果您打算修改 `db2_compatibility_vector` 參數，在建立資料庫之前，請修改參數。如需詳細資訊，請參閱[設定 db2\$1compatibility\$1vector 參數](db2-known-issues-limitations.md#db2-known-issues-limitations-db2-compatibility-vector)。

**若要建立資料庫**

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

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

1. 呼叫 `rdsadmin.create_database` 來建立資料庫。如需詳細資訊，請參閱[rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database)。

   ```
   db2 "call rdsadmin.create_database(
       'database_name',
       'database_page_size',
       'database_code_set',
       'database_territory',
       'database_collation',
       'database_autoconfigure_str',
       'database_non-restrictive')"
   ```

1. (選用) 為您要建立的每個資料庫呼叫 `rdsadmin.create_database` 來建立其他資料庫。每個 Db2 資料庫執行個體最多可包含 50 個資料庫。如需詳細資訊，請參閱[rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database)。

   ```
   db2 "call rdsadmin.create_database('database_name')"
   ```

1. (選用) 使用下列其中一種方法確認已建立您的資料庫：
   + 呼叫 `rdsadmin.list_databases`。如需詳細資訊，請參閱[rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases)。
   + 執行下列 SQL 命令：

     ```
     db2 "select varchar(r.task_type,25) as task_type, r.database_name, 
         varchar(r.lifecycle,15) as lifecycle, r.created_at, r.database_name,
         varchar(bson_to_json(task_input_params),256) as input_params, 
         varchar(r.task_output,1024) as task_output 
         from table(rdsadmin.get_task_status(null,null,'create_database')) 
         as r order by created_at desc"
     ```

## 設定資料庫的設定
<a name="db2-configuring-database"></a>

若要在 RDS for Db2 資料庫執行個體上設定資料庫的設定，請呼叫 `rdsadmin.set_configuration` 預存程序。例如，您可以設定在還原作業期間要建立的緩衝區或緩衝區操縱器數量。

**設定資料庫的設定**

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

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

1. (選用) 呼叫 `rdsadmin.show_configuration` 以檢查您目前的組態設定。如需詳細資訊，請參閱[rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration)。

   ```
   db2 "call rdsadmin.show_configuration('name')"
   ```

1. 呼叫 `rdsadmin.set_configuration` 來設定資料庫的設定。如需詳細資訊，請參閱[rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration)。

   ```
   db2 "call rdsadmin.set_configuration(
       'name',  
       'value')"
   ```

## 修改資料庫參數
<a name="db2-modifying-db-parameters"></a>

Amazon RDS for Db2 使用三種類型的參數：資料庫管理員組態參數、登錄變數和資料庫組態參數。您可以透過參數群組更新前兩種類型，並透過 [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param) 預存程序更新最後一個類型。

**注意**  
您只能修改現有參數的值。您無法新增 RDS for Db2 所不支援的新參數。

如需這些參數以及如何修改其值的詳細資訊，請參閱 [Amazon RDS for Db2 參數](db2-supported-parameters.md)。

## 設定日誌保留原則
<a name="db2-configuring-log-retention"></a>

若要設定 Amazon RDS 保留 RDS for Db2 資料庫日誌檔案的時間，請呼叫 `rdsadmin.set_archive_log_retention` 預存程序。

**設定資料庫的日誌保留**

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

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

1. (選用) 呼叫 `rdsadmin.show_archive_log_retention` 來檢查目前組態的日誌保留。如需詳細資訊，請參閱[rdsadmin.show\$1archive\$1log\$1retention](db2-sp-managing-databases.md#db2-sp-show-archive-log-retention)。

   ```
   db2 "call rdsadmin.show_archive_log_retention(
       ?,
       'database_name')"
   ```

1. 呼叫 `rdsadmin.set_archive_log_retention` 來設定資料庫的日誌保留。如需詳細資訊，請參閱[rdsadmin.set\$1archive\$1log\$1retention](db2-sp-managing-databases.md#db2-sp-set-archive-log-retention)。

   ```
   db2 "call rdsadmin.set_archive_log_retention(
       ?,            
       'database_name',  
       'archive_log_retention_hours')"
   ```

## 列出日誌資訊
<a name="db2-listing-log-information"></a>

若要列出封存日誌檔案的詳細資訊，包括使用的總儲存大小等詳細資訊，請呼叫 `rdsadmin.list_archive_log_information` 預存程序。

**列出資料庫的日誌資訊**

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

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

1. 呼叫 `rdsadmin.list_archive_log_information` 來傳回日誌檔案資訊清單。如需詳細資訊，請參閱[rdsadmin.list\$1archive\$1log\$1information](db2-sp-managing-databases.md#db2-sp-list-archive-log-information)。

   ```
   db2 "call rdsadmin.list_archive_log_information(
       ?,            
       'database_name')"
   ```

## 使用精細存取控制 (FGAC)
<a name="db2-using-fine-grained-access-control"></a>

若要使用精細存取控制命令來控制對 RDS for Db2 資料庫執行個體上資料庫中資料表資料的存取，請呼叫`rdsadmin.fgac_command`預存程序。您可能想要使用 FGAC 根據使用者角色或資料屬性限制對資料的存取。例如，您可以根據資料類型或特定醫療提供者，限制對病患醫療保健資料的存取。

**使用精細存取控制來控制對資料庫中資料表資料的存取**

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

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

1. 呼叫 來執行各種精細存取控制命令`rdsadmin.fgac_command`。如需詳細資訊，請參閱[rdsadmin.fgac\$1commandParameters](db2-sp-managing-databases.md#db2-sp-fgac-command)。

   ```
   db2 "call rdsadmin.fgac_command(     
       ?,
       'database_name',
       'fgac_command')"
   ```

## 停用資料庫
<a name="db2-deactivating-database"></a>

若要停用 RDS for Db2 資料庫執行個體上的資料庫，請呼叫 `rdsadmin.deactivate_database` 預存程序。

根據預設，當您在 RDS for Db2 資料庫執行個體上建立資料庫時，Amazon RDS 會啟用資料庫。您可以停用不常使用的資料庫，以節省記憶體資源。

**停用資料庫**

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

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

1. 呼叫 `rdsadmin.deactivate_database` 來停用資料庫。如需詳細資訊，請參閱[rdsadmin.deactivate\$1database](db2-sp-managing-databases.md#db2-sp-deactivate-database)。

   ```
   db2 "call rdsadmin.deactivate_database(    
       ?, 
       'database_name')"
   ```

## 啟用資料庫
<a name="db2-activating-database"></a>

若要在獨立的 RDS for Db2 資料庫執行個體上啟用資料庫，請呼叫 `rdsadmin.activate_database` 預存程序。

根據預設，當您在 RDS for Db2 資料庫執行個體上建立資料庫時，Amazon RDS 會啟用資料庫。您可以停用不常使用的資料庫來節省記憶體資源，然後在稍後將已停用的資料庫啟用。

**啟用資料庫**

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

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

1. 呼叫 `rdsadmin.activate_database` 來啟用資料庫。如需詳細資訊，請參閱[rdsadmin.activate\$1database](db2-sp-managing-databases.md#db2-sp-activate-database)。

   ```
   db2 "call rdsadmin.activate_database(
       ?, 
       'database_name')"
   ```

## 重新建立資料庫
<a name="db2-reactivating-database"></a>

若要在複本來源 RDS for Db2 資料庫執行個體上重新啟用資料庫，請呼叫 `rdsadmin.reactivate_database` 預存程序。變更資料庫組態之後，您可能需要在 RDS for Db2 資料庫執行個體上重新啟用資料庫。若要判斷是否需要重新啟用資料庫，請連線至資料庫並執行 `db2 get db cfg show detail`。

您也可以呼叫此預存程序，在對資料庫組態進行變更後，在獨立的 RDS for Db2 資料庫執行個體上重新啟用資料庫。或者，您可以先呼叫 `rdsadmin.deactivate_database` 預存程序，然後呼叫 `rdsadmin.activate_database` 預存程序，在獨立的 RDS for Db2 資料庫執行個體上重新啟用資料庫。如需詳細資訊，請參閱[停用資料庫](#db2-deactivating-database)及[啟用資料庫](#db2-activating-database)。

**重新啟用資料庫**

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

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

1. 呼叫 `rdsadmin.reactivate_database` 來重新啟用資料庫。如需詳細資訊，請參閱[rdsadmin.reactivate\$1database](db2-sp-managing-databases.md#db2-sp-reactivate-database)。

   ```
   db2 "call rdsadmin.reactivate_database(
       ?, 
       'database_name')"
   ```

## 捨棄資料庫
<a name="db2-dropping-database"></a>

若要從 RDS for Db2 資料庫執行個體捨棄資料庫，請呼叫 `rdsadmin.drop_database` 預存程序。如需詳細資訊，請參閱 IBM Db2 文件中的[捨棄資料庫](https://www.ibm.com/docs/en/db2/11.5?topic=databases-dropping)。

**注意**  
僅在符合特定條件時，您才能呼叫預存程序來捨棄資料庫。如需詳細資訊，請參閱 [使用須知](db2-sp-managing-databases.md#db2-sp-drop-database-usage-notes) 及 `rdsadmin.drop_database`。

**捨棄資料庫**

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

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

1. 呼叫 `rdsadmin.drop_database` 來捨棄資料庫。如需詳細資訊，請參閱[rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database)。

   ```
   db2 "call rdsadmin.drop_database('database_name')"
   ```

## 備份資料庫
<a name="db2-backing-up-database"></a>

若要將 RDS for Db2 資料庫執行個體中的資料庫備份至 Amazon S3，請呼叫 `rdsadmin.backup_database`預存程序。如需詳細資訊，請參閱 IBM Db2 文件中的 [BACKUP DATABASE 命令](https://www.ibm.com/docs/en/db2/11.5.x?topic=commands-backup-database)。

**注意**  
此預存程序使用與 Amazon S3 的整合。在繼續之前，請確定您已設定整合。如需詳細資訊，請參閱[整合 Amazon RDS for Db2 資料庫執行個體和 Amazon S3](db2-s3-integration.md)。

**備份資料庫**

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

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

1. 建立 S3 的 VPC 閘道端點。如果您已有 S3 的 VPC 閘道端點，請跳至步驟 4。

   若要讓 RDS for Db2 資料庫執行個體能夠與 Amazon S3 互動，您必須擁有 VPC 和 Amazon S3 閘道端點，私有子網路才能使用。如需詳細資訊，請參閱[步驟 1：這會為 Amazon S3 建立 VPC 閘道端點](db2-troubleshooting.md#db2-creating-endpoint)。

1. 確認 S3 的 VPC 閘道端點。如需詳細資訊，請參閱[步驟 2：確認 Amazon S3 的 VPC 閘道端點存在](db2-troubleshooting.md#db2-confirming-endpoint)。

1. 呼叫 來備份資料庫`rdsadmin.backup_database`。如需詳細資訊，請參閱[rdsadmin.backup\$1database](db2-sp-managing-databases.md#db2-sp-backup-database)。

   ```
   db2 "call rdsadmin.backup_database(
       ?,
       'database_name', 
       's3_bucket_name', 
       's3_prefix', 
       'backup_type',
       'compression_option',
       'util_impact_priority', 
       'num_files',
       'parallelism',
       'num_buffers')"
   ```

1. 終止您的連線。

   ```
   terminate
   ```

1. （選用） 確認備份檔案已上傳至 *s3\$1prefix/dbi\$1resource\$1id/db\$1name* 下的 Amazon S3 儲存貯體。如果檔案未出現在 *s3\$1prefix/dbi\$1resource\$1id/db\$1name*，請檢查備份資料庫的狀態，以識別任何問題。如需詳細資訊，請參閱[rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status)。如果您無法解決任何已識別的問題，請聯絡 [AWS Support](https://aws.amazon.com/premiumsupport/)。

1. （選用） 備份至 Amazon S3 完成後，您可以將備份還原至 RDS for Db2 資料庫執行個體或其他位置，例如本機伺服器。如需還原至 RDS for Db2 資料庫執行個體的資訊，請參閱 [還原資料庫](#db2-restoring-database)。

## 將封存日誌複製到 Amazon S3
<a name="db2-copying-archive-logs-to-s3"></a>

Db2 封存日誌現在可以從 RDS for Db2 資料庫執行個體複製到 Amazon S3。與使用 建立的原生備份結合的封存日誌，`rdsadmin.backup_database`可用於還原和向前滾動資料庫，以指向另一個 RDS for Db2 執行個體或 EC2 資料庫上的時間點。

 設定此功能之前，請使用預存程序`rdsadmin.backup_database`來設定 RDS for Db2 資料庫。

此功能會在 RDS for Db2 資料庫執行個體層級運作，但每個資料庫都可以啟用或停用封存日誌複製。

**設定封存日誌複製到 Amazon S3**

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

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

1. 呼叫 將封存日誌備份到 S3[rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration)。

   ```
   db2 "call rdsadmin.set_configuration(
       'name',
       'value')"
   ```

    **範例**：

   ```
   db2 "call rdsadmin.set_configuration('ARCHIVE_LOG_COPY_TARGET_S3_ARN', 'arn:aws:s3:::my_rds_db2_backups/archive-log-copy/')"
   ```

1. 呼叫 來啟用資料庫的封存日誌複製`rdsadmin.enable_archive_log_copy`。將 *database\$1name* 取代為您的資料庫名稱。

   ```
   db2 "call rdsadmin.enable_archive_log_copy(?, 'database_name')"
   ```

1. 同樣地，若要停用資料庫的封存日誌複製，請呼叫 `rdsadmin.disable_archive_log_copy`。

   ```
   db2 "call rdsadmin.disable_archive_log_copy(?, 'database_name')"
   ```

1. 呼叫 以確認封存日誌複製狀態`rdsadmin.list_databases`。

   ```
   db2 "select * from table(rdsadmin.list_databases())"
   ```

    **輸出範例：**

   ```
   DATABASE_NAME   CREATE_TIME                DATABASE_UNIQUE_ID                                 ARCHIVE_LOG_RETENTION_HOURS ARCHIVE_LOG_COPY ARCHIVE_LOG_LAST_UPLOAD_FILE ARCHIVE_LOG_LAST_UPLOAD_FILE_TIME ARCHIVE_LOG_COPY_STATUS
   --------------- -------------------------- -------------------------------------------------- --------------------------- ---------------- ---------------------------- --------------------------------- ------------------------------
   RDSADMIN        2026-01-06-02.03.42.569069 RDSADMIN                                                                     0 DISABLED         -                            -                                 -
   FOO             2026-01-06-02.13.42.885650 F0D81C7E-7213-4565-B376-4F33FCF420E3                                         7 ENABLED          S0006536.LOG                 2026-01-28-19.15.10.000000        UPLOADING
   CODEP           2026-01-14-19.42.42.508476 106EEF95-6E30-4FFF-85AE-B044352DF095                                         0 DISABLED         -                            -                                 -
   ...
   ```

## 還原資料庫
<a name="db2-restoring-database"></a>

若要將資料庫從 Amazon S3 儲存貯體移至 RDS for Db2 資料庫執行個體，請呼叫 `rdsadmin.restore_database` 預存程序。如需詳細資訊，請參閱 IBM Db2 文件中的 [RESTORE DATABASE 命令](https://www.ibm.com/docs/en/db2/11.5?topic=commands-restore-database)。

**若要 資料庫**

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

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

1. (選用) 檢查您目前的組態設定，以呼叫 `rdsadmin.show_configuration` 來最佳化還原作業。如需詳細資訊，請參閱[rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration)。

   ```
   db2 "call rdsadmin.show_configuration('name')"
   ```

1. 透過呼叫 `rdsadmin.set_configuration` 來設定最佳化還原作業的設定。明確設定這些值可在還原具有大量資料的資料庫時改善效能。如需詳細資訊，請參閱[rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration)。

   ```
   db2 "call rdsadmin.set_configuration(
       'name',  
       'value')"
   ```

1. 呼叫 `rdsadmin.restore_database` 來還原資料庫。如需詳細資訊，請參閱[rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database)。

   ```
   db2 "call rdsadmin.restore_database(
       ?,
       'database_name', 
       's3_bucket_name', 
       's3_prefix', 
       restore_timestamp, 
       'backup_type')"
   ```

1. (選用) 呼叫 `rdsadmin.list_databases` 並檢查還原的資料庫是否已列出，以確認您的資料庫已還原。如需詳細資訊，請參閱[rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases)。

1. 將資料庫恢復上線，並呼叫 `rdsadmin.rollforward_database` 來套用其他交易日誌。如需詳細資訊，請參閱[rdsadmin.rollforward\$1database](db2-sp-managing-databases.md#db2-sp-rollforward-database)。

   ```
   db2 "call rdsadmin.rollforward_database(
       ?,
       'database_name',
       's3_bucket_name', 
       s3_prefix, 
       'rollforward_to_option', 
       'complete_rollforward')"
   ```

1. (選用) 透過呼叫 `rdsadmin.rollforward_database` 預存程序來檢查 [rdsadmin.rollforward\$1status](db2-sp-managing-databases.md#db2-sp-rollforward-status) 預存程序的狀態。

1. 如果您在上一個步驟中將 `complete_rollforward` 設定為 `FALSE`，則必須透過呼叫 `rdsadmin.complete_rollforward` 來完成將資料庫恢復上線。如需詳細資訊，請參閱[rdsadmin.complete\$1rollforward](db2-sp-managing-databases.md#db2-sp-complete-rollforward)。

   ```
   db2 "call rdsadmin.complete_rollforward(
       ?,
       'database_name')"
   ```

1. (選用) 透過呼叫 `rdsadmin.complete_rollforward` 預存程序來檢查 [rdsadmin.rollforward\$1status](db2-sp-managing-databases.md#db2-sp-rollforward-status) 預存程序的狀態。

## 列出資料庫
<a name="db2-listing-databases"></a>

您可以透過呼叫 `rdsadmin.list_databases` 使用者定義的函數，列出在 Amazon RDS for Db2 上執行的所有資料庫。

**列出您的資料庫**

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

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

1. 呼叫 `rdsadmin.list_databases` 來列出您的資料庫。如需詳細資訊，請參閱[rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases)。

   ```
   db2 "select * from table(rdsadmin.list_databases())"
   ```

## 收集資料庫的相關資訊
<a name="db2-collecting-info-db"></a>

若要收集 RDS for Db2 資料庫執行個體上的資料庫相關資訊，請呼叫 `rdsadmin.db2pd_command` 預存程序。此資訊可協助您監控資料庫或故障診斷問題。

**收集資料庫的相關資訊**

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

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

1. 呼叫 `rdsadmin.db2pd_command` 來收集資料庫的相關資訊。如需詳細資訊，請參閱[rdsadmin.db2pd\$1command](db2-sp-managing-databases.md#db2-sp-db2pd-command)。

   ```
   db2 "call rdsadmin.db2pd_command('db2pd_cmd')"
   ```

## 強制應用程式離開資料庫
<a name="db2-forcing-application-off-db"></a>

若要強制應用程式離開 RDS for Db2 資料庫執行個體上的資料庫，請呼叫 `rdsadmin.force_application` 預存程序。在對資料庫執行維護之前，請將應用程式強制離開資料庫。

**強制應用程式離開資料庫**

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

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

1. 呼叫 `rdsadmin.force_application` 來強制應用程式離開資料庫。如需詳細資訊，請參閱[rdsadmin.force\$1application](db2-sp-managing-databases.md#db2-sp-force-application)。

   ```
   db2 "call rdsadmin.force_application(     
       ?,
       'applications')"
   ```

## 產生效能報告
<a name="db2-generating-performance-reports"></a>

您可以使用程序或指令碼來產生效能報告。如需使用程序的相關資訊，請參閱 IBM Db2 文件中的 [DBSUMMARY程序 ‐ 產生系統和應用程式效能指標的摘要報告](https://www.ibm.com/docs/en/db2/11.5?topic=mm-dbsummary-procedure-generate-summary-report-system-application-performance-metrics)。

Db2 在其 `~sqllib/sample/perf` 目錄中包含 `db2mon.sh` 檔案。執行指令碼會產生低成本、廣泛的 SQL 指標報告。若要下載 `db2mon.sh` 檔案和相關指令碼檔案，請參閱 IBM db2-samples GitHub 儲存庫中的 [https://github.com/IBM/db2-samples/tree/master/perf](https://github.com/IBM/db2-samples/tree/master/perf) 目錄。

**使用指令碼產生效能報告**

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

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

1. 呼叫 `rdsadmin.create_bufferpool` 來建立名為 `db2monbp` 且頁面大小為 4096 的緩衝集區。如需詳細資訊，請參閱[rdsadmin.create\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-create-buffer-pool)。

   ```
   db2 "call rdsadmin.create_bufferpool('database_name','db2monbp',4096)"
   ```

1. 呼叫 `rdsadmin.create_tablespace` 來建立名為 `db2montmptbsp` 的暫存資料表空間，以使用 `db2monbp` 緩衝集區。如需詳細資訊，請參閱[rdsadmin.create\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-create-tablespace)。

   ```
   db2 "call rdsadmin.create_tablespace('database_name',\
       'db2montmptbsp','db2monbp',4096,1000,100,'T')"
   ```

1. 開啟 `db2mon.sh` 指令碼，並修改有關連線至資料庫的行。

   1. 移除以下這行。

      ```
      db2 -v connect to $dbName
      ```

   1. 將上一個步驟中的行取代為下列行。在下列範例中，使用 RDS for Db2 資料庫執行個體的主使用者名稱和主密碼取代 *master\$1username* 和 *master\$1password*。

      ```
      db2 -v connect to $dbName user master_username using master_password
      ```

   1. 移除以下這些行。

      ```
      db2 -v create bufferpool db2monbp
      
      db2 -v create user temporary tablespace db2montmptbsp bufferpool db2monbp
      
      db2 -v drop tablespace db2montmptbsp
      
      db2 -v drop bufferpool db2monbp
      ```

1. 執行 `db2mon.sh` 指令碼以指定的間隔輸出報告。在下列範例中，將 *absolute\$1path* 取代為指令碼檔案的完整路徑、將 *rds\$1database\$1alias* 取代為您資料庫的名稱，並將 *seconds* 取代為報告產生之間的秒數 (0 到 3600)。

   ```
   absolute_path/db2mon.sh rds_database_alias seconds | tee -a db2mon.out
   ```

   **範例**

   下列範例顯示指令碼檔案位於 `home` 目錄下的 `perf` 目錄中。

   ```
   /home/db2inst1/sqllib/samples/perf/db2mon.sh rds_database_alias seconds | tee -a db2mon.out
   ```

1. 捨棄為 `db2mon.sh` 檔案建立的緩衝集區和資料表空間。在下列範例中，使用 RDS for Db2 資料庫執行個體的主使用者名稱和主密碼取代 *master\$1username* 和 *master\$1password*。將 *database\$1name* 取代為您資料庫的名稱。如需詳細資訊，請參閱[rdsadmin.drop\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-drop-tablespace)及[rdsadmin.drop\$1bufferpool](db2-sp-managing-buffer-pools.md#db2-sp-drop-buffer-pool)。

   ```
   db2 connect to rdsadmin user master_username using master_password
   
   db2 "call rdsadmin.drop_tablespace('database_name','db2montmptbsp')"
   
   db2 "call rdsadmin.drop_bufferpool('database_name','db2monbp')"
   ```