資料庫的一般任務 - Amazon Relational Database Service

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

資料庫的一般任務

您可以在 RDS for Db2 資料庫執行個體上建立、捨棄或還原資料庫。建立、捨棄或還原資料庫需要更高層級SYSADM的授權,主要使用者無法使用。反之,請使用 Amazon RDS預存程序。

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

建立資料庫

若要在 RDS for Db2 資料庫執行個體的 上建立資料庫,請呼叫rdsadmin.create_database預存程序。如需詳細資訊,請參閱 CREATE DATABASE 中的 命令 IBM Db2 文件中)。

注意

如果您在使用 Amazon RDS主控台或 建立 RDS for Db2 資料庫執行個體時未指定資料庫名稱,您可以呼叫預存程序來建立資料庫 AWS CLI。如需詳細資訊,請參閱 使用須知rdsadmin.create_database

若要建立資料庫
  1. 使用RDS適用於 Db2 rdsadmin 資料庫執行個體的主使用者名稱和主密碼連線至資料庫。在下列範例中,取代 master_username 以及 master_password 使用您自己的資訊。

    db2 "connect to rdsadmin user master_user using master_password"
  2. 呼叫 來建立資料庫rdsadmin.create_database。如需詳細資訊,請參閱rdsadmin.create_database

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

設定資料庫的設定

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

設定資料庫的設定
  1. 使用RDS適用於 Db2 rdsadmin 資料庫執行個體的主使用者名稱和主密碼連線至資料庫。在下列範例中,取代 master_username 以及 master_password 使用您自己的資訊。

    db2 "connect to rdsadmin user master_user using master_password"
  2. (選用) 呼叫 來檢查您目前的組態設定rdsadmin.show_configuration。如需詳細資訊,請參閱rdsadmin.show_configuration

    db2 "call rdsadmin.show_configuration('name')"
  3. 呼叫 來設定資料庫的設定rdsadmin.set_configuration。如需詳細資訊,請參閱rdsadmin.set_configuration

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

修改資料庫參數

Amazon RDS for Db2 使用三種類型的參數:資料庫管理員組態參數、登錄變數和資料庫組態參數。您可以透過參數群組更新前兩種類型,並透過rdsadmin.update_db_param預存程序更新最後一個類型。

注意

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

如需這些參數以及如何修改其值的詳細資訊,請參閱 適用於 Db2 的 Amazon RDS 參數

設定日誌保留

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

設定資料庫的日誌保留
  1. 使用RDS適用於 Db2 rdsadmin 資料庫執行個體的主使用者名稱和主密碼連線至資料庫。在下列範例中,取代 master_username 以及 master_password 使用您自己的資訊。

    db2 "connect to rdsadmin user master_user using master_password"
  2. (選用) 呼叫 來檢查目前組態的日誌保留rdsadmin.show_archive_log_retention。如需詳細資訊,請參閱rdsadmin.show_archive_log_retention

    db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')"
  3. 呼叫 來設定資料庫的日誌保留rdsadmin.set_archive_log_retention。如需詳細資訊,請參閱rdsadmin.set_archive_log_retention

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

捨棄資料庫

若要從RDS適用於 Db2 資料庫執行個體的 捨棄資料庫,請呼叫rdsadmin.drop_database預存程序。如需詳細資訊,請參閱中的捨棄資料庫 IBM Db2 文件中)。

注意

只有在符合特定條件時,才能呼叫預存程序來捨棄資料庫。如需詳細資訊,請參閱 使用須知rdsadmin.drop_database

若要捨棄資料庫
  1. 使用RDS適用於 Db2 rdsadmin 資料庫執行個體的主使用者名稱和主密碼連線至資料庫。在下列範例中,取代 master_username 以及 master_password 使用您自己的資訊。

    db2 "connect to rdsadmin user master_user using master_password"
  2. 呼叫 以捨棄資料庫rdsadmin.drop_database。如需詳細資訊,請參閱rdsadmin.drop_database

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

還原資料庫

若要還原RDS適用於 Db2 資料庫執行個體的 資料庫,請呼叫rdsadmin.restore_database預存程序。如需詳細資訊,請參閱 RESTORE DATABASE 中的 命令 IBM Db2 文件中)。

注意

如果您在使用 Amazon RDS主控台或 建立 RDS for Db2 資料庫執行個體時未指定資料庫名稱,您可以呼叫預存程序來還原資料庫 AWS CLI。如需詳細資訊,請參閱 使用須知 for rdsadmin.restore_database

若要 資料庫
  1. 使用RDS適用於 Db2 rdsadmin 資料庫執行個體的主使用者名稱和主密碼連線至資料庫。在下列範例中,取代 master_username 以及 master_password 使用您自己的資訊。

    db2 "connect to rdsadmin user master_user using master_password"
  2. (選用) 檢查您目前的組態設定,以呼叫 來最佳化還原操作rdsadmin.show_configuration。如需詳細資訊,請參閱rdsadmin.show_configuration

    db2 "call rdsadmin.show_configuration('name')"
  3. 透過呼叫 來設定 設定以最佳化還原操作rdsadmin.set_configuration。明確設定這些值可在還原具有大量資料的資料庫時改善效能。如需詳細資訊,請參閱rdsadmin.set_configuration

    db2 "call rdsadmin.set_configuration( 'name', 'value')"
  4. 呼叫 來還原資料庫rdsadmin.restore_database。如需詳細資訊,請參閱rdsadmin.restore_database

    db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', restore_timestamp, 'backup_type')"
  5. 讓資料庫重新上線,並呼叫 以套用其他交易日誌rdsadmin.rollforward_database。如需詳細資訊,請參閱rdsadmin.rollforward_database

    db2 "call rdsadmin.rollforward_database( ?, 'database_name', 's3_bucket_name', s3_prefix, 'rollfoward_to_option', 'complete_rollforward')"
  6. 如果您在上一個步驟FALSEcomplete_rollforward將 設定為 ,則您必須呼叫 ,完成資料庫恢復連線rdsadmin.complete_rollforward。如需詳細資訊,請參閱rdsadmin.complete_rollforward

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

收集資料庫的相關資訊

若要收集資料庫的相關資訊,請呼叫rdsadmin.db2pd_command預存程序。此資訊可協助您監控資料庫或疑難排解問題。

收集資料庫的相關資訊
  1. 使用RDS適用於 Db2 rdsadmin 資料庫執行個體的主使用者名稱和主密碼連線至資料庫。在下列範例中,取代 master_username 以及 master_password 使用您自己的資訊。

    db2 "connect to rdsadmin user master_username using master_password"
  2. 呼叫 以收集資料庫的相關資訊rdsadmin.db2pd_command。如需詳細資訊,請參閱rdsadmin.db2pd_command

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

強制應用程式離開資料庫

若要強制應用程式退出 RDS Db2 資料庫的 ,請呼叫rdsadmin.force_application預存程序。在對資料庫執行維護之前,請將應用程式強制離開資料庫。

強制應用程式離開資料庫
  1. 使用RDS適用於 Db2 rdsadmin 資料庫執行個體的主使用者名稱和主密碼連線至資料庫。在下列範例中,取代 master_username 以及 master_password 使用您自己的資訊。

    db2 "connect to rdsadmin user master_username using master_password"
  2. 呼叫 以強制應用程式離開資料庫rdsadmin.force_application。如需詳細資訊,請參閱rdsadmin.force_application

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

產生效能報告

您可以使用程序或指令碼產生效能報告。如需使用程序的資訊,請參閱 DBSUMMARY 程序 - 在 中產生系統和應用程式效能指標的摘要報告 IBM Db2 文件中)。

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

使用指令碼產生效能報告
  1. 使用適用於 Db2 資料庫執行個體的主使用者名稱和主密碼連線至RDS您的 Db2 資料庫。在下列範例中,取代 master_username 以及 master_password 使用您自己的資訊。

    db2 connect to rdsadmin user master_username using master_password
  2. 呼叫 以建立名為 的緩衝集區,其頁面大小db2monbp為 4096rdsadmin.create_bufferpool。如需詳細資訊,請參閱rdsadmin.create_bufferpool

    db2 "call rdsadmin.create_bufferpool('database_name','db2monbp',4096)"
  3. 透過呼叫 建立名為 的暫存資料表空間db2montmptbsp,以使用db2monbp緩衝集區rdsadmin.create_tablespace。如需詳細資訊,請參閱rdsadmin.create_tablespace

    db2 "call rdsadmin.create_tablespace('database_name',\ 'db2montmptbsp','db2monbp',4096,1000,100,'T')"
  4. 開啟db2mon.sh指令碼,然後修改有關連線至資料庫的行。

    1. 移除以下這行。

      db2 -v connect to $dbName
    2. 將上一個步驟中的線條取代為下列線條。在下列範例中,取代 master_username 以及 master_password 使用RDS適用於 Db2 資料庫執行個體的主使用者名稱和主密碼。

      db2 -v connect to $dbName user master_username using master_password
    3. 移除下列行。

      db2 -v create bufferpool db2monbp db2 -v create user temporary tablespace db2montmptbsp bufferpool db2monbp db2 -v drop tablespace db2montmptbsp db2 -v drop bufferpool db2monbp
  5. 執行db2mon.sh指令碼以指定間隔輸出報告。在下列範例中,取代 absolute_path 指令碼檔案的完整路徑 rds_database_alias 您的資料庫名稱,以及 seconds 報告產生之間的秒數 (0 到 3600)。

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

    範例

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

    /home/db2inst1/sqllib/samples/perf/db2mon.sh rds_database_alias seconds | tee -a db2mon.out
  6. 捨棄為 db2mon.sh 檔案建立的緩衝集區和資料表空間。在下列範例中,取代 master_username 以及 master_password 使用RDS適用於 Db2 資料庫執行個體的主使用者名稱和主密碼。Replace (取代) database_name 您的資料庫名稱。

    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')"