Pular para o conteúdo
Visualizando 11 posts - 1 até 11 (de 11 do total)
  • Autor
    Posts
  • #98572
    Danielson
    Participante

      Oi pessoal,

      Na semana passada tive um problema com o banco de dados que excedeu o limite de espaço do disco rígido. Trata-se de um server dell power edge r410 com dois discos sas 146GB (raid 1), sendo que a base esta numa partição com 112GB.
      Todos os backups, inclusive os dumps são gerados no próprio disco e diariamente transfiro para um outro disco externo para arquivamento.

      Atualmente a soma dos dmps geram 8 arquivos de 2GB cada e a ação que fiz de imediato foi alterar no script diario de geração dos dumps, para que seja feito direto num outro disco externo. São dois scripts (diario e noturno), sendo assim apenas com essa transferência, foi possível economizar 32GB do disco.

      Um outro diretório que consome bastante espaço é o /oracle/archive, onde estão armazenados os redo log files e consomem cerca de 40GB. Existe um terceiro script que tem por objetivo administrar a substituição desses arquivos durante o tempo de vida útil no diretório onde estão armazenados.

      Sendo assim percebe-se que esses dois diretórios (dmp e redo) juntos consomem o equivalente a 72GB. Minha intenção então é comprar um outro par de discos de 146GB SAS e então direcionar a geração dos arquivos para os novos diretórios.

      Como disse no inicio, consegui alterar o diretório da geração dos dmps belezinha. Porém, gostaria de saber se é possível alterar o destino dos arquivos redo files também. Existe algum arquivo onde aponto a criação dos redo files?

      Obrigado pela atenção, abraço a todos.

      #98573
      Peterson
      Participante

        Danielson,

        Sim, há como alterar. Só fiquei na seguinte dúvida: você quer alterar a localização dos redo log files online ou dos redo log files archives?

        #98574
        Danielson
        Participante

          Oi Peterson, primeiramente obrigado pela breve resposta.
          Cara, agora eu que fiquei na duvida. Creio que seja a segunda opção (redo log files archives).
          Não sei a diferença e não sei se irá ajudar, mas são aqueles arquivos que você controla o tamanho de cada um (no caso aqui 50MB). O Oracle vai criando os arquivos na medida que os insert, updates e etc vão ocorrendo.

          #98581
          Peterson
          Participante

            Danielson,

            O Oracle pode trabalhar em dois modos: Modo archive e modo no archive. No modo No archive, ele tem grupos de arquivos de logs, por default são 3 grupos de arquivos com 1 arquivo cada.

            As instruções DML são registradas nesses logs e eles são conhecidos como REDO LOG FILES (são os arquivos de log ONLINE). Tomando a configuração default como exemplo, quando o Oracle já gravou dados nos 3 grupos de arquivo de logs online, ele passa a sobrescrevê-los.

            Quando o banco está no modo archive, ele salva uma cópia desses arquivos antes de sobrescrevê-los.

            Então, no modo archive você tem parâmetros que indicam a configuração desses dois locais… da localização dos logs online e da localização dos arquivos de logs.

            #98582
            Peterson
            Participante

              com o comando abaixo você consulta como está configurado seu banco de dados:


              archive log list

              #98585
              burga
              Participante

                onde estão armazenados os redo log files e consomem cerca de 40GB.

                mas são aqueles arquivos que você controla o tamanho de cada um (no caso aqui 50MB).

                Nem com 5 grupos de 5 arquivos cada dariam 40 GB, isso se notar que seriam 5 arquivos na mesma pasta. Deve ser o archive mesmo…

                Posta o resultado do comando do Peterson e o resultado desse comando junto:

                show parameter log_archive

                Depois, pra alterar o destino do archive, você usa algo do tipo:
                alter system set log_archive_dest_n='location=/novo/caminho/destino/archives' ;

                O “n” do log_archive_dest_n você troca pelo numero do parâmetro que estiver setando o destino atual, apresentado pelo comando show parameter…

                #98595
                Danielson
                Participante

                  Ok, entendido. Nesse caso o banco esta trabalhando no modo Archive mesmo. Seguindo o comando do Perterson, eis o resultado:


                  SQL> show parameter log_archive

                  NAME TYPE VALUE


                  log_archive_config string
                  log_archive_dest string /oracle/archive/mega/log
                  log_archive_dest_state_1 string enable
                  log_archive_dest_state_10 string enable
                  log_archive_dest_state_2 string enable
                  log_archive_dest_state_3 string enable
                  log_archive_dest_state_4 string enable
                  log_archive_dest_state_5 string enable
                  log_archive_dest_state_6 string enable
                  log_archive_dest_state_7 string enable
                  log_archive_dest_state_8 string enable
                  log_archive_dest_state_9 string enable
                  log_archive_dest_1 string
                  log_archive_dest_10 string
                  log_archive_dest_2 string
                  log_archive_dest_3 string
                  log_archive_dest_4 string
                  log_archive_dest_5 string
                  log_archive_dest_6 string
                  log_archive_dest_7 string
                  log_archive_dest_8 string
                  log_archive_dest_9 string
                  log_archive_duplex_dest string
                  log_archive_format string %t%r_%s.redo
                  log_archive_local_first boolean TRUE
                  log_archive_max_processes integer 2
                  log_archive_min_succeed_dest integer 1
                  log_archive_start boolean FALSE
                  log_archive_trace integer 0

                  Burga e Peterson,

                  Como podem ver, apareceram onze parâmetros com o nome log_archive_dest_n (dez do 1 ao 10 e outro sem numero algum).
                  Devo então digitar onze vezes o comando, substituindo o “n” de acordo com o parâmetro a ser setado?

                  Observando os parâmetros que o comando gerou seria possível identificar o comando exato a ser usado?

                  Muito grato.

                  #98597
                  Peterson
                  Participante

                    Me parece que o único parâmetro que você tem que alterar é o log_archive_dest_1.

                    O parâmetro log_archive_dest ficou obsoleto após o 10G. Para alterar o parâmetro use o comando:

                    ALTER SYSTEM SET log_archive_dest_1 = 'LOCATION:C:diretorio_logs' MANDATORY;

                    #98598
                    Peterson
                    Participante

                      Lembrando que você deve setar o parâmetro log_archive_dest para nulo. E o diretório especificado no comando que postei anteriormente já deve existir.

                      #98599
                      Peterson
                      Participante

                        Só para ilustrar melhor:

                        http://download.oracle.com/docs/cd/B193 … m#i1128645

                        http://download.oracle.com/docs/cd/B193 … m#I1010086

                        #98656
                        Danielson
                        Participante

                          Ok, minha duvida inicial foi resolvida.
                          Obrigado pelo excelente apoio nas respostas dos colegas.

                        Visualizando 11 posts - 1 até 11 (de 11 do total)
                        • Você deve fazer login para responder a este tópico.