Ir para conteúdo

POWERED BY:

Arquivado

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

Kleber Coelho

HD lotada por arquivos "arch?.dbf"

Recommended Posts

Boa tarde a todos!

 

Me chamo Kleber, trabalho em uma empresa no interior paulista, não temos DBA e, pra ser sincero, a única pessoa que entende um pouco de informática aqui sou eu... Somos uma empresa pequena... temos um ERP rodando a pouco mais de 1 ano.

 

Situação: Servidor Xeon, 2Gb RAM, 2 HDs SATA de 160Gb cada, rodando Oracle 9i em uma distro Linux Centos 4.

Eu não entendo nada de oracle, faço backup através de dois scripts que a empresa que instalou passaram para os donos pouco antes de eu entrar aqui, tipo "faça isso todos os dias, mesmo sem entender nada, que seu backup será feito".

 

Pois bem,

 

Esses dias atrás ao fazer backup por esses scripts, deu um erro, tipo "disk full"... Fui verificar e os 6Gb que o backup gera encheram o HD... "100% used"

 

Eu faço backup nesse servidor e passo os arquivos para outro micro na rede que tem um drive de fita DAT. E após isso apago os arquivos do servidor.

 

Utilizando o comando "du -sh *" no linux, me apareceu um diretório com 92Gb, o diretório é o seguinte:

 

/u01/app/oracle/admin/EMPRESA/archive/

 

Dentro dele tem vários arquivos arch?????.dbf, alguns datados de dezembro/2006.

 

Minha dúvida: O que são esses tais archives ? (redo log ?) Posso apagar ? Quantos arquivos desses é bom deixar para caso aconteça algum problema ? Preciso fazer backup de todos eles antes de apagar ? Eu

 

Conto com a colaboração de todos, muito obrigado por tudo antecipadamente.

Qualquer coisa que eu possa ser útil estou a disposição! ;-)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá meu caro!!

 

Seu Oracle foi configurado com a opção ARCHIVELOG, que é a melhor coisa do mundo, para você, não para seus discos.

 

VAMOS EXPLICAR

 

Quando você cria um banco de dados ORACLE, ele por padrão é instalado com a opção NOARCHIVELOG, que, não possibilita o arquivameto dos logs. O ORACLE tem arquivos físicos, além do(s) controlfile(s) e do(s) datafile(s), que são chamados de REDO LOGS ON-LINE. Esses arquivos são criados também na instalação do ORACLE em dois grupos no mínimo, cada um com 1 membro.

 

Quando você está com o banco de dados no modo NOARCHIVELOG, o ORACLE (através do processo LGWR) escreve os logs de alterações nesse logs de redo de forma cíclica; escreve no primeiro membro, quando chega no final deste arquivo, faz uma operação que se chama swith e começa a escrever no outro membro. Quando este segundo membro chega ao fim, acontece um novo switch e ele volta a escrever no primeiro arquivo, sobrescrevendo todo o conteúdo escrito anteriormete, sem possibilidaes de backup.

 

Assim que o modo ARCHIVELOG é iniciado, um processo e iniciado também, que é o ARCn, OU ARCHIVE (o n é porque você pode ter até 10 desse rodando). Este processo é encarregado de chamar o LGWR (LogWriter) que, a cada switch, faz o backup dos membros do log nesse arquivos que estão lotando seu disco, que são os REDO LOGS ARQUIVADOS. Sem esses arquivos é complicado fazer a recuperação do banco de dados.

 

Conselho:

 

Você precisa de um DBA ou mesmo que o seu fornecedor do software faça um backup de arquivos de "REDO LOG ARQUIVADOS" ou "ARCHIVES". Não apague de jeito nenhum, mesmo!! O ORACLE sicroiza esse arquivos com o controlfile, mesmo que não haja nenhum problema quanto ao funcionamento se você removê-los, o seu backup pode ficar danificado.

 

O ambiente idela para o backup no ORACLE é dado pela preseça dos redo logs on-line atuais, os redo logs arquivados, o controlfile que pode ser e deve ser sempre mais de um, multiplexados ou não e os datafiles.

 

Qualquer outra dúvida, continue postando!! Abração!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wagner, ótima explicação.Kleber, siga o conselho: Não apague de jeito nenhum os ARCHIVES, coloque eles em outro HD ou armazene eles numa fita e aguarde.Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente gostaria de te agradecer Wagner, e à você também Rodrigo.Muito interessante, muito boa explicação, me ajudou muito a compreender o funcionamento.Mais algumas informações desse caso:Nesse diretório que mencionei (/u01/app/oracle/admin/LIDER/archive), tenho nada menos que 969 arquivos .dbf, cada um com cerca de 100Mb.Pois bem, isso da aproximadamente: 97Gb!Porém eu acredito que se for apenas esses arquivos .dbf sem manutenção (sem serem excluídos) que estão causando o problema, e eu puder fazer backup deles e excluí-los para liberar espaço, já daria uma boa folga para o disco e para a empresa na contratação de um DBA (cedo ou tarde teremos um, com certeza).1. Pergunto: há necessidade ou é exagero deixar 969 archives guardados ???No caso, eu poderia fazer backup de todos eles e excluir uns 500 (os mais antigos é claro...) ?Se ajudar: Quando eu faço backup pelo script, são gerados um arquivo .DMP e outros vários .DBF (dados, indices, log, control, system, indx, tools, undotbs, users).. 2. Será que não é feito backup diário desses archives junto com esses outros pelo script ? 3. Um dúvida: faço um backup completo uma vez por dia, inclusive nos finais de semana via ssh de casa, vocês acham que é pouco ? que eu deveria fazer mais ? tem outra usina aqui perto (bem maior que a nossa porém) que faz backup (incremental) toda hora.... de hora em hora... Para terem noção, no meu trabalho temos 33 estações e um servidor... Nosso backup (compactado) da cerca de 800 Mb.4. Aliás, é uma boa prática compactar banco de dados ? Eu compacto com o winrar, no nível 5 (maior compactação) e mando testar tudo depois de compactar... será que mesmo assim pode acontecer algum corrompimento ?5. Sobre esses scripts que eu tenho aqui... são dois, um chama backup_export e outro backup_online, não sei se é algo comum, mas gostaria de entender o funcionamento disso... o que faz cada um deles ?(O export gera o arquivo .dmp e o online gera os demais, (.dbf))Gente desculpa tantas perguntas, tantas dúvidas... tantas explicações... e mais uma vez muito obrigado por tudo!Qualquer coisa é só enviar um email ou mensagem!Kleber Coelho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kleber,

 

Vamos tentar acabar com algumas dúvidas, segue:

 

Porém eu acredito que se for apenas esses arquivos .dbf sem manutenção (sem serem excluídos) que estão causando o problema, e eu puder fazer backup deles e excluí-los para liberar espaço, já daria uma boa folga para o disco e para a empresa na contratação de um DBA (cedo ou tarde teremos um, com certeza).

R: Sim, você pode excluir-los SE você copiou eles para algum lugar seguro, seja um outro servidor, gravou em CD ou FITA!!!, é aconselhável sempre deixar os ARCHIVES de 2 dias no servidor, caso algum momento o banco de dados peça algum deles.

 

1. Pergunto: há necessidade ou é exagero deixar 969 archives guardados ???

No caso, eu poderia fazer backup de todos eles e excluir uns 500 (os mais antigos é claro...) ?

 

R: Se ele estiver impactando, pode retirar eles do servidor e deixar somente de 2 dias, como dito acima.

 

Se ajudar: Quando eu faço backup pelo script, são gerados um arquivo .DMP e outros vários .DBF (dados, indices, log, control, system, indx, tools, undotbs, users)..

 

R: Isso depende muito de como está a configuração dos arquivos do banco de dados e o que seu script realmente faz cópia.

 

O Arquivo com extensão DMP (Dump) é um arquivo gerado pelo utilitário EXPORT do Oracle, é um backup lógico do banco de dados.

 

Em relação aos outros, tem que ver o que ele realmente cópia e a forma de como ele faz essa cópia. Só olhando o script de backup mesmo.

 

2. Será que não é feito backup diário desses archives junto com esses outros pelo script ?

 

R: Só olhando o script de backup (Shell ou bat).

 

3. Um dúvida: faço um backup completo uma vez por dia, inclusive nos finais de semana via ssh de casa, vocês acham que é pouco ? que eu deveria fazer mais ? tem outra usina aqui perto (bem maior que a nossa porém) que faz backup (incremental) toda hora.... de hora em hora...

 

R: Pouco não é e muito também não, tudo isso varia de acordo com a estratégia de backup que a empresa precisa e que o DBA fez para o banco de dados, na maioria das vezes o mínio é um backup lógico (DMP), backup cold (todos os arquivos do banco de dados, com ele offline), backup extremamente seguro dos ARCHIVES e backups COLDS!!!

 

A forma, os dias, as latências, a forma de armazenamento, tudo isso varia com o seu tipo de ambiente. No site da iMasters, escrevi alguns artigos que fala de RMAN e a introdução é sobre a forma de estabelecer estratégias de backup.

 

Para terem noção, no meu trabalho temos 33 estações e um servidor... Nosso backup (compactado) da cerca de 800 Mb.

 

R: Isso sempre irá variar com o tipo de ambiente!!! As vezes um banco de dados de 100MB equivale a 70% do orçamento da empresa!!!

 

4. Aliás, é uma boa prática compactar banco de dados ?

Eu compacto com o winrar, no nível 5 (maior compactação) e mando testar tudo depois de compactar... será que mesmo assim pode acontecer algum corrompimento ?

 

R: Não Não Não.... isso prejudica em muito performance do banco de dados, lentidão será seu maior inimigo, RAID5, RAR, ZIP... tira isso fora... até indexação de arquivos que você configura no Windows prejudica, até mesmo ANTI-VIRUS vasculhando os arquivos do banco de dados pode lhe trazer sérios problemas de performance.

 

5. Sobre esses scripts que eu tenho aqui... são dois, um chama backup_export e outro backup_online, não sei se é algo comum, mas gostaria de entender o funcionamento disso... o que faz cada um deles ?

(O export gera o arquivo .dmp e o online gera os demais, (.dbf))

 

R: Só vendo mesmo o que cada um faz para pode falar...

 

 

Gente desculpa tantas perguntas, tantas dúvidas... tantas explicações... e mais uma vez muito obrigado por tudo!

Qualquer coisa é só enviar um email ou mensagem!

 

R: A idéia do fórum Oracle é justamente tentar ajudar com esses tipos de dúvidas sobre o mundo Oracle.

 

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Rodrigo;Nem sei como agradecer por tantas informações, sinceramente, estou muito grato e aliviado pelas respostas. Com certeza me ajudou muito, e se eu puder lhe ajudar estarei sempre a disposição...Rodrigo, mais para frente possivelmente vamos chamar alguém para fazer uma manutenção mais a fundo em nosso sistema, se lhe interessar ou se interessar ao Wagner também, podemos fechar esse serviço com você(s)...No caso, se não for possível vir aqui pessoalmente, posso conseguir uma outra forma de acesso ao nosso banco, (ssh por exemplo) mas isso estudaremos mais a frente... Se interessar... Vou ler os artigos que escreveu! ver se me integro um pouco mais com o oracle.Mais uma vez muito obrigado! :)Kleber Coelho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!

 

Retornei apenas para dizer que tudo funcionou aqui...

Copiei os archives para outra máquina, deixei todos os archives desse mês no servidor e o restante removi.

Compactei tudo e guardei em HD e fita DAT, resultado:

 

[oracle@oracle ~]$ df

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/sda3 113639304 24184252 83682496 23% /

[oracle@oracle ~]$

 

Muito obrigado Rodrigo e Wagner, qualquer coisa estou a disposição...

 

Kleber Coelho

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.