Realizar tarefas comuns de banco de dados para instâncias de banco de dados do Amazon RDS para Db2
É possível realizar determinadas tarefas comuns de DBA relacionadas aos bancos de dados nas instâncias de bancos de dados do Amazon RDS para Db2. Para oferecer uma experiência de serviço gerenciada, o Amazon RDS não fornece acesso ao shell para as instâncias de banco de dados. Além disso, o usuário principal não pode executar comandos nem utilitários que exijam as autoridades SYSADM
, SYSMAINT
ou SYSCTRL
.
Tópicos
Gerenciar grupos de buffers
É possível criar, alterar ou descartar grupos de buffers para um banco de dados do RDS para Db2. Criar, alterar ou descartar grupos de buffers requer a autoridade SYSADM
ou SYSCTRL
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 limpar grupos de buffers.
Tópicos
Criar um grupo de buffers
Para criar um grupo de buffers para o banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.create_bufferpool
. Para ter mais informações, consulte Declaração CREATE BUFFERPOOL
Como criar um grupo de buffers
-
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 grupo de buffers chamando
rdsadmin.create_bufferpool
. Para ter mais informações, consulte rdsadmin.create_bufferpool.db2 "call rdsadmin.create_bufferpool( '
database_name
', 'buffer_pool_name
',buffer_pool_size
, 'immediate
', 'automatic
',page_size
,number_block_pages
,block_size
)"
Alterar um grupo de buffers
Para alterar um grupo de buffers para o banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.alter_bufferpool
. Para ter mais informações, consulte Declaração ALTER BUFFERPOOL
Como alterar um grupo de buffers
-
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
" -
Altere um grupo de buffers chamando
rdsadmin.alter_bufferpool
. Para ter mais informações, consulte rdsadmin.alter_bufferpool.db2 "call rdsadmin.alter_bufferpool( '
database_name
', 'buffer_pool_name
',buffer_pool_size
, 'immediate
', 'automatic
',change_number_blocks
,number_block_pages
,block_size
)"
Descartar um grupo de buffers
Para descartar um grupo de buffers para o banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.drop_bufferpool
. Para ter mais informações, consulte Dropping buffer pools
Importante
Garanta que nenhum espaço de tabela esteja atribuído ao grupo de buffers que você deseja descartar.
Como descartar um grupo de buffers
-
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 grupo de buffers chamando
rdsadmin.drop_bufferpool
. Para ter mais informações, consulte rdsadmin.drop_bufferpool.db2 "call rdsadmin.drop_bufferpool( '
database_name
', 'buffer_pool_name
')"
Liberar os grupos de buffers
É possível liberar os grupos de buffers para forçar um ponto de verificação para que o RDS para Db2 grave páginas da memória para o armazenamento.
nota
Não é necessário liberar os grupos de buffers. O Db2 grava logs de forma síncrona antes de confirmar as transações. As páginas sujas ainda podem estar em um grupo de buffers, mas o Db2 as grava no armazenamento de forma assíncrona. Mesmo que o sistema seja desligado inesperadamente, ao reiniciar o banco de dados, o Db2 executa automaticamente a recuperação de falhas. Durante a recuperação de falhas, o Db2 grava as alterações confirmadas no banco de dados ou as reverte para transações não confirmadas.
Como liberar os grupos de buffers
-
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
rds_database_alias
,master_username
emaster_password
por suas próprias informações.db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
Libere os grupos de buffers.
db2 flush bufferpools all
Gerenciar 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')"
Gerenciar o armazenamento
O Db2 usa armazenamento automático para gerenciar o armazenamento físico de objetos de banco de dados, como tabelas, índices e arquivos temporários. Em vez de alocar espaço de armazenamento manualmente e acompanhar quais caminhos de armazenamento estão sendo usados, o armazenamento automático permite que o sistema Db2 crie e gerencie caminhos de armazenamento conforme necessário. Isso pode simplificar a administração de bancos de dados do Db2 e reduzir a probabilidade de erros humanos. Para ter mais informações, consulte Armazenamento automático
Com o RDS para Db2, é possível aumentar dinamicamente o tamanho do armazenamento com a expansão automática dos volumes lógicos e do sistema de arquivos. Para ter mais informações, consulte Trabalhar com armazenamento para instâncias de banco de dados do Amazon RDS.
Gerenciar espaços de tabela
É possível criar, alterar, renomear ou descartar espaços de tabela de um banco de dados do RDS para Db2. Criar, alterar, renomear ou descartar espaços de tabela 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.
Tópicos
- Criar um espaço de tabela
- Alterar um espaço de tabela
- Renomear um espaço de tabela
- Descartar um espaço de tabela
- Conferir o status de um espaço de tabela
- Exibir informações detalhadas sobre espaços de tabela
- Listar o estado e o grupo de armazenamento de um espaço de tabela
- Listar os espaços de uma tabela
- Listar contêineres de espaço de tabela
Criar um espaço de tabela
Para criar um espaço de tabela do banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.create_tablespace
. Para ter mais informações, consulte Declaração CREATE TABLESPACE
Importante
Para criar um espaço de tabela, é necessário ter um grupo de buffers do mesmo tamanho de página para associar ao espaço de tabela. Para ter mais informações, consulte Gerenciar grupos de buffers.
Como criar um espaço de tabela
-
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 espaço de tabela chamando
rdsadmin.create_tablespace
. Para ter mais informações, consulte rdsadmin.create_tablespace.db2 "call rdsadmin.create_tablespace( '
database_name
', 'tablespace_name
', 'buffer_pool_name
',tablespace_initial_size
,tablespace_increase_size
, 'tablespace_type
')"
Alterar um espaço de tabela
Para alterar um espaço de tabela do banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.alter_tablespace
. É possível usar esse procedimento armazenado para alterar o grupo de buffers de um espaço de tabela, diminuir a marca d'água alta ou colocar um espaço de tabela on-line. Para ter mais informações, consulte Declaração ALTER TABLESPACE
Como alterar um espaço de tabela
-
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
" -
Altere um espaço de tabela chamando
rdsadmin.alter_tablespace
. Para ter mais informações, consulte rdsadmin.alter_tablespace.db2 "call rdsadmin.alter_tablespace( '
database_name
', 'tablespace_name
', 'buffer_pool_name
',buffer_pool_size
,tablespace_increase_size
, 'max_size
', 'reduce_max
', 'reduce_stop
', 'reduce_value
', 'lower_high_water
', 'lower_high_water_stop
', 'switch_online
')"
Renomear um espaço de tabela
Para alterar o nome de um espaço de tabela do banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.rename_tablespace
. Para ter mais informações, consulte Declaração RENAME TABLESPACE
Como renomear um espaço de tabela
-
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
" -
Renomeie um espaço de tabela chamando
rdsadmin.rename_tablespace
. Para ter mais informações, bem como conhecer as restrições em relação a como nomear um espaço de tabela, consulte rdsadmin.rename_tablespace.db2 "call rdsadmin.rename_tablespace( '
database_name
', 'source_tablespace_name
', 'target_tablespace_name
')"
Descartar um espaço de tabela
Para descartar um espaço de tabela do banco de dados do RDS para Db2, chame o procedimento armazenado rdsadmin.drop_tablespace
. Antes de descartar um espaço de tabela, primeiro descarte qualquer objeto no espaço de tabela, como tabelas, índices ou objetos grandes (LOBs). Para ter mais informações, consulte Dropping table spaces
Como descartar um espaço de tabela
-
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
" -
Altere um espaço de tabela chamando
rdsadmin.drop_tablespace
. Para ter mais informações, consulte rdsadmin.drop_tablespace.db2 "call rdsadmin.drop_tablespace( '
database_name
', 'tablespace_name
')"
Conferir o status de um espaço de tabela
É possível conferir o status de um espaço de tabela usando a função cast
.
Como conferir o status de um espaço de tabela
-
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
rds_database_alias
,master_username
emaster_password
por suas próprias informações.db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
Exiba uma saída resumida.
Para exibir uma saída resumida:
db2 "select cast(tbsp_id as smallint) as tbsp_id, cast(tbsp_name as varchar(35)) as tbsp_name, cast(tbsp_type as varchar(3)) as tbsp_type, cast(tbsp_state as varchar(10)) as state, cast(tbsp_content_type as varchar(8)) as contents from table(mon_get_tablespace(null,-1)) order by tbsp_id"
Exibir informações detalhadas sobre espaços de tabela
É possível exibir informações sobre um espaço de tabela para um membro ou todos os membros usando a função cast
.
Como exibir informações detalhadas sobre espaços de tabela
-
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
rds_database_alias
,master_username
emaster_password
por suas próprias informações.db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
Exiba detalhes sobre todos os espaços de tabela no banco de dados para um ou todos os membros.
Para um membro:
db2 "select cast(member as smallint) as member, cast(tbsp_id as smallint) as tbsp_id, cast(tbsp_name as varchar(35)) as tbsp_name, cast(tbsp_type as varchar(3)) as tbsp_type, cast(tbsp_state as varchar(10)) as state, cast(tbsp_content_type as varchar(8)) as contents, cast(tbsp_total_pages as integer) as total_pages, cast(tbsp_used_pages as integer) as used_pages, cast(tbsp_free_pages as integer) as free_pages, cast(tbsp_page_top as integer) as page_hwm, cast(tbsp_page_size as integer) as page_sz, cast(tbsp_extent_size as smallint) as extent_sz, cast(tbsp_prefetch_size as smallint) as prefetch_sz, cast(tbsp_initial_size as integer) as initial_size, cast(tbsp_increase_size_percent as smallint) as increase_pct, cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-1)) order by member, tbsp_id "
Para todos os membros:
db2 "select cast(member as smallint) as member cast(tbsp_id as smallint) as tbsp_id, cast(tbsp_name as varchar(35)) as tbsp_name, cast(tbsp_type as varchar(3)) as tbsp_type, cast(tbsp_state as varchar(10)) as state, cast(tbsp_content_type as varchar(8)) as contents, cast(tbsp_total_pages as integer) as total_pages, cast(tbsp_used_pages as integer) as used_pages, cast(tbsp_free_pages as integer) as free_pages, cast(tbsp_page_top as integer) as page_hwm, cast(tbsp_page_size as integer) as page_sz, cast(tbsp_extent_size as smallint) as extent_sz, cast(tbsp_prefetch_size as smallint) as prefetch_sz, cast(tbsp_initial_size as integer) as initial_size, cast(tbsp_increase_size_percent as smallint) as increase_pct, cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-2)) order by member, tbsp_id "
Listar o estado e o grupo de armazenamento de um espaço de tabela
É possível listar o estado e o grupo de armazenamento de um espaço de tabela ao executar uma declaração SQL.
Para listar o estado e o grupo de armazenamento de um espaço de tabela, execute a seguinte declaração SQL:
db2 "SELECT varchar(tbsp_name, 30) as tbsp_name, varchar(TBSP_STATE, 30) state, tbsp_type, varchar(storage_group_name,30) storage_group FROM TABLE(MON_GET_TABLESPACE('',-2)) AS t"
Listar os espaços de uma tabela
É possível listar os espaços de tabela de uma tabela executando uma declaração SQL.
Para listar os espaços de uma tabela, execute a declaração SQL a seguir. No seguinte exemplo, substitua SCHEMA_NAME
e TABLE_NAME
pelo nome do esquema e da tabela:
db2 "SELECT VARCHAR(SD.TBSPACE,30) AS DATA_SPACE, VARCHAR(SL.TBSPACE,30) AS LONG_SPACE, VARCHAR(SI.TBSPACE,30) AS INDEX_SPACE FROM SYSCAT.DATAPARTITIONS P JOIN SYSCAT.TABLESPACES SD ON SD.TBSPACEID = P.TBSPACEID LEFT JOIN SYSCAT.TABLESPACES SL ON SL.TBSPACEID = P.LONG_TBSPACEID LEFT JOIN SYSCAT.TABLESPACES SI ON SI.TBSPACEID = P.INDEX_TBSPACEID WHERE TABSCHEMA = '
SCHEMA_NAME
' AND TABNAME = 'TABLE_NAME
'"
Listar contêineres de espaço de tabela
É possível listar todos os contêineres de espaço de tabela ou contêineres de espaço de tabela específicos usando o comando cast
.
Como listar os contêineres de um espaço de tabela
-
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 seguinte exemplo, substitua
rds_database_alias
,master_username
emaster_password
por suas próprias informações:db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
Exiba uma lista de todos os contêineres de espaço de tabela no banco de dados ou de contêineres de espaço de tabela específicos.
Para todos os contêineres de espaço de tabela:
db2 "select cast(member as smallint) as member, cast(tbsp_name as varchar(35)) as tbsp_name, cast(container_id as smallint) as id, cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container(null,-2)) order by member,tbsp_id,container_id"
Para todos os contêineres de espaço de tabela específicos:
db2 "select cast(member as smallint) as member, cast(tbsp_name as varchar(35)) as tbsp_name, cast(container_id as smallint) as id, cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container('TBSP_1',-2)) order by member, tbsp_id,container_id"