ora-15041 ao criar uma tablespace

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
lekinho_
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 34
Registrado em: Seg, 31 Mai 2010 10:04 am
Localização: RJ

Informações do Ambiente:
* Versão do Oracle: 10G
* Sistema Operacional: RHEL5

Estou tentando criar uma tablespace (bigfile), mas está dando o erro

Selecionar tudo

ora-15041: DISKGROUP SPACE EXHAUSTED.
O arquivo que estou tentando criar tem 200GB... Existe espaco de sobra no disco. alguém sabe me dizer se estou fazendo algo errado? O SO tem alguma limitação no tamanho dos arquivos?

Obrigado
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

Selecionar tudo

ORA-15041:  diskgroup space exhausted
Cause: 	   The diskgroup ran out of space.
Action: 	   Add more disks to the diskgroup, or delete some existing files.
tem certeza que tem espaço? como verificou o espaço?

Selecionar tudo

select group_number gn,name,type,state,total_mb,free_mb,usable_file_mb
from v$asm_diskgroup
lekinho_
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 34
Registrado em: Seg, 31 Mai 2010 10:04 am
Localização: RJ

Essa consulta mesmo.. tem bastante espaco em disco. Tanto que criei 7 arquivos de 30Gb e funcionou. Mas não consegui criar um bigfile de 200Gb... deve ser alguma limitacao que eu realmente desconheco
diegopedrao
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 164
Registrado em: Sex, 22 Ago 2008 12:28 pm
Localização: SP

cara,

Da para você postar o retorno do select acima citado pelo Victor?

Att,

Diego Monteiro
lekinho_
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 34
Registrado em: Seg, 31 Mai 2010 10:04 am
Localização: RJ

Claro

Selecionar tudo

APDATA	EXTERN	MOUNTED	389116	111280	111280
APIND	EXTERN	MOUNTED	204797	76694	76694
APLOG	EXTERN	MOUNTED	51199	33980	33980
LOGMULT	EXTERN	MOUNTED	51199	50477	50477
Tem bastante espaco... tanto é que consegui criar varios arquivos de 30GB... mas não consegui criar um arquivao de 200GB..
diegopedrao
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 164
Registrado em: Sex, 22 Ago 2008 12:28 pm
Localização: SP

lekinho,

Pelo que vi no seu select, o espaço reservado livre para dados é apenas 110Gb por isso você não está conseguindo criar o arquivão de 200gb.

Att,

DIego mOnteiro
lekinho_
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 34
Registrado em: Seg, 31 Mai 2010 10:04 am
Localização: RJ

O espaco livre é 110 porque eu já criei as 7 tablespaces de 30Gb :o)))
A coluna total_mb retorna 390, o que significa que tinha bastante espaco quando tentei, sem sucesso, criar o arquivo de 200GB. Ai, tive que optar por criar varias tablespaces menores..
DBA_LUCAS
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Qua, 27 Out 2010 1:49 pm
Localização: Belo Horizonte - MG

Ate onde eu sei o oracle suporta no maximo 32Gigas para cada data File , impossibilitando a criação de um DataFile de 200Gigas ... se eu estiver errado me corrijam ...
diegopedrao
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 164
Registrado em: Sex, 22 Ago 2008 12:28 pm
Localização: SP

Lucas,

Levando em conta um banco de smallfiles cada datafile contem cerca de 4 milhoes de blocos, se seu bloco for de 8k(default), você poderá ter a seguinte conta: 4194304*8192 = 34359738368, ou seja cada datafile poderá chegar a ~34gb.

Outro exemplo seria se você tivesse o bloco de 32k, então teriamos o tamanho máximo para cada datafile fazendo a mesma conta:

4194304*32768=137438953472, seu datafile poderia chegar a ~137gb, já sendo considerado um bigfile.

Mas vocês poderão ler mais no manual do Oracle Database Release 2 em Physical Database Limits.


Espero ter sanado a dùvida de todos.

Att,

Diego Monteiro
DBA_LUCAS
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Qua, 27 Out 2010 1:49 pm
Localização: Belo Horizonte - MG

então eu posso fazer essa alteração ?

Com qual comando eu altero ?
E qual select me retorna minha configuração de tamanho de datafile ?
diegopedrao
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 164
Registrado em: Sex, 22 Ago 2008 12:28 pm
Localização: SP

Lucas,

Depois de um banco criado você não pode alterar a configuração do bloco, o que você poderia fazer é exportar a base e criar um novo banco já com o parametro alterado.

Para verificar esse parametro é só executar o select abaixo:

Selecionar tudo

SELECT *
  FROM V$PARAMETER
 WHERE UPPER(NAME) = 'DB_BLOCK_SIZE';
Obs: Para o tamanho máximo do bloco dependerá do seu SO.

Att,

DIego Monteiro
DBA_LUCAS
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Qua, 27 Out 2010 1:49 pm
Localização: Belo Horizonte - MG

Me retornou o valor 3433134853 , qual a conta que eu faço para saber quantos gigas suporta ?
diegopedrao
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 164
Registrado em: Sex, 22 Ago 2008 12:28 pm
Localização: SP

Lucas,

Você pegou a coluna Hash, você poderia fazer assim pegue o valor da coluna bytes e multiplica por 4194304(quantidade de blocos por datafile, segundo parametro da oracle para smallfiles) que será igual a 34359738368. Ou seja ~34gb.

Att,

Diego Monteiro
diegopedrao
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 164
Registrado em: Sex, 22 Ago 2008 12:28 pm
Localização: SP

Lucas,

Segue o site com o manual de limits:

http://download.oracle.com/docs/cd/B193 ... its002.htm

Att,

Diego Monteiro
lekinho_
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 34
Registrado em: Seg, 31 Mai 2010 10:04 am
Localização: RJ

Obrigado a todos pelas respostas. Isso resolve minha dúvida. A limitacao é dada pelo SO e a conta para saber o tamanho maximo de um arquivo é feita pelo DB_BLOCK_SIZE.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante