Référence des fonctions définies par l’utilisateur Amazon RDS for Db2
Les fonctions suivantes définies par l’utilisateur sont disponibles pour les instances de base de données Amazon RDS exécutant le moteur Db2.
rdsadmin.get_task_status
Renvoie le statut d’une tâche.
Syntaxe
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'))"
Paramètres
Les paramètres suivants sont facultatifs. Si vous ne fournissez pas de paramètre, la fonction définie par l’utilisateur renvoie le statut de toutes les tâches pour toutes les bases de données. Amazon RDS conserve l’historique des tâches pendant 35 jours.
task_id-
ID de la tâche en cours d’exécution. Cet ID est renvoyé lorsque vous exécutez une tâche. Par défaut :
0. database_name-
Nom de la base de données pour laquelle la tâche est exécutée.
task_type-
Type de tâche à interroger. Valeurs valides :
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.
Notes d’utilisation
Vous pouvez utiliser la fonction rdsadmin.get_task_status définie par l’utilisateur pour vérifier le statut des tâches suivantes pour Amazon RDS for Db2. Cette liste n’est pas exhaustive.
-
Création, modification ou suppression d’un pool de mémoires tampons
-
Création, modification ou suppression d’un tablespace
-
Création ou suppression d’une base de données
-
Restauration d’une sauvegarde de base de données à partir d’Amazon S3
-
Transfert des journaux de base de données à partir d’Amazon S3
Exemples
L’exemple suivant affiche les colonnes renvoyées lorsque rdsadmin.get_task_status est appelé.
db2 "describe select * from table(rdsadmin.get_task_status())"
L’exemple suivant répertorie le statut de toutes les tâches.
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))"
L’exemple suivant répertorie le statut d’une tâche spécifique.
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))"
L’exemple suivant répertorie le statut d’une tâche et d’une base de données spécifique.
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))"
L’exemple suivant répertorie le statut de toutes les tâches 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'))"
L’exemple suivant répertorie le statut de toutes les tâches pour une base de données spécifique.
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))"
L’exemple suivant affiche les valeurs JSON sous forme de colonnes.
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"
Réponse
La fonction rdsadmin.get_task_status définie par l’utilisateur renvoie les colonnes suivantes :
TASK_ID-
ID de la tâche
TASK_TYPE-
Cela dépend des paramètres d’entrée.
-
ADD_GROUPS: ajoute des groupes. -
ADD_USER: ajoute un utilisateur. -
ALTER_BUFFERPOOL: modifie un pool de mémoires tampons. -
ALTER_TABLESPACE: modifie un tablespace. -
CHANGE_PASSWORD: modifie le mot de passe d’un utilisateur. -
COMPLETE_ROLLFORWARD: termine une tâcherdsadmin.rollforward_databaseet active une base de données. -
CREATE_BUFFERPOOL: crée un pool de mémoires tampons. -
CREATE_DATABASE: crée une base de données. -
CREATE_ROLE: crée un rôle Db2 pour un utilisateur. -
CREATE_TABLESPACE: crée un tablespace. -
DROP_BUFFERPOOL: supprime un pool de mémoires tampons. -
DROP_DATABASE: supprime une base de données. -
DROP_TABLESPACE: supprime un tablespace. -
LIST_USERS: répertorie tous les utilisateurs. -
REMOVE_GROUPS: supprime des groupes. -
REMOVE_USER: supprime un utilisateur. -
RESTORE_DB: restaure une base de données complète. -
ROLLFORWARD_DB_LOG: exécute une tâcherdsadmin.rollforward_databasesur les journaux de base de données. -
ROLLFORWARD_STATUS: renvoie le statut d’une tâcherdsadmin.rollforward_database. -
UPDATE_DB_PARAM: met à jour les paramètres des données.
-
DATABASE_NAME-
Nom de la base de données à laquelle est associée à la tâche.
COMPLETED_WORK_BYTES-
Nombre d’octets restaurés par la tâche.
DURATION_MINS-
Temps nécessaire pour terminer la tâche.
LIFECYCLE-
État de la tâche. Statuts possibles :
-
CREATED: une fois qu’une tâche est soumise à Amazon RDS, Amazon RDS définit le statut surCREATED. -
IN_PROGRESS: après le démarrage d’une tâche, Amazon RDS défini le statut surIN_PROGRESS. Il peut s’écouler jusqu’à 5 minutes avant qu’un statut ne passe deCREATEDàIN_PROGRESS. -
SUCCESS: lorsqu’une tâche est terminée, Amazon RDS défini le statut surSUCCESS. -
ERROR: si une tâche de restauration échoue, Amazon RDS définit le statut surERROR. Pour plus d’informations sur l’erreur, consultezTASK_OUPUT.
-
CREATED_BY-
Le
authidqui a créé la commande. CREATED_AT-
Date et heure de création de la tâche.
LAST_UPDATED_AT-
Date et heure de la dernière mise à jour de la tâche.
TASK_INPUT_PARAMS-
Les paramètres varient en fonction du type de tâche. Tous les paramètres d’entrée sont représentés sous forme d’objet JSON. Par exemple, les clés JSON de la tâche
RESTORE_DBsont les suivantes :-
DBNAME -
RESTORE_TIMESTAMP -
S3_BUCKET_NAME -
S3_PREFIX
-
TASK_OUTPUT-
Informations supplémentaires sur la tâche. Si une erreur se produit lors de la restauration native, cette colonne inclut des informations sur l’erreur.
Exemples de réponses
L’exemple de réponse suivant montre qu’une base de données appelée TESTJP a été créée avec succès. Pour plus d’informations, consultez la procédure stockée 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`.
L’exemple de réponse suivant explique pourquoi la suppression d’une base de données a échoué. Pour plus d’informations, consultez la procédure stockée 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
L’exemple de réponse suivant montre la restauration réussie d’une base de données. Pour plus d’informations, consultez la procédure stockée 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
Renvoie une liste de toutes les bases de données exécutées sur une instance de base de données RDS for Db2.
Syntaxe
db2 "select * from table(rdsadmin.list_databases())"
Notes d’utilisation
Cette fonction définie par l’utilisateur ne précise pas si les bases de données sont activées ou désactivées.
Si vos bases de données ne sont pas répertoriées dans la liste, appelez la fonction rdsadmin.get_task_status définie par l’utilisateur et recherchez les messages d’erreur.
Réponse
La fonction rdsadmin.list_databases définie par l’utilisateur renvoie les colonnes suivantes :
DATABASE_NAME-
Nom d’une base de données.
CREATE_TIME-
Date et heure de création de la base de données.
Exemples de réponses
L’exemple de réponse suivant montre une liste de bases de données et l’heure à laquelle elles ont été créées. rdsadmin est une base de données gérée par Amazon RDS et qui apparaît toujours dans la sortie.
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