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
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
Se você planeja modificar o parâmetro db2_compatibility_vector
, modifique-o antes de criar um banco de dados. Para obter mais informações, consulte Configuração do parâmetro db2_compatibility_vector.
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_username
usingmaster_password
" -
Crie um banco de dados chamando
rdsadmin.create_database
. Para obter mais informações, consulte rdsadmin.create_database.db2 "call rdsadmin.create_database('
database_name
')" -
(Opcional) Crie bancos de dados adicionais chamando
rdsadmin.create_database
para cada banco de dados que você deseja criar. Cada instância de banco de dados do Db2 pode conter até 50 bancos de dados. Para obter mais informações, consulte rdsadmin.create_database.db2 "call rdsadmin.create_database('
database_name
')" -
(Opcional) Confirme se o seu banco de dados foi criado usando um dos seguintes métodos:
-
Chame
rdsadmin.list_databases
. Para obter mais informações, consulte rdsadmin.list_databases. -
Execute o seguinte comando SQL:
db2 "select varchar(r.task_type,25) as task_type, r.database_name, varchar(r.lifecycle,15) as lifecycle, r.created_at, r.database_name, varchar(bson_to_json(task_input_params),256) as input_params, varchar(r.task_output,1024) as task_output from table(rdsadmin.get_task_status(null,null,'create_database')) as r order by created_at desc"
-
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_username
usingmaster_password
" -
(Opcional) Confira suas configurações atuais chamando
rdsadmin.show_configuration
. Para obter 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 obter 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_username
usingmaster_password
" -
(Opcional) Confira sua configuração atual para retenção de logs chamando
rdsadmin.show_archive_log_retention
. Para obter 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 obter mais informações, consulte rdsadmin.set_archive_log_retention.db2 "call rdsadmin.set_archive_log_retention( ?, '
database_name
', 'archive_log_retention_hours
')"
Listar informações de log
Para listar detalhes sobre arquivos de log de arquivamento, como o tamanho total de armazenamento usado, chame o procedimento armazenado rdsadmin.list_archive_log_information
.
Como listar informações de log 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
" -
Obtenha uma lista de informações do arquivo de log chamando
rdsadmin.list_archive_log_information
. Para obter mais informações, consulte rdsadmin.list_archive_log_information.db2 "call rdsadmin.list_archive_log_information( ?, '
database_name
')"
Desativação de um banco de dados
Para desativar um banco de dados na instância de banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.deactivate_database
.
Por padrão, o Amazon RDS ativa um banco de dados ao criar um banco de dados na instância de banco de dados do RDS para Db2. Você pode desativar bancos de dados usados com pouca frequência para preservar recursos de memória.
Como desativar 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
" -
Desative um banco de dados chamando
rdsadmin.deactivate_database
. Para obter mais informações, consulte rdsadmin.deactivate_database.db2 "call rdsadmin.deactivate_database( ?, '
database_name
')"
Ativação de um banco de dados
Para ativar um banco de dados em uma instância autônoma de banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.activate_database
.
Por padrão, o Amazon RDS ativa um banco de dados ao criar um banco de dados na instância de banco de dados do RDS para Db2. Você pode desativar bancos de dados usados com pouca frequência para preservar recursos de memória e, posteriormente, ativar um banco de dados desativado.
Como ativar 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
" -
Ative um banco de dados chamando
rdsadmin.activate_database
. Para obter mais informações, consulte rdsadmin.activate_database.db2 "call rdsadmin.activate_database( ?, '
database_name
')"
Reativar um banco de dados
Para reativar um banco de dados, chame o procedimento armazenado rdsadmin.reactivate_database
. Depois de fazer alterações nas configurações do banco de dados, talvez seja necessário reativar um banco de dados em uma instância de banco de dados do RDS para Db2. Para determinar se você precisa reativar um banco de dados, conecte-se a ele e execute db2 get db cfg show detail
.
Também é possível chamar esse procedimento armazenado para reativar um banco de dados em uma instância autônoma de banco de dados do RDS para Db2 depois de fazer alterações nas configurações do banco de dados. Ou você pode reativar um banco de dados em uma instância autônoma de banco de dados RDS para Db2 chamando primeiro o procedimento armazenado rdsadmin.deactivate_database
e depois o procedimento armazenado rdsadmin.activate_database
. Para obter mais informações, consulte Desativação de um banco de dados e Ativação de um banco de dados.
Como reativar 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
" -
Reative um banco de dados chamando
rdsadmin.reactivate_database
. Para obter mais informações, consulte rdsadmin.reactivate_database.db2 "call rdsadmin.reactivate_database( ?, '
database_name
')"
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_username
usingmaster_password
" -
Descarte um banco de dados chamando
rdsadmin.drop_database
. Para obter mais informações, consulte rdsadmin.drop_database.db2 "call rdsadmin.drop_database('
database_name
')"
Restaurar um banco de dados
Para mover um banco de dados de um bucket do Amazon S3 para a 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
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_username
usingmaster_password
" -
(Opcional) Confira suas configurações atuais para otimizar a operação de restauração chamando
rdsadmin.show_configuration
. Para obter 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 obter mais informações, consulte rdsadmin.set_configuration.db2 "call rdsadmin.set_configuration( '
name
', 'value
')" -
Restaure o banco de dados chamando
rdsadmin.restore_database
. Para obter mais informações, consulte rdsadmin.restore_database.db2 "call rdsadmin.restore_database( ?, '
database_name
', 's3_bucket_name
', 's3_prefix
',restore_timestamp
, 'backup_type
')" -
(Opcional) Confirme se seu banco de dados foi restaurado chamando
rdsadmin.list_databases
e verificando se o banco de dados restaurado está listado. Para obter mais informações, consulte rdsadmin.list_databases. -
Reative o banco de dados e aplique logs de transações adicionais chamando
rdsadmin.rollforward_database
. Para obter mais informações, consulte rdsadmin.rollforward_database.db2 "call rdsadmin.rollforward_database( ?, '
database_name
', 's3_bucket_name
',s3_prefix
, 'rollforward_to_option
', 'complete_rollforward
')" -
Se você definiu
complete_rollforward
comoFALSE
na etapa anterior, termine de ativar o banco de dados chamandordsadmin.complete_rollforward
. Para obter mais informações, consulte rdsadmin.complete_rollforward.db2 "call rdsadmin.complete_rollforward( ?, '
database_name
')"
Listagem de bancos de dados
Você pode listar todos os seus bancos de dados em execução no Amazon RDS para Db2 chamando a função definida pelo usuário rdsadmin.list_databases
.
Como listar seus bancos 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
" -
Liste seus bancos de dados chamando
rdsadmin.list_databases
. Para obter mais informações, consulte rdsadmin.list_databases.db2 "select * from table(rdsadmin.list_databases())"
Coleta de informações sobre bancos de dados
Para coletar informações sobre uma instância de banco de dados do RDS para Db2, 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 obter 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 de um banco de dados em sua instância de banco 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 obter 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 obter 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 obter 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. Para obter mais informações, consulte rdsadmin.drop_tablespace e rdsadmin.drop_bufferpool.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')"