Referência de função definida pelo usuário do Amazon RDS para Db2 - Amazon Relational Database Service

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 tarefa rdsadmin.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 tarefa rdsadmin.rollforward_database nos logs do banco de dados.

  • ROLLFORWARD_STATUS : retorna o status de uma tarefa rdsadmin.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 como CREATED.

  • IN_PROGRESS: depois de iniciar uma tarefa, o Amazon RDS define o status como IN_PROGRESS. Pode demorar até cinco minutos para que o status mude de CREATED para IN_PROGRESS.

  • SUCCESS: após o término de uma tarefa, o Amazon RDS define o status como SUCCESS.

  • ERROR: se uma tarefa de restauração falhar, o Amazon RDS definirá o status como ERROR. Para ter mais informações sobre o erro, consulte TASK_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