Amazon RDS for Db2 ユーザー定義関数リファレンス
Db2 エンジンを実行している Amazon RDS DB インスタンスで使用できるユーザー定義関数について説明します。
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 日間保持します。
task_id
-
実行中のタスクの ID。この ID は、タスクの実行時に返されます。デフォルト:
0
。 database_name
-
タスクが実行されているデータベースの名前。
task_type
-
クエリするタスクのタイプ。有効な値:
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
ユーザー定義関数を使用して、Amazon RDS for Db2 の以下のタスクのステータスを確認できます。これはすべてを網羅したリストではありません。
-
バッファプールの作成、変更、削除
-
テーブルスペースの作成、変更、削除
-
データベースの作成または削除
-
Amazon S3 からのデータベースバックアップの復元
-
Amazon S3 からのデータベースログのロールフォワード
例
次の例では、 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
に設定します。ステータスがCREATED
からIN_PROGRESS
に変わるまで、最大 5 分かかることがあります。 -
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" : "
amzn-s3-demo-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
rdsadmin.list_databases
RDS for Db2 DB インスタンスで実行されているすべてのデータベースのリストを返します。
構文
db2 "select * from table(rdsadmin.list_databases())"
使用に関する注意事項
このユーザー定義関数には、データベースの状態がアクティブか非アクティブかを指定しません。
リストにデータベースが表示されない場合は、rdsadmin.get_task_status ユーザー定義関数を呼び出してエラーメッセージを探してください。
レスポンス
rdsadmin.list_databases
ユーザー定義関数は次の列を返します。
DATABASE_NAME
-
データベースの名前。
CREATE_TIME
-
データベースが作成された日時。
レスポンスの例
次のレスポンスの例は、データベースのリストと、それらの作成時刻を示しています。rdsadmin
は Amazon RDS が管理し、常に出力に表示されるデータベースです。
DATABASE_NAME CREATE_TIME --------------- -------------------------- rdsadmin 2024-10-22-03.37.48.535671 TEST 2024-10-22-03.39.36.818679 TEST1 2024-10-22-03.57.15.218009 TEST2 2024-10-22-03.59.28.029556