Référence des fonctions définies par l’utilisateur Amazon RDS for Db2 - Amazon Relational Database Service

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âche rdsadmin.rollforward_database et 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âche rdsadmin.rollforward_database sur les journaux de base de données.

  • ROLLFORWARD_STATUS  : renvoie le statut d’une tâche rdsadmin.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 sur CREATED.

  • IN_PROGRESS : après le démarrage d’une tâche, Amazon RDS défini le statut sur IN_PROGRESS. Il peut s’écouler jusqu’à 5 minutes avant qu’un statut ne passe de CREATED à IN_PROGRESS.

  • SUCCESS : lorsqu’une tâche est terminée, Amazon RDS défini le statut sur SUCCESS.

  • ERROR : si une tâche de restauration échoue, Amazon RDS définit le statut sur ERROR. Pour plus d’informations sur l’erreur, consultez TASK_OUPUT.

CREATED_BY

Le authid qui 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_DB sont 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