

# Referência de função definida pelo usuário do Amazon RDS para Db2
<a name="db2-user-defined-functions"></a>

As seguintes funções definidas pelo usuário estão disponíveis para instâncias de banco de dados do Amazon RDS que executam o mecanismo do Db2. 

**Topics**
+ [rdsadmin.get\$1task\$1status](#db2-udf-get-task-status)
+ [rdsadmin.list\$1databases](#db2-udf-list-databases)
+ [rdsadmin.list\$1modifiable\$1db\$1params](#db2-udf-list-modi-db-params)

## rdsadmin.get\$1task\$1status
<a name="db2-udf-get-task-status"></a>

Exibe o status de uma tarefa.

### Sintaxe
<a name="db2-udf-get-task-status-syntax"></a>

```
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
<a name="db2-udf-get-task-status-parameters"></a>

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\$1id*  
O ID da tarefa que está sendo executada. Esse ID é exibido quando você executa uma tarefa. Padrão: `0`. 

*database\$1name*  
O nome do banco de dados no qual a tarefa está sendo executada.

*task\$1type*  
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`.

### Observações de uso
<a name="db2-udf-get-task-status-usage-notes"></a>

É 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

### Exemplos
<a name="db2-udf-get-task-status-examples"></a>

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 name="db2-udf-get-task-status-response"></a>

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
<a name="db2-udf-get-task-status-response-examples"></a>

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\$1database](db2-sp-managing-databases.md#db2-sp-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\$1database](db2-sp-managing-databases.md#db2-sp-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\$1database](db2-sp-managing-databases.md#db2-sp-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\$1databases
<a name="db2-udf-list-databases"></a>

Retorna uma lista de todos os bancos de dados em execução em uma instância de banco de dados do RDS para Db2.

### Sintaxe
<a name="db2-udf-list-databases-syntax"></a>

```
db2 "select * from table(rdsadmin.list_databases())"
```

### Observações de uso
<a name="db2-udf-list-databases-usage-notes"></a>

Essa função definida pelo usuário não especifica se os bancos de dados estão em um estado ativado ou desativado. 

Se você não vir seus bancos de dados na lista, chame a função definida pelo usuário [rdsadmin.get\$1task\$1status](#db2-udf-get-task-status) e procure mensagens de erro.

### Resposta
<a name="db2-udf-list-databases-response"></a>

A função `rdsadmin.list_databases` definida pelo usuário exibe as seguintes colunas: 

`DATABASE_NAME`  
O nome de um banco de dados.

`CREATE_TIME`  
A data e a hora em que o banco de dados foi criado.

`DATABASE_UNIQUE_ID`  
O RDS criou o GUID para identificar exclusivamente o banco de dados Db2.

`ARCHIVE_LOG_RETENTION_HOUR`  
O número de horas de retenção dos arquivos de log.

`ARCHIVE_LOG_COPY`  
Exibe se o recurso está HABILITADO ou DESABILITADO para o banco de dados.

`ARCHIVE_LOG_LAST_UPLOAD_FILE `  
Indica o último log de arquivamento enviado ao S3.

`ARCHIVE_LOG_LAST_UPLOAD_FILE_TIME`  
Indica a hora em que o arquivo de log foi arquivado.

`ARCHIVE_LOG_COPY_STATUS`  
Exibe o status da cópia do log de arquivamento.  
UPLOADING: indica que os arquivos de log do arquivamento estão sendo enviados ao S3.  
CONFIGURATION\$1ERROR: indica que há um problema de configuração que requer atenção.   
Para ver o erro detalhado, consulte as mensagens de eventos do RDS para sua instância de banco de dados. As mensagens de eventos podem ser visualizadas em [Visualização de eventos do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ListEvents.html).

### Exemplos de resposta
<a name="db2-udf-list-databases-response-examples"></a>

O exemplo de resposta a seguir mostra uma lista de bancos de dados e os horários em que eles foram criados. `rdsadmin` é um banco de dados que o Amazon RDS gerencia e sempre aparece na saída.

```
DATABASE_NAME   CREATE_TIME                DATABASE_UNIQUE_ID                                 ARCHIVE_LOG_RETENTION_HOURS ARCHIVE_LOG_COPY ARCHIVE_LOG_LAST_UPLOAD_FILE ARCHIVE_LOG_LAST_UPLOAD_FILE_TIME ARCHIVE_LOG_COPY_STATUS
--------------- -------------------------- -------------------------------------------------- --------------------------- ---------------- ---------------------------- --------------------------------- ------------------------------
RDSADMIN        2026-01-06-02.03.42.569069 RDSADMIN                                                                     0 DISABLED         -                            -                                 -
FOO             2026-01-06-02.13.42.885650 F0D81C7E-7213-4565-B376-4F33FCF420E3                                         0 ENABLED          S0006536.LOG                 2026-01-28-19.15.10.000000        UPLOADING
CODEP           2026-01-14-19.42.42.508476 106EEF95-6E30-4FFF-85AE-B044352DF095                                         0 DISABLED         -                            -                                 -
...
```

## rdsadmin.list\$1modifiable\$1db\$1params
<a name="db2-udf-list-modi-db-params"></a>

Exibe uma lista de todos os parâmetros de configuração modificáveis do banco de dados.

### Sintaxe
<a name="db2-udf-list-modi-db-params-syntax"></a>

```
db2 "select * from table(rdsadmin.list_modifiable_db_params())"
```

### Observações de uso
<a name="db2-udf-list-modi-db-params-usage-notes"></a>

Essa função definida pelo usuário exibe uma lista selecionada de parâmetros modificáveis do banco de dados. Esses parâmetros podem ser atualizados usando o procedimento armazenado [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param).

Qualquer parâmetro de banco de dados não incluído nessa lista foi restrito e não pode ser modificado.

### Resposta
<a name="db2-udf-list-modi-db-params-response"></a>

A função `rdsadmin.list_modifiable_db_params` definida pelo usuário exibe as seguintes colunas: 

`PARAM_NAME`  
O nome do parâmetro que pode ser modificando.

`DEFAULT_VALUE`  
Valor padrão do parâmetro no momento da criação do banco de dados.

`RESTART_REQUIRED`  
Se a reciclagem do banco de dados é ou não necessária.  
 Y = sim, é necessário reiniciar o banco de dados.  
 N = não, a reinicialização do banco de dados não é necessária.

### Exemplos de resposta
<a name="db2-udf-list-modi-db-params-response-examples"></a>

A seguir é apresentado um exemplo de lista (truncada) da saída esperada.

```
PARAM_NAME             DEFAULT_VALUE RESTART_REQUIRED
---------------------- ------------- ----------------
ACT_SORTMEM_LIMIT      NONE          N
ARCHRETRYDELAY         20            N
AUTHN_CACHE_DURATION   3             N
AUTHN_CACHE_USERS      0             N
AUTO_CG_STATS          OFF           N
...
```