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 armazenados a seguir gerenciam espaços de tabela 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.

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

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.

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

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

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

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

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.

Observações de uso

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. Se você combinar esses parâmetros com qualquer outro parâmetro opcional no comando rdsadmin.alter_tablespace, ao executar rdsadmin.get_task_status, o Db2 exibirá um erro como o seguinte:

DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL1763N Invalid ALTER TABLESPACE statement for table space "TBSP_TEST" due to reason "12"

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

Exemplos

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

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

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

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