檢查工作狀態 - Amazon Relational Database Service

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

檢查工作狀態

您可以使用使用rdsadmin.get_task_status者定義的函數來檢查適用於 Db2 的 Amazon RDS 的下列任務的狀態。此清單並不詳盡。

  • 建立、變更或刪除緩衝集區

  • 建立、變更或刪除表格空間

  • 創建或刪除數據庫

  • 從 Amazon S3 還原資料庫備份

  • 從 Amazon S3 向前滾動資料庫日誌

rdsadmin.get_task_status

傳回工作的狀態。

語法

db2 "select task_id, task_type, database_name, lifecycle, varchar(bson_to_json(task_input_params), 500) as task_params, cast(task_output as varchar(500)) as task_output from table(rdsadmin.get_task_status(task_id,'database_name','task_type'))"

參數

下列參數是選擇性的。如果您未提供任何參數,使用者定義函數會傳回所有資料庫之所有工作的狀態。Amazon RDS 會保留任務歷史記錄 35 天。

任務識別碼

正在執行之工作的識別碼。當您執行工作時,會傳回此 ID。預設:0

database_name

正在執行工作的資料庫名稱。

任務類型

要查詢的工作類型。有效值:ADD_GROUPS、、ADD_USERALTER_BUFFERPOOLALTER_TABLESPACE、、CHANGE_PASSWORDCOMPLETE_ROLLFORWARDCREATE_BUFFERPOOL、、CREATE_DATABASECREATE_ROLECREATE_TABLESPACE、、DROP_BUFFERPOOLDROP_DATABASEDROP_TABLESPACE、、LIST_USERSREMOVE_GROUPSREMOVE_USER、、RESTORE_DBROLLFORWARD_DB_LOGROLLFORWARD_STATUS、、UPDATE_DB_PARAM

範例

下列範例會顯示呼叫時傳回rdsadmin.get_task_status的資料行。

db2 "describe select * from table(rdsadmin.get_task_status())"

下列範例會列出所有工作的狀態。

db2 "select task_id, task_type, database_name, lifecycle, varchar(bson_to_json(task_input_params), 500) as task_params, cast(task_output as varchar(500)) as task_output from table(rdsadmin.get_task_status(null,null,null))"

下列範例會列出特定工作的狀態。

db2 "select task_id, task_type, database_name, varchar(bson_to_json(task_input_params), 500) as task_params from table(rdsadmin.get_task_status(1,null,null))"

下列範例會列出特定工作和資料庫的狀態。

db2 "select task_id, task_type, database_name, varchar(bson_to_json(task_input_params), 500) as task_params from table(rdsadmin.get_task_status(2,'SAMPLE',null))"

下列範例會列出所有ADD_GROUPS工作的狀態。

db2 "select task_id, task_type, database_name, varchar(bson_to_json(task_input_params), 500) as task_params from table(rdsadmin.get_task_status(null,null,'add_groups'))"

下列範例會列出特定資料庫之所有工作的狀態。

db2 "select task_id, task_type, database_name, varchar(bson_to_json(task_input_params), 500) as task_params from table(rdsadmin.get_task_status(null,'testdb', null))"

下列範例會將 JSON 值輸出為資料行。

db2 "select varchar(r.task_type,25) as task_type, varchar(r.lifecycle,10) as lifecycle, r.created_at, u.* from table(rdsadmin.get_task_status(null,null,'restore_db')) as r, json_table(r.task_input_params, 'strict $' columns(s3_prefix varchar(500) null on empty, s3_bucket_name varchar(500) null on empty) error on error ) as U"

回應

rdsadmin.get_task_status使用者定義函數會傳回下列資料行:

TASK_ID

任務的 ID。

TASK_TYPE

取決於輸入參數。

  • ADD_GROUPS— 新增群組。

  • ADD_USER— 新增使用者。

  • ALTER_BUFFERPOOL— 改變緩衝集區。

  • ALTER_TABLESPACE— 變更表格空間。

  • CHANGE_PASSWORD — 變更使用者的密碼。

  • COMPLETE_ROLLFORWARD— 完成rdsadmin.rollforward_database工作並啟動資料庫。

  • CREATE_BUFFERPOOL— 建立緩衝集區。

  • CREATE_DATABASE— 建立資料庫。

  • CREATE_ROLE— 為使用者建立 Db2 角色。

  • CREATE_TABLESPACE— 建立表格空間。

  • DROP_BUFFERPOOL— 卸除緩衝集區。

  • DROP_DATABASE— 刪除資料庫。

  • DROP_TABLESPACE— 卸除表格空間。

  • LIST_USERS— 列出所有使用者。

  • REMOVE_GROUPS— 移除群組。

  • REMOVE_USER— 移除使用者。

  • RESTORE_DB— 還原完整資料庫。

  • ROLLFORWARD_DB_LOG— 對資料庫記錄執行rdsadmin.rollforward_database工作。

  • ROLLFORWARD_STATUS — 傳回rdsadmin.rollforward_database任務的狀態。

  • UPDATE_DB_PARAM— 更新資料參數。

DATABASE_NAME

與工作相關聯的資料庫名稱。

COMPLETED_WORK_BYTES

工作還原的位元組數目。

DURATION_MINS

完成任務所花費的時間。

LIFECYCLE

任務的狀態。可能的狀態:

  • CREATED— 將任務提交到 Amazon RDS 後,Amazon RDS 將狀態設置為CREATED

  • IN_PROGRESS— 任務開始後,Amazon RDS 會將狀態設定為IN_PROGRESS。狀態可能需要 5 分鐘的時間才會從變更CREATEDIN_PROGRESS

  • SUCCESS— 任務完成後,Amazon RDS 會將狀態設定為SUCCESS

  • ERROR— 如果還原任務失敗,Amazon RDS 會將狀態設定為ERROR。若要取得有關錯誤的更多資訊,請參閱TASK_OUPUT

CREATED_BY

authid建命令的。

CREATED_AT

建立任務的日期和時間。

LAST_UPDATED_AT

上次更新工作的資料和時間。

TASK_INPUT_PARAMS

參數會根據工作類型而有所不同。所有輸入參數都表示為 JSON 物件。例如,工RESTORE_DB作的 JSON 金鑰如下:

  • DBNAME

  • RESTORE_TIMESTAMP

  • S3_BUCKET_NAME

  • S3_PREFIX

TASK_OUTPUT

任務的其他資訊。如果在原生還原期間發生錯誤,此欄會包含錯誤的相關資訊。

回應範例

下列回應範例顯示已順利建立呼TESTJP叫的資料庫。如需詳細資訊,請參閱rdsadmin.create_database預存程序。

`1 SUCCESS CREATE_DATABASE RDSDB 2023-10-24-18.32.44.962689 2023-10-24-18.34.50.038523 1 TESTJP { "CODESET" : "IBM-437", "TERRITORY" : "JP", "COLLATION" : "SYSTEM", "AUTOCONFIGURE_CMD" : "", "PAGESIZE" : 4096 } 2023-10-24-18.33.30.079048 Task execution has started. 2023-10-24-18.34.50.038523 Task execution has completed successfully`.

下列回應範例說明卸除資料庫失敗的原因。如需詳細資訊,請參閱rdsadmin.drop_database預存程序。

1 ERROR DROP_DATABASE RDSDB 2023-10-10-16.33.03.744122 2023-10-10-16.33.30.143797 - 2023-10-10-16.33.30.098857 Task execution has started. 2023-10-10-16.33.30.143797 Caught exception during executing task id 1, Aborting task. Reason Dropping database created via rds CreateDBInstance api is not allowed. Only database created using rdsadmin.create_database can be dropped

下列回應範例顯示成功還原資料庫。如需詳細資訊,請參閱rdsadmin.restore_database預存程序。

1 RESTORE_DB SAMPLE SUCCESS { "S3_BUCKET_NAME" : "DOC-EXAMPLE-BUCKET", "S3_PREFIX" : "SAMPLE.0.rdsdb3.DBPART000.20230413183211.001", "RESTORE_TIMESTAMP" : "20230413183211", "BACKUP_TYPE" : "offline" } 2023-11-06-18.31.03.115795 Task execution has started. 2023-11-06-18.31.04.300231 Preparing to download 2023-11-06-18.31.08.368827 Download complete. Starting Restore 2023-11-06-18.33.13.891356 Task Completed Successfully