Realizar tarefas comuns de banco de dados para instâncias de banco de dados do Amazon RDS para Db2 - Amazon Relational Database Service

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.

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.

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 na documentação do IBM Db2.

Como criar um grupo de buffers
  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 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 na documentação do IBM Db2.

Como alterar um grupo de buffers
  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. 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 na documentação do IBM Db2.

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
  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 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
  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 rds_database_alias, master_username e master_password por suas próprias informações.

    db2 connect to rds_database_alias user master_username using master_password
  2. 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.

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')"

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, na documentação do IBM Db2.

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.

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 na documentação do IBM Db2.

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
  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. 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 na documentação do IBM Db2.

Como alterar um espaço de tabela
  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. 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 na documentação do IBM Db2.

Como renomear um espaço de tabela
  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. 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 na documentação do IBM Db2.

Como descartar um espaço de tabela
  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. 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
  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 rds_database_alias, master_username e master_password por suas próprias informações.

    db2 connect to rds_database_alias user master_username using master_password
  2. 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
  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 rds_database_alias, master_username e master_password por suas próprias informações.

    db2 connect to rds_database_alias user master_username using master_password
  2. 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
  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 seguinte exemplo, substitua rds_database_alias, master_username e master_password por suas próprias informações:

    db2 connect to rds_database_alias user master_username using master_password
  2. 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"