Referencia de funciones definidas por el usuario de Amazon RDS para Db2
En estos temas, se describen las funciones definidas por el usuario que están disponibles para las instancias de base de datos de Amazon RDS que ejecutan el motor de Db2.
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 para Amazon RDS para Db2. 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 tareardsadmin.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 tareardsadmin.rollforward_database
en los registros de la base de datos. -
ROLLFORWARD_STATUS
: devuelve el estado de una tareardsadmin.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 enCREATED
. -
IN_PROGRESS
: cuando una tarea comienza, Amazon RDS establece su estado enIN_PROGRESS
. El estado puede tardar hasta cinco minutos en cambiar deCREATED
aIN_PROGRESS
. -
SUCCESS
: cuando una tarea se completa, el estado se establece enSUCCESS
. -
ERROR
: si se produce un error en una tarea de restauración, Amazon RDS establece el estado enERROR
. Para obtener más información acerca del error, consulteTASK_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" : "
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