Procedimentos armazenados para espaços de tabela do RDS para Db2 - Amazon Relational Database Service

Procedimentos armazenados para espaços de tabela do RDS para Db2

Os procedimentos integrados armazenados descritos neste tópico gerenciam tablespaces para bancos de dados do Amazon RDS para Db2. Para executar esses procedimentos, o usuário principal deve primeiro se conectar ao banco de dados rdsadmin.

Esses procedimentos armazenados são usados em diversas tarefas. Essa lista não é exaustiva.

Consulte os seguintes procedimentos integrados armazenados para obter informações sobre sintaxe, parâmetros, notas de uso e exemplos.

rdsadmin.create_tablespace

Cria um espaço de tabela.

Sintaxe

db2 "call rdsadmin.create_tablespace( 'database_name', 'tablespace_name', 'buffer_pool_name', tablespace_page_size, tablespace_initial_size, tablespace_increase_size, 'tablespace_type', 'tablespace_prefetch_size')"

Parâmetros

Os seguintes parâmetros são obrigatórios:

database_name

O nome do banco de dados no qual criar o espaço de tabela. O tipo de dados é varchar.

tablespace_name

O nome do espaço de tabela a ser criado. O tipo de dados é varchar.

O nome do espaço de tabela tem as seguintes restrições:

  • Não pode ser igual ao nome de um espaço de tabela existente nesse banco de dados.

  • Só pode conter os caracteres _$#@a-zA-Z0-9.

  • Não pode começar com _ ou $.

  • Não pode começar com SYS.

Os seguintes parâmetros são opcionais:

buffer_pool_name

O nome do grupo de buffer para atribuir ao espaço de tabela. O tipo de dados é varchar. O padrão é uma string vazia.

Importante

É necessário já ter um grupo de buffers do mesmo tamanho de página para associar ao espaço de tabela.

tablespace_page_size

O tamanho da página do espaço de tabela em bytes. O tipo de dados é integer. Valores válidos: 4096, 8192, 16384, 32768. O padrão é o tamanho da página usado quando você criou o banco de dados chamando rdsadmin.create_database.

Importante

O Amazon RDS é compatível com a atomicidade de gravação para páginas de 4 KiB, 8 KiB e 16 KiB. Por outro lado, páginas de 32 KiB correm o risco de interromper gravações ou de dados parciais serem gravados na mesa. Se estiver usando páginas de 32 KiB, recomendamos habilitar a recuperação para um ponto no tempo e os backups automatizados. Caso contrário, você corre o risco de não conseguir se recuperar de páginas interrompidas. Para ter mais informações, consulte Introdução aos backups e Restaurar uma instância de banco de dados para um momento especificado no Amazon RDS.

tablespace_initial_size

O tamanho inicial do espaço de tabela em kilobytes (KB). O tipo de dados é integer. Valores válidos: 48 ou superior. O padrão é nulo.

Se você não definir um valor, o Db2 definirá um valor apropriado para você.

nota

Esse parâmetro não é aplicável a espaços de tabela temporários, pois o sistema gerencia esses espaços.

tablespace_increase_size

A porcentagem pela qual aumentar o espaço de tabela quando ele ficar cheio. O tipo de dados é integer. Valores válidos: 1 a 100. O padrão é nulo.

Se você não definir um valor, o Db2 definirá um valor apropriado para você.

nota

Esse parâmetro não é aplicável a espaços de tabela temporários, pois o sistema gerencia esses espaços.

tablespace_type

O tipo do espaço de tabela. O tipo de dados é char. Valores válidos: U (para dados do usuário), T (para dados temporários do usuário) ou S (para dados temporários do sistema). O padrão é U.

tablespace_prefetch_size

O tamanho da página de pré-busca do espaço de tabela. O tipo de dados é char. Valores válidos: AUTOMATIC (sem distinção entre maiúsculas e minúsculas) ou números inteiros positivos diferentes de zero que sejam menores ou iguais a 32767.

Observações de uso

O RDS para Db2 sempre cria um grande banco de dados para dados.

Para ter informações sobre como conferir o status de criação de um espaço de tabela, consulte rdsadmin.get_task_status.

Exemplos

Exemplo 1: criação de um tablespace e atribuição de um pool de buffers

O exemplo a seguir cria um espaço de tabela chamado SP8 e atribui um grupo de buffers chamado BP8 para um banco de dados chamado TESTDB. O espaço de tabela tem um tamanho de página de espaço de tabela inicial de 4.096 bytes, um espaço de tabela inicial de 1.000 KB e um aumento de tamanho de tabela definido como 50%.

db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', 'BP8', 4096, 1000, 50)"

Exemplo 2: criação de um tablespace temporário e atribuição de um pool de buffers

O exemplo a seguir cria um espaço de tabela temporário chamado SP8. Ele atribui um grupo de buffer chamado BP8 que tem 8 KiB de tamanho para um banco de dados chamado TESTDB.

db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', 'BP8', 8192, NULL, NULL, 'T')"

Exemplo 3: criar um espaço de tabela e atribuir um tamanho de página de pré-busca

O exemplo a seguir cria um espaço de tabela chamado SP8 para um banco de dados chamado TESTDB. O espaço de tabela tem um tamanho inicial de aumento de 50 e um tamanho de página de pré-busca de 800.

db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', NULL, NULL, NULL, 50, NULL, '800')"

rdsadmin.alter_tablespace

Altera um espaço de tabela.

Sintaxe

db2 "call rdsadmin.alter_tablespace( 'database_name', 'tablespace_name', 'buffer_pool_name', tablespace_increase_size, 'max_size', 'reduce_max', 'reduce_stop', 'reduce_value', 'lower_high_water', 'lower_high_water_stop', 'switch_online', 'tablespace_prefetch_size')"

Parâmetros

Os seguintes parâmetros são obrigatórios:

database_name

O nome do banco de dados que usa o espaço de tabela. O tipo de dados é varchar.

tablespace_name

O nome do espaço de tabela a ser alterado. O tipo de dados é varchar.

Os seguintes parâmetros são opcionais:

buffer_pool_name

O nome do grupo de buffer para atribuir ao espaço de tabela. O tipo de dados é varchar. O padrão é uma string vazia.

Importante

É necessário já ter um grupo de buffers do mesmo tamanho de página para associar ao espaço de tabela.

tablespace_increase_size

A porcentagem pela qual aumentar o espaço de tabela quando ele ficar cheio. O tipo de dados é integer. Valores válidos: 1 a 100. O padrão é 0.

max_size

O tamanho máximo do espaço de tabela. O tipo de dados é varchar. Valores válidos: inteiro K | M | G ou NONE. O padrão é NONE.

reduce_max

Especifica se a marca d'água alta deve ser reduzida até o limite máximo. O tipo de dados é char. O padrão é N.

reduce_stop

Especifica se um comando anterior reduce_max ou reduce_value deve ser interrompido. O tipo de dados é char. O padrão é N.

reduce_value

O número ou a porcentagem para reduzir o limite máximo do espaço de tabela. O tipo de dados é varchar. Valores válidos: inteiro K| M | G ou 1 a 100. O padrão é N.

lower_high_water

Especifica se o comando ALTER TABLESPACE LOWER HIGH WATER MARK deve ser executado. O tipo de dados é char. O padrão é N.

lower_high_water_stop

Especifica se o comando ALTER TABLESPACE LOWER HIGH WATER MARK STOP deve ser executado. O tipo de dados é char. O padrão é N.

switch_online

Especifica se o comando ALTER TABLESPACE SWITCH ONLINE deve ser executado. O tipo de dados é char. O padrão é N.

tablespace_prefetch_size

O tamanho da página de pré-busca do espaço de tabela. O tipo de dados é char. Valores válidos: AUTOMATIC (sem distinção entre maiúsculas e minúsculas) ou números inteiros positivos diferentes de zero que sejam menores ou iguais a 32767.

nota

Esse parâmetro só funciona com buffer_pool_name, table_increase_size, max_size e switch_online. Não funciona com reduce_max, reduce_stop, reduce_value, lower_high_water e lower_high_water_stop.

Observações de uso

Antes de chamar o procedimento armazenado, analise as seguintes considerações:

  • O procedimento armazenado rdsadmin.alter_tablespace não funcionará em um espaço de tabela com o tablespace_type definido como T para dados temporários do usuário.

  • Os parâmetros opcionais reduce_max, reduce_stop, reduce_value, lower_high_water, lower_high_water_stop e switch_online são mutuamente excludentes. Não é possível combiná-los com nenhum outro parâmetro opcional, como buffer_pool_name, no comando rdsadmin.alter_tablespace. Para ter mais informações, consulte Statement not valid.

Para ter informações sobre como conferir o status de alteração de um espaço de tabela, consulte rdsadmin.get_task_status.

Para ver as mensagens de erro exibidas ao chamar procedimentos armazenados, consulte Solução de problemas de erros de procedimentos armazenados.

Exemplos

Exemplo 1: diminuição da marca d'água alta

O exemplo a seguir altera um espaço de tabela chamado SP8 e atribui um grupo de buffers denominado BP8 para um banco de dados denominado TESTDB para reduzir a marca d'água alta.

db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'SP8', 'BP8', NULL, NULL, 'Y')"

Exemplo 2: redução da marca d'água alta

O exemplo a seguir executa o comando REDUCE MAX em um espaço de tabela chamado TBSP_TEST no banco de dados TESTDB.

db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, 'Y')"

Exemplo 3: interrupção de comandos para reduzir a marca d'água alta

O exemplo a seguir executa o comando REDUCE STOP em um espaço de tabela chamado TBSP_TEST no banco de dados TESTDB.

db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, NULL, 'Y')"

Exemplo 4: alterar o tamanho da página de pré-busca existente

O exemplo a seguir executa o comando ALTER TABLESPACE SWITCH ONLINE em um espaço de tabela chamado TSBP_TEST e altera o tamanho da página de pré-busca existente para 64.

db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ‘Y’, ‘64’)"

rdsadmin.rename_tablespace

Renomeia um espaço de tabela.

Sintaxe

db2 "call rdsadmin.rename_tablespace( ?, 'database_name', 'source_tablespace_name', 'target_tablespace_name')"

Parâmetros

Os seguintes parâmetros são obrigatórios:

?

Um marcador de parâmetro que gera uma mensagem de erro. Esse parâmetro só aceita ?.

database_name

O nome do banco de dados ao qual pertence o espaço de tabela. O tipo de dados é varchar.

source_tablespace_name

O nome do espaço de tabela a ser renomeado. O tipo de dados é varchar.

target_tablespace_name

O novo nome do espaço de tabela. O tipo de dados é varchar.

O nome tem as seguintes restrições:

  • Não pode ser igual ao nome de um espaço de tabela existente.

  • Só pode conter os caracteres _$#@a-zA-Z0-9.

  • Não pode começar com _ ou $.

  • Não pode começar com SYS.

Observações de uso

Para ter informações sobre como conferir o status da renomeação de um espaço de tabela, consulte rdsadmin.get_task_status.

Não é possível renomear espaços de tabela que pertençam ao banco de dados rdsadmin.

Exemplos

O exemplo a seguir renomeia um espaço de tabela denominado SP8 para SP9 em um banco de dados chamado TESTDB.

db2 "call rdsadmin.rename_tablespace( ?, 'TESTDB', 'SP8'. 'SP9')"

rdsadmin.drop_tablespace

Descarta um espaço de tabela.

Sintaxe

db2 "call rdsadmin.drop_tablespace( 'database_name', 'tablespace_name')"

Parâmetros

Os seguintes parâmetros são obrigatórios:

database_name

O nome do banco de dados ao qual pertence o espaço de tabela. O tipo de dados é varchar.

tablespace_name

O nome do espaço de tabela a ser descartado. O tipo de dados é varchar.

Observações de uso

Para ter informações sobre como conferir o status de descarte de um espaço de tabela, consulte rdsadmin.get_task_status.

Exemplos

O exemplo a seguir descarta um espaço de tabela denominado SP8 de um banco de dados chamado TESTDB.

db2 "call rdsadmin.drop_tablespace( 'TESTDB', 'SP8')"