Comprobación del estado de una tarea - Amazon Relational Database Service

Comprobación del estado de una tarea

Puede utilizar la función definida por el usuario rdsadmin.get_task_status para comprobar el estado de las siguientes tareas. Esta lista no es exhaustiva.

  • Crear, modificar o eliminar un grupo de búferes

  • Crear, modificar o eliminar un espacio de tabla

  • Crear o eliminar una base de datos

  • Restaurar una copia de seguridad de una base de datos desde Amazon S3

  • Poner al día los registros de bases de datos desde Amazon S3

rdsadmin.get_task_status

Devuelve el estado de una tarea.

Sintaxis

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'))"

Parámetros

Los siguientes parámetros son opcionales. Si no proporciona ningún parámetro, la función definida por el usuario devuelve el estado de todas las tareas de todas las bases de datos. Amazon RDS conserva el historial de tareas durante 35 días.

task_id

El ID de la tarea que se está ejecutando. Este ID se devuelve al ejecutar una tarea. Predeterminado: 0.

database_name

El nombre de la base de datos para la que se está ejecutando la tarea.

task_type

El tipo de tarea que se desea consultar. Valores válidos: 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.

Ejemplos

En el siguiente ejemplo se muestran las columnas devueltas cuando se llama a rdsadmin.get_task_status.

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

En el siguiente ejemplo se muestra el estado de todas las tareas.

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))"

En el siguiente ejemplo se muestra el estado de una tarea específica.

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))"

En el siguiente ejemplo se muestra el estado de una tarea y una base de datos específicas.

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))"

En el siguiente ejemplo se muestra el estado de todas las tareas 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'))"

En el siguiente ejemplo se muestra el estado de todas las tareas para una base de datos específica.

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))"

En el siguiente ejemplo aparecen los valores JSON como columnas.

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"

Respuesta

La función definida por el usuario rdsadmin.get_task_status devuelve las siguientes columnas:

TASK_ID

El ID de la tarea.

TASK_TYPE

Depende de los parámetros de entrada.

  • ADD_GROUPS: agrega grupos.

  • ADD_USER: agrega un usuario.

  • ALTER_BUFFERPOOL: modifica un grupo de búferes.

  • ALTER_TABLESPACE: modifica un espacio de tabla.

  • CHANGE_PASSWORD : cambia la contraseña de un usuario.

  • COMPLETE_ROLLFORWARD: completa una tarea rdsadmin.rollforward_database y activa una base de datos.

  • CREATE_BUFFERPOOL: crea un grupo de búferes.

  • CREATE_DATABASE: crea una base de datos.

  • CREATE_ROLE: crea un rol de Db2 para un usuario.

  • CREATE_TABLESPACE: crea un espacio de tabla.

  • DROP_BUFFERPOOL: elimina un grupo de búferes.

  • DROP_DATABASE: elimina una base de datos.

  • DROP_TABLESPACE: elimina un espacio de tabla.

  • LIST_USERS: muestra todos los usuarios.

  • REMOVE_GROUPS: elimina grupos.

  • REMOVE_USER: elimina un usuario.

  • RESTORE_DB: restaura una base de datos completa.

  • ROLLFORWARD_DB_LOG: realiza una tarea rdsadmin.rollforward_database en los registros de la base de datos.

  • ROLLFORWARD_STATUS : devuelve el estado de una tarea rdsadmin.rollforward_database.

  • UPDATE_DB_PARAM: actualiza los parámetros de datos.

DATABASE_NAME

El nombre de la base de datos a la que está asociada la tarea.

COMPLETED_WORK_BYTES

Número de bytes restaurados por la tarea.

DURATION_MINS

El tiempo que se tarda en completar la tarea.

LIFECYCLE

El estado de la tarea. Estados posibles:

  • CREATED: tras enviar una tarea a Amazon RDS, Amazon RDS establece el estado en CREATED.

  • IN_PROGRESS: cuando una tarea comienza, Amazon RDS establece su estado en IN_PROGRESS. El estado puede tardar hasta cinco minutos en cambiar de CREATED a IN_PROGRESS.

  • SUCCESS: cuando una tarea se completa, el estado se establece en SUCCESS.

  • ERROR: si se produce un error en una tarea de restauración, Amazon RDS establece el estado en ERROR. Para obtener más información acerca del error, consulte TASK_OUPUT.

CREATED_BY

El authid que creó el comando.

CREATED_AT

La fecha y hora en que se creó la tarea.

LAST_UPDATED_AT

La fecha y hora de la última actualización de la tarea.

TASK_INPUT_PARAMS

Los parámetros difieren según el tipo de tarea. Todos los parámetros de entrada se representan como un objeto JSON. Por ejemplo, las claves JSON de la tarea RESTORE_DB son las siguientes:

  • DBNAME

  • RESTORE_TIMESTAMP

  • S3_BUCKET_NAME

  • S3_PREFIX

TASK_OUTPUT

Información adicional acerca de la tarea. Si ocurre un error durante la restauración nativa, esta columna incluye información acerca del error.

Ejemplos de respuesta

El siguiente ejemplo de respuesta muestra que la base de datos llamada TESTJP se creó correctamente. Para obtener más información, consulte el procedimiento almacenado 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`.

El siguiente ejemplo de respuesta explica por qué no se pudo eliminar una base de datos. Para obtener más información, consulte el procedimiento almacenado 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

El siguiente ejemplo de respuesta muestra la restauración correcta de una base de datos. Para obtener más información, consulte el procedimiento almacenado rdsadmin.restore_database.

1 RESTORE_DB SAMPLE SUCCESS { "S3_BUCKET_NAME" : "mybucket", "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