Tarefas comuns para bancos de dados - Amazon Relational Database Service

Tarefas comuns para bancos de dados

É possível criar, descartar ou restaurar bancos de dados na instância de banco de dados do RDS para Db2. Criar, descartar ou restaurar bancos de dados requer autoridade SYSADM de nível mais alto, que não está disponível para o usuário principal. Em vez disso, use procedimentos armazenados do Amazon RDS.

Também é possível realizar tarefas comuns de gerenciamento, como monitoramento, manutenção e coleta de informações sobre seus bancos de dados.

Criação de um banco de dados

Para criar um banco de dados na instância de banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.create_database. Para ter mais informações, consulte CREATE DATABASE command na documentação do IBM Db2.

nota

Será possível criar um banco de dados chamando o procedimento armazenado se você não especificar o nome do banco de dados ao criar a instância de banco de dados do RDS para Db2 usando o console do Amazon RDS ou a AWS CLI. Para obter mais informações, consulte Observações de uso para rdsadmin.create_database.

Para criar um banco de dados
  1. Conecte-se ao banco de dados rdsadmin usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua master_username e master_password por suas próprias informações.

    db2 "connect to rdsadmin user master_user using master_password"
  2. Crie um banco de dados chamando rdsadmin.create_database. Para ter mais informações, consulte rdsadmin.create_database.

    db2 "call rdsadmin.create_database('database_name')"

Definir configurações para um banco de dados

Para definir as configurações de um banco de dados na instância de banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.set_configuration. Por exemplo, é possível configurar o número de buffers ou manipuladores de buffer a serem criados durante uma operação de restauração.

Como definir as configurações de um banco de dados
  1. Conecte-se ao banco de dados rdsadmin usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua master_username e master_password por suas próprias informações.

    db2 "connect to rdsadmin user master_user using master_password"
  2. (Opcional) Confira suas configurações atuais chamando rdsadmin.show_configuration. Para ter mais informações, consulte rdsadmin.show_configuration.

    db2 "call rdsadmin.show_configuration('name')"
  3. Defina as configurações do banco de dados chamando rdsadmin.set_configuration. Para ter mais informações, consulte rdsadmin.set_configuration.

    db2 "call rdsadmin.set_configuration( 'name', 'value')"

Modificar parâmetros de banco de dados

O Amazon RDS para Db2 usa três tipos de parâmetros: parâmetros de configuração do gerenciador de banco de dados, variáveis do registro e parâmetros de configuração do banco de dados. É possível atualizar os dois primeiros tipos por meio de grupos de parâmetros e o último tipo por meio do procedimento armazenado rdsadmin.update_db_param.

nota

É possível modificar apenas os valores dos parâmetros existentes. Não é possível adicionar novos parâmetros não aceitos pelo RDS para Db2.

Para ter mais informações sobre esses parâmetros e como modificar os valores, consulte Parâmetros do Amazon RDS para Db2.

Configurar a retenção de logs

Para configurar por quanto tempo o Amazon RDS retém arquivos de log do banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.set_archive_log_retention.

Como configurar a retenção de logs de um banco de dados
  1. Conecte-se ao banco de dados rdsadmin usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua master_username e master_password por suas próprias informações.

    db2 "connect to rdsadmin user master_user using master_password"
  2. (Opcional) Confira sua configuração atual para retenção de logs chamando rdsadmin.show_archive_log_retention. Para ter mais informações, consulte rdsadmin.show_archive_log_retention.

    db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')"
  3. Configure a retenção de logs do banco de dados chamando rdsadmin.set_archive_log_retention. Para ter mais informações, consulte rdsadmin.set_archive_log_retention.

    db2 "call rdsadmin.set_archive_log_retention( ?, 'database_name', 'archive_log_retention_hours')"

Descartar um banco de dados

Para descartar um banco de dados da instância de banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.drop_database. Para ter mais informações, consulte Dropping databases na documentação do IBM Db2.

nota

Será possível descartar um banco de dados chamando o procedimento armazenado somente se determinadas condições forem atendidas. Para obter mais informações, consulte Observações de uso para rdsadmin.drop_database.

Como descartar um banco de dados
  1. Conecte-se ao banco de dados rdsadmin usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua master_username e master_password por suas próprias informações.

    db2 "connect to rdsadmin user master_user using master_password"
  2. Descarte um banco de dados chamando rdsadmin.drop_database. Para ter mais informações, consulte rdsadmin.drop_database.

    db2 "call rdsadmin.drop_database('database_name')"

Restaurar um banco de dados

Para restaurar um banco de dados na instância de banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.restore_database. Para ter mais informações, consulte RESTORE DATABASE command na documentação do IBM Db2.

nota

Será possível criar um banco de dados chamando o procedimento armazenado se você não especificar o nome do banco de dados ao criar a instância de banco de dados do RDS para Db2 usando o console do Amazon RDS ou a AWS CLI. Para obter mais informações, consulte Observações de uso para rdsadmin.restore_database.

Para restaurar um banco de dados do
  1. Conecte-se ao banco de dados rdsadmin usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua master_username e master_password por suas próprias informações.

    db2 "connect to rdsadmin user master_user using master_password"
  2. (Opcional) Confira suas configurações atuais para otimizar a operação de restauração chamando rdsadmin.show_configuration. Para ter mais informações, consulte rdsadmin.show_configuration.

    db2 "call rdsadmin.show_configuration('name')"
  3. Defina as configurações para otimizar a operação de restauração chamando rdsadmin.set_configuration. Definir explicitamente esses valores pode melhorar a performance ao restaurar bancos de dados com grandes volumes de dados. Para ter mais informações, consulte rdsadmin.set_configuration.

    db2 "call rdsadmin.set_configuration( 'name', 'value')"
  4. Restaure o banco de dados chamando rdsadmin.restore_database. Para ter mais informações, consulte rdsadmin.restore_database.

    db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', restore_timestamp, 'backup_type')"
  5. Reative o banco de dados e aplique logs de transações adicionais chamando rdsadmin.rollforward_database. Para ter mais informações, consulte rdsadmin.rollforward_database.

    db2 "call rdsadmin.rollforward_database( ?, 'database_name', 's3_bucket_name', s3_prefix, 'rollfoward_to_option', 'complete_rollforward')"
  6. Se você definiu complete_rollforward como FALSE na etapa anterior, termine de ativar o banco de dados chamando rdsadmin.complete_rollforward. Para ter mais informações, consulte rdsadmin.complete_rollforward.

    db2 "call rdsadmin.complete_rollforward( ?, 'database_name')"

Coletar informações sobre bancos de dados

Para coletar informações sobre seus bancos de dados, chame o procedimento armazenado rdsadmin.db2pd_command. Essas informações podem ajudar a monitorar os bancos de dados ou solucionar problemas.

Como coletar informações sobre um banco de dados
  1. Conecte-se ao banco de dados rdsadmin usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua master_username e master_password por suas próprias informações.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Colete informações sobre o banco de dados chamando rdsadmin.db2pd_command. Para ter mais informações, consulte rdsadmin.db2pd_command.

    db2 "call rdsadmin.db2pd_command('db2pd_cmd')"

Forçar a retirada de aplicações de bancos de dados

Para forçar a retirada das aplicações dos bancos de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.force_application. Antes de realizar a manutenção nos bancos de dados, retire as aplicações dos bancos de dados.

Como forçar a retirada das aplicações de um banco de dados
  1. Conecte-se ao banco de dados rdsadmin usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua master_username e master_password por suas próprias informações.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Force a retirada das aplicações de um banco de dados chamando rdsadmin.force_application. Para ter mais informações, consulte rdsadmin.force_application.

    db2 "call rdsadmin.force_application( ?, 'applications')"

Gerar relatórios de performance

É possível gerar relatórios de performance com um procedimento ou um script. Para ter informações sobre o uso de um procedimento, consulte DBSUMMARY procedure ‐ Generate a summary report of system and application performance metrics na documentação do IBM Db2.

O Db2 inclui um arquivo db2mon.sh no ~sqllib/sample/perf diretório. A execução do script produz um relatório de métricas SQL extenso e de baixo custo. Para baixar o arquivo db2mon.sh e os arquivos de script relacionados, consulte o diretório perf no repositório GitHub db2-samples da IBM.

Como gerar relatórios de performance com o script
  1. Conecte-se ao banco de dados Db2 usando o nome de usuário principal e a senha principal da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua master_username e master_password por suas próprias informações.

    db2 connect to rdsadmin user master_username using master_password
  2. Crie um grupo de buffers chamado db2monbp com um tamanho de página de 4.096 chamando rdsadmin.create_bufferpool. Para ter mais informações, consulte rdsadmin.create_bufferpool.

    db2 "call rdsadmin.create_bufferpool('database_name','db2monbp',4096)"
  3. Crie um espaço de tabela temporário chamado db2montmptbsp que use o grupo de buffers db2monbp chamando rdsadmin.create_tablespace. Para ter mais informações, consulte rdsadmin.create_tablespace.

    db2 "call rdsadmin.create_tablespace('database_name',\ 'db2montmptbsp','db2monbp',4096,1000,100,'T')"
  4. Abra o script db2mon.sh e modifique a linha sobre a conexão com um banco de dados.

    1. Remova a linha a seguir.

      db2 -v connect to $dbName
    2. Substitua a linha na etapa anterior pela linha a seguir. No exemplo a seguir, substitua master_username e master_password pelo nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2.

      db2 -v connect to $dbName user master_username using master_password
    3. Remova as linhas a seguir.

      db2 -v create bufferpool db2monbp db2 -v create user temporary tablespace db2montmptbsp bufferpool db2monbp db2 -v drop tablespace db2montmptbsp db2 -v drop bufferpool db2monbp
  5. Execute o script db2mon.sh para gerar um relatório em intervalos especificados. No exemplo a seguir, substitua absolute_path pelo caminho completo do arquivo de script, rds_database_alias pelo nome do banco de dados e seconds pelo número de segundos (0 a 3.600) entre as gerações do relatório.

    absolute_path/db2mon.sh rds_database_alias seconds | tee -a db2mon.out

    Exemplos

    O exemplo a seguir mostra que o arquivo de script está localizado no diretório perf abaixo do diretório home.

    /home/db2inst1/sqllib/samples/perf/db2mon.sh rds_database_alias seconds | tee -a db2mon.out
  6. Descarte o grupo de buffers e o espaço de tabela que foram criados para o arquivo db2mon.sh. No exemplo a seguir, substitua master_username e master_password pelo nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. Substitua database_name pelo nome do banco de dados.

    db2 connect to rdsadmin user master_username using master_password db2 "call rdsadmin.drop_tablespace('database_name','db2montmptbsp')" db2 "call rdsadmin.drop_bufferpool('database_name','db2monbp')"