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
.
Tópicos
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
a100
. 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) ouS
(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
a100
. 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
ouNONE
. 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
oureduce_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
ou1
a100
. 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')"