Referência de função definida pelo usuário do Amazon RDS para Db2
O tópico a seguir descreve funções definidas pelo usuário que estão disponíveis para instâncias de banco de dados do Amazon RDS que executam o mecanismo do Db2.
Conferir o status de uma tarefa
É possível usar a função rdsadmin.get_task_status
definida pelo usuário para conferir o status das tarefas a seguir referentes ao Amazon RDS para Db2. Essa lista não é exaustiva.
-
Criar, alterar ou descartar um grupo de buffers
-
Criar, alterar ou descartar um espaço de tabela
-
Criar ou descartar um banco de dados
-
Restaurar o backup de um banco de dados do Amazon S3
-
Realizando roll forward dos logs de banco de dados do Amazon S3
rdsadmin.get_task_status
Exibe o status de uma tarefa.
Sintaxe
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
Os parâmetros a seguir são opcionais. Se você não fornecer parâmetros, a função definida pelo usuário exibirá o status de todas as tarefas de todos os bancos de dados. O Amazon RDS retém o histórico de tarefas por 35 dias.
task_id
-
O ID da tarefa que está sendo executada. Esse ID é exibido quando você executa uma tarefa. Padrão:
0
. database_name
-
O nome do banco de dados no qual a tarefa está sendo executada.
task_type
-
O tipo da tarefa a ser consultada. 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
.
Exemplos
No exemplo a seguir vemos as colunas exibidas quando rdsadmin.get_task_status
é chamado.
db2 "describe select * from table(rdsadmin.get_task_status())"
O exemplo a seguir lista o status de todas as tarefas.
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))"
O exemplo a seguir lista o status de uma tarefa 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))"
O exemplo a seguir lista o status de uma tarefa e um banco de dados específicos.
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))"
O exemplo a seguir lista o status de todas as tarefas 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'))"
O exemplo a seguir lista o status de todas as tarefas de um banco de dados específico.
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))"
O exemplo a seguir mostra os valores JSON como colunas.
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"
Resposta
A função rdsadmin.get_task_status
definida pelo usuário exibe as seguintes colunas:
TASK_ID
-
O ID da tarefa.
TASK_TYPE
-
Depende dos parâmetros de entrada.
-
ADD_GROUPS
: adiciona grupos. -
ADD_USER
: adiciona um usuário. -
ALTER_BUFFERPOOL
: altera um grupo de buffers. -
ALTER_TABLESPACE
: altera um espaço de tabela. -
CHANGE_PASSWORD
: altera a senha de um usuário. -
COMPLETE_ROLLFORWARD
: conclui uma tarefardsadmin.rollforward_database
e ativa um banco de dados. -
CREATE_BUFFERPOOL
: cria um grupo de buffers. -
CREATE_DATABASE
: cria um banco de dados. -
CREATE_ROLE
: cria um perfil do Db2 para um usuário. -
CREATE_TABLESPACE
: cria um espaço de tabela. -
DROP_BUFFERPOOL
: descarta um grupo de buffers. -
DROP_DATABASE
: descarta um banco de dados. -
DROP_TABLESPACE
: descarta um espaço de tabela. -
LIST_USERS
: lista todos os usuários. -
REMOVE_GROUPS
: remove os grupos. -
REMOVE_USER
: remove um usuário. -
RESTORE_DB
: restaura um banco de dados completo. -
ROLLFORWARD_DB_LOG
: executa uma tarefardsadmin.rollforward_database
nos logs do banco de dados. -
ROLLFORWARD_STATUS
: retorna o status de uma tarefardsadmin.rollforward_database
. -
UPDATE_DB_PARAM
: atualiza os parâmetros de dados.
-
DATABASE_NAME
-
O nome do banco de dados ao qual a tarefa está associada.
COMPLETED_WORK_BYTES
-
O número de bytes restaurados pela tarefa.
DURATION_MINS
-
O tempo necessário para concluir a tarefa.
LIFECYCLE
-
O status da tarefa. Possíveis status:
-
CREATED
: depois que uma tarefa é enviada ao Amazon RDS, o Amazon RDS define o status comoCREATED
. -
IN_PROGRESS
: depois de iniciar uma tarefa, o Amazon RDS define o status comoIN_PROGRESS
. Pode demorar até cinco minutos para que o status mude deCREATED
paraIN_PROGRESS
. -
SUCCESS
: após o término de uma tarefa, o Amazon RDS define o status comoSUCCESS
. -
ERROR
: se uma tarefa de restauração falhar, o Amazon RDS definirá o status comoERROR
. Para ter mais informações sobre o erro, consulteTASK_OUPUT
.
-
CREATED_BY
-
O
authid
que criou o comando. CREATED_AT
-
A data e hora em que a tarefa foi criada.
LAST_UPDATED_AT
-
A data e a hora em que a tarefa foi atualizada pela última vez.
TASK_INPUT_PARAMS
-
Os parâmetros diferem com base no tipo de tarefa. Todos os parâmetros de entrada são representados como um objeto JSON. Por exemplo, as chaves JSON para a tarefa
RESTORE_DB
são as seguintes:-
DBNAME
-
RESTORE_TIMESTAMP
-
S3_BUCKET_NAME
-
S3_PREFIX
-
TASK_OUTPUT
-
Informações adicionais sobre a tarefa. No caso de erro durante a restauração nativa, essa coluna inclui as informações sobre o erro.
Exemplos de resposta
O exemplo de resposta a seguir mostra que um banco de dados chamado TESTJP
foi criado com êxito. Para ter mais informações, consulte o procedimento armazenando 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`.
O exemplo de resposta a seguir explica por que o descarte de um banco de dados falhou. Para ter mais informações, consulte o procedimento armazenando 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
O exemplo de resposta a seguir mostra a restauração bem-sucedida de um banco de dados. Para ter mais informações, consulte o procedimento armazenando 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