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.
Tópicos
- Criação de um banco de dados
- Definir configurações para um banco de dados
- Modificar parâmetros de banco de dados
- Configurar a retenção de logs
- Descartar um banco de dados
- Restaurar um banco de dados
- Coletar informações sobre bancos de dados
- Forçar a retirada de aplicações de bancos de dados
- Gerar relatórios de performance
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
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
-
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, substituamaster_username
emaster_password
por suas próprias informações.db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
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
-
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, substituamaster_username
emaster_password
por suas próprias informações.db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
(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
')" -
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
-
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, substituamaster_username
emaster_password
por suas próprias informações.db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
(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
')" -
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
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
-
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, substituamaster_username
emaster_password
por suas próprias informações.db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
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
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
-
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, substituamaster_username
emaster_password
por suas próprias informações.db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
(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
')" -
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
')" -
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
')" -
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
')" -
Se você definiu
complete_rollforward
comoFALSE
na etapa anterior, termine de ativar o banco de dados chamandordsadmin.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
-
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, substituamaster_username
emaster_password
por suas próprias informações.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
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
-
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, substituamaster_username
emaster_password
por suas próprias informações.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
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
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
Como gerar relatórios de performance com o script
-
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
emaster_password
por suas próprias informações.db2 connect to rdsadmin
master_username
usingmaster_password
-
Crie um grupo de buffers chamado
db2monbp
com um tamanho de página de 4.096 chamandordsadmin.create_bufferpool
. Para ter mais informações, consulte rdsadmin.create_bufferpool.db2 "call rdsadmin.create_bufferpool('
database_name
','db2monbp',4096)" -
Crie um espaço de tabela temporário chamado
db2montmptbsp
que use o grupo de buffersdb2monbp
chamandordsadmin.create_tablespace
. Para ter mais informações, consulte rdsadmin.create_tablespace.db2 "call rdsadmin.create_tablespace('database_name',\ 'db2montmptbsp','db2monbp',4096,1000,100,'T')"
-
Abra o script
db2mon.sh
e modifique a linha sobre a conexão com um banco de dados.-
Remova a linha a seguir.
db2 -v connect to $dbName
-
Substitua a linha na etapa anterior pela linha a seguir. No exemplo a seguir, substitua
master_username
emaster_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
usingmaster_password
-
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
-
-
Execute o script
db2mon.sh
para gerar um relatório em intervalos especificados. No exemplo a seguir, substituaabsolute_path
pelo caminho completo do arquivo de script,rds_database_alias
pelo nome do banco de dados eseconds
pelo número de segundos (0 a 3.600) entre as gerações do relatório.absolute_path
/db2mon.shrds_database_alias
seconds
| tee -a db2mon.outExemplos
O exemplo a seguir mostra que o arquivo de script está localizado no diretório
perf
abaixo do diretóriohome
./home/db2inst1/sqllib/samples/perf/db2mon.sh
rds_database_alias
seconds
| tee -a db2mon.out -
Descarte o grupo de buffers e o espaço de tabela que foram criados para o arquivo
db2mon.sh
. No exemplo a seguir, substituamaster_username
emaster_password
pelo nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. Substituadatabase_name
pelo nome do banco de dados.db2 connect to rdsadmin user
master_username
usingmaster_password
db2 "call rdsadmin.drop_tablespace('database_name
','db2montmptbsp')" db2 "call rdsadmin.drop_bufferpool('database_name
','db2monbp')"