Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego Macêdo

[Resolvido] Tablespaces

Recommended Posts

Amigos,

 

estou fazendo um trabalho para a faculdade e um dos tópicos do trabalho é que devo criar um tablespace para as tabelas e outro para os índices.

 

Qual seria o comando e como eu vou especificar que esse tablespace é de cada um deles? (se é assim mesmo a pergunta)

 

Desculpem-me a ignorância... http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos,

 

estou fazendo um trabalho para a faculdade e um dos tópicos do trabalho é que devo criar um tablespace para as tabelas e outro para os índices.

 

Qual seria o comando e como eu vou especificar que esse tablespace é de cada um deles? (se é assim mesmo a pergunta)

 

Desculpem-me a ignorância... http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Ola colega!

 

O comando é create tablespace, a sintaxe é: create tablespace <nome da tablespace> datafile <caminho e nome do datafile> size <tamanho>m;

>>Onde é m é pra indicar que o tamanho é em megabytes, se quiser pode especificar tamanho em gigabytes, basta escrever g ao inves de m. Observe que o caminho do datafile deve ser um diretorio existente no servidor.

 

Quanto a segunda pergunta:

No ato da criação do objeto você especifica onde ele ficará armazenado. Por exemplo:

 

SQL> Create tablespace tbdados datafile '/u01/oradata/teste/tbdados01.dbf' size 1g;

tablespace criado.

SQL> Create tablespace tbindex datafile '/u01/oradata/teste/tbindex01.dbf' size 1g;

tablespace criado.

SQL> Create table teste(id number(10), dtmovimento date, valor number(15,2) ) tablespace tbdados;

tabela criada.

SQL> create index teste_idx_01 on teste (dtmovimento) tablespace tbindex;

indice criado.

 

[ ]

 

Marcio Almeida

Blog: http://formula-oracle.blogspot.com/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diego,

 

É como o realmente o Marcio disse, para separar os segmentos (Tabelas e ìndices) que é uma boa prática para administração de banco de dados Oracle, basta criar 2 tablespaces, exemplo, TBS_DATA e TBS_IDX.

 

Posteriormente, mover todas as tabelas para a TBS_DATA e rebuild em todos os índices para TBS_IDX.

 

Para mover as tabelas, basta o comando ALTER TABLE <nome> MOVE TABLESPACE TBS_DATA;

 

E para mover os índices, basta o comando ALTER INDEX <nome> rebuild tablespace TBS_IDX;

 

Isso é o procedimento básico para separação dos segmentos, porém, existem outros pontos, como:

 

1) Deixar as tablespaces em discos diferentes, para ganhos de performance.

2) Verificar as definições de storage das tablespaces, AUTOALLOCATE, UNIFORM, NEXT e etc.

3) Verificar se irá utilizar segmentos particionados, deste modo, deverá ter mais tablespaces para cada segmento.

 

Isso já dá para melhorar o ambiente e complementar o seu trabalho.

 

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

alphamek e Márcio, agradeço muito a ajuda de vocês!

 

Vocês foram bastante úteis!

 

Abraços!;)

 

RESOLVIDO!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.