› Fóruns › Banco de dados Oracle › DataFiles não ocupam toda a capacidade › Responder a: DataFiles não ocupam toda a capacidade
É superfácil (basta vc não confiar nos defaults e indicar exatamente o que vc quer), mas antes de qquer coisa faço algumas observações :
a) normalmente NÃO se deixa um datafile ilimitado, ou mesmo de tamanho giganticamente grande : a questão é que, se por corrupção, falha de hardware ou seja o que for, vc tiver que VOLTAR O BACKUP desse datafile, é muito MUITO mais rápido vc voltar um backup de, digamos, alguns poucos GBs do que um de 32 GB… E justamente, quando vc deixa UNLIMITED é algo por volta de 32 GB que vc tem como máximo…. Então, eu vou usar aqui inicialmente 4 GB por datafile E deixarei cada datafile crescer até 8 GB : esses números , que é alguma coisa nem muito grande nem muito pequena, não devem causar demora se eventualmente vc tiver que fazer qquer tarefa administrativa com um deles, mas cabe a VOCÊ validar isso no seu ambiente, isto é SÓ UM EXEMPLO : de repente, no SEU ambiente, o SEU hardware é tão bom que mesmo um restore de dezenas de GBs não é demorado, aí vc deixa limitado no tamanho que quiser (E que a sua versão de Oracle E seu SO permitam, claro)….
b) não implica em NADA pra performance ou pra segurança ou coisas assim, mas ADMINISTRATIVAMENTE é sempre MUITO INTERESSANTE vc não enfiar tudo em uma só tablespace : por exemplo, se vc tiver os índices em uma tablespace e os dados em outra, por exemplo vc pode DEIXAR DE BACKUPEAR a tablespace de índices e só exportar os CREATE INDEX, digamos : aí em caso de crash vc volta o backup da tablespace de DADOS e os índices vc Reconstrói na mão com executando os CREATE INDEX do export que vc fez antes….
Igualmente, se vc puder ter os dados organizados por data em diferentes tablespaces (digamos, Notas Fiscais de janeiro em uma tablespace, Notas Fiscas de fevereiro em outra, etc), vc PASSA a ter possibilidade de TRANSPORTAR as tablespaces dos meses anteriores prum outro banco e deixar no banco Prod principal só os dados do mês corrente, ou só os dados dos últimos N meses, digamos…. Ou talvez vc possa COMPACTAR os dados antigos, de forma que eles ocupem menos espaço….
Lógico que muito Provavelmente isso exige também o PARTICIONAMENTO, mas separação por tablespaces via de regra é a necessidade Primária pra se usar essas coisas, sim ???
==> OU SEJA : a TABLESPACE é uma FERRAMENTA ADMINISTRATIVA, use-a como tal, okdoc ??
Isso posto, tirei do Manual Oracle correspondente (o SQL REFERENCE) o exemplo abaixo :
CREATE TABLESPACE PIMS_DATA
DATAFILE ‘+DATA/orcl/PIMSDATA01.dbf’ SIZE 4G AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA02.dbf’ SIZE 4G AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA03.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA04.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA05.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA06.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA07.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA08.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA09.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA10.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA11.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA12.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA13.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA14.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA15.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
‘+DATA/orcl/PIMSDATA16.dbf’ SIZE 4g AUTOEXTEND ON MAXSIZE 8G,
EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;
Abraços,
Chiappa