本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
檢查工作狀態
您可以使用使用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_USER
、ALTER_BUFFERPOOL
、ALTER_TABLESPACE
、、CHANGE_PASSWORD
、COMPLETE_ROLLFORWARD
、CREATE_BUFFERPOOL
、、CREATE_DATABASE
、CREATE_ROLE
、CREATE_TABLESPACE
、、DROP_BUFFERPOOL
、DROP_DATABASE
、DROP_TABLESPACE
、、LIST_USERS
、REMOVE_GROUPS
、REMOVE_USER
、、RESTORE_DB
、ROLLFORWARD_DB_LOG
、ROLLFORWARD_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 分鐘的時間才會從變更CREATED
為IN_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