DB2 - Storagegroups
Este capítulo descreve os grupos de armazenamento de banco de dados.
Introdução
Um conjunto de caminhos de armazenamento para armazenar objetos ou tabela de banco de dados é um grupo de armazenamento. Você pode atribuir os espaços de tabela ao grupo de armazenamento. Quando você cria um banco de dados, todos os espaços de tabela assumem o storagegorup padrão. O grupo de armazenamento padrão para um banco de dados é 'IBMSTOGROUP'. Ao criar uma nova base de dados, o grupo de armazenamento padrão fica ativo, se passar o parâmetro “AUTOMATIC STOGROUP NO” no final do comando “CREATE DATABASE”. O banco de dados não possui nenhum grupo de armazenamento padrão.
Listando grupos de armazenamento
Você pode listar todos os grupos de armazenamento no banco de dados.
Syntax: [Para ver a lista de grupos de armazenamento disponíveis no banco de dados atual]
db2 select * from syscat.stogroups
Example: [Para ver a lista de storagegorups disponíveis no banco de dados atual]
db2 select * from syscat.stogroups
Criação de um grupo de armazenamento
Esta é uma sintaxe para criar um storagegroup no banco de dados:
Syntax: [Para criar um novo grupo de esto. O 'stogropu_name' indica o nome do novo grupo de armazenamento e 'caminho' indica o local onde os dados (tabelas) são armazenados]
db2 create stogroup
on ‘path’
Example: [Para criar um novo stogroup 'stg1' na pasta path 'data1']
db2 create stogroup stg1 on ‘/data1’
Output:
DB20000I The SQL command completed succesfully
Criação de tablespace com stogroup
Aqui está como você pode criar um espaço de tabela com storegroup:
Syntax: [Para criar um novo espaço de tabela usando o grupo de armazenamento existente]
db2 create tablespace <tablespace_name> using stogroup <stogroup_name>
Example: [Para criar um novo espaço de tabela denominado 'ts1' usando o grupo de armazenamento existente 'stg1']
db2 create tablespace ts1 using stogroup stg1
Output:
DB20000I The SQL command completed succesfully
Alterando um grupo de armazenamento
Você pode alterar a localização de um grupo de armazenamento usando a seguinte sintaxe:
Syntax: [Para mudar um grupo de armazenamento do local antigo para o novo local]
db2 alter stogroup
add ‘location’, ‘location’
Example: [Para modificar o caminho do local do local antigo para o novo para o grupo de armazenamento denominado 'sg1']
db2 alter stogroup sg1 add ‘/path/data3’, ‘/path/data4’
Eliminando o caminho da pasta do storagegroup
Antes de descartar o caminho da pasta do storagegroup, você pode adicionar um novo local para o storagegroup usando o comando alter.
Syntax: [Para remover o caminho antigo do local do grupo de armazenamento]
db2 alter stogroup
drop ‘/path’
Example: [Para retirar a localização do grupo de armazenamento de 'stg1']
db2 alter stogroup stg1 drop ‘/path/data1’
Rebalanceamento de um espaço de tabela
O rebalanceamento do espaço de tabela é necessário quando criamos uma nova pasta para storagegroup ou espaços de tabela enquanto as transações são conduzidas no banco de dados e o espaço de tabela fica cheio. O rebalanceamento atualiza os arquivos de configuração do banco de dados com o novo grupo de armazenamento.
Syntax: [Para rebalancear o espaço de tabela do caminho do grupo de armazenamento antigo para o novo grupo de armazenamento]
db2 alter tablspace <ts_name> rebalance
Example: [Para reequilibrar]
db2 alter tablespace ts1 rebalance
Renomeando um storagegroup
Syntax: [Para modificar o nome do armazenamento existente]
db2 rename stogroup <old_stg_name> to <new_stg_name>
Example: [Para modificar o nome do grupo de armazenamento de 'sg1' para o novo nome 'sgroup1']
db2 rename stogroup sg1 to sgroup1
Descartando um grupo de armazenamento
Step 1: Antes de eliminar qualquer storagegroup, você pode atribuir algum storagegroup diferente para tablespaces.
Syntax: [Para atribuir outro grupo de armazenamento para o espaço de tabela.]
db2 alter tablspace <ts_name> using stogroup <another sto_group_name>
Example: [Para mudar de um stogroup antigo para um novo stogroup chamado 'sg2' para o espaço de tabela 'ts1']
db2 alter tablespace ts1 using stogroup sg2
Step 2:
Syntax: [Para eliminar o grupo de estoques existente]
db2 drop stogorup <stogroup_name>
Example: [Para descartar stogroup 'stg1' do banco de dados]
db2 drop stogroup stg1