Pular para o conteúdo
Visualizando 8 posts - 16 até 23 (de 23 do total)
  • Autor
    Posts
  • #96135
    Avatar de Sousa04Sousa04
    Participante

      conhecem algum comando para abrir o Oracle inconsistente?? Acho q vou precisar

      #96137
      Avatar de Sousa04Sousa04
      Participante

        Pessoal

        vamos fazer uma força tarefa aqui please

        pra entendimento

        1 – em uma nova base restaurei o controlfile diga-se de passagem do dia 15

        2 – restaurei os backup dos datafile do dia 14

        3 – Tentei abrir o banco e não consegui
        alter database open resetlogs
        *
        ERROR at line 1:
        ORA-01152: file 1 was not restored from a sufficiently old backup
        ORA-01110: data file 1:
        ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_system_4gq1sfyq_.dbf’

        depois

        1 – Tentei recriar o controlfile

        CREATE CONTROLFILE REUSE DATABASE “DWDEFESA” NORESETLOGS NOARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 3
        MAXDATAFILES 100
        MAXINSTANCES 8
        MAXLOGHISTORY 7848
        LOGFILE
        GROUP 1 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_01a.log’ SIZE 1536M,
        GROUP 2 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_02a.log’ SIZE 1536M,
        GROUP 3 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_03a.log’ SIZE 1536M,
        GROUP 4 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_04a.log’ SIZE 1610613248
        DATAFILE
        ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_system_4gq1sfyq_.dbf’,
        ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_sysaux_4gq1sfyy_.dbf’,
        ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_users_4gq1sg28_.dbf’,
        ‘/sistema/oradata/DWDEFESA/datafile/undotbs2.dbf’ ,
        CHARACTER SET WE8ISO8859P1
        ;

        2 – Deu esse erro

        ERROR at line 1:
        ORA-01503: CREATE CONTROLFILE failed
        ORA-01163: SIZE clause indicates 12800 (blocks), but should match header
        1100800
        ORA-01110: data file 17: ‘/sistema/oradata/DWDEFESA/datafile/undotbs2.dbf’

        3 – Fiz os Calculos

        1100800 * 8192 / 1024 = 8806400

        4 – tentei novamente espeificando a clausula SIZE NA tbsundo

        CREATE CONTROLFILE REUSE DATABASE “DWDEFESA” NORESETLOGS NOARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 3
        MAXDATAFILES 100
        MAXINSTANCES 8
        MAXLOGHISTORY 7848
        LOGFILE
        GROUP 1 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_01a.log’ SIZE 1536M,
        GROUP 2 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_02a.log’ SIZE 1536M,
        GROUP 3 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_03a.log’ SIZE 1536M,
        GROUP 4 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_04a.log’ SIZE 1610613248
        DATAFILE
        ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_system_4gq1sfyq_.dbf’,
        ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_sysaux_4gq1sfyy_.dbf’,
        ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_users_4gq1sg28_.dbf’,
        ‘/sistema/oradata/DWDEFESA/datafile/undotbs2.dbf’ SIZE 8806400,
        CHARACTER SET WE8ISO8859P1
        ;

        PERGUNTA

        Devo procurar uma corda e uma árvore ou um prédio bem alto e pular??

        Vlw

        #96138
        Avatar de Regis AraujoRegis Araujo
        Participante

          Opa..! Salve Galera..!!

          Olha eu me intrometendo aqui..!!

          Bom.. vamos ver se eu entendi direito..!!!

          1 – Vc restaurou um controlfile do dia 15.
          2 – Restaurou os Datafiles do dia 14.
          3 – Quer abrir o banco desta maneira.

          Se eu estiver correto no meu entendimento.. vamos as explicações..

          Seu controlfile armazenou as informações dos datafiles como sendo o ultimo SCN do dia 15.. então ele esta tentando ler no header dos datafiles este SCN, como os datafiles são do dia 14 o SCN é diferente.. desta maneira ele vai reclamar de consistência e não vai abrir.. e isto seria o certo.. pois o oracle precisa garantir q todas as informações na base sejam consistentes..!!

          MAs agora a pergunta.. vc realmente precisa abrir este banco, você realmente tem certeza disto? Tem certeza absoluta disto, pergunto novamente.. vc REALMENTE precisa fazer isto?

          Se sim.. faça isto..

          Coloque o parametro abaixo no seu INIT e suba o banco…!! Isto fará com que o seu banco abra sem a verificação de consistência, ou seja, abrirá de forma inconsistente.. Mas novamente perguntando.. VC REALMENTE PRECISA FAZER ISTO?

          Esta é uma base de desenvolvimento? Somente faça isto em base de desenvolvimento..!! Vc pode depois destruir ela e recria-la com todos os dados originais consistentes??

          Quando vc abrir o banco com este parametro.. ele vai gerar um log de erro informando q o banco esta aberto de forma inconsistente..!!

          Bom.. novamente.. só faça isto em ULTIMO, ULTIMO, ULTIMO, EXTREMANENTE ULTIMO CASO…!!!

          Lá vai o parametro…

          _ALLOW_RESETLOGS_CORRUPTION=TRUE

          Ahh.. outra coisa.. SÓ FAÇA ISTO SE REALMENTE FOR PRECISO.. E a Oracle não da suporte para uma base que tenha sido aberta com este parametro..!! E isto não é garantia de q o banco abra.. mas é uma ultima alternativa..!!

          Abraços.. e vamos ver no que dá..!!

          #96140
          Avatar de CleitonHanzenCleitonHanzen
          Participante

            Opá…

            Intaum, tenho um script que atualiza uma base de desenvolvimento que funciona exatamente deste jeito (backup offline, restore dos DBF’s para outra estrutura e recria o controlfile).

            Outro detalhe que observei no teu passo 4, você converteu o teu calculo de bytes para kbytes mas não especificou K após o “8806400”…

            1100800 * 8192 = 9017753600 bytes
            1100800 * 8192 / 1024 = 8806400 kbytes

            Veja que a unidade padrão dos comandos Oracle (se nenhuma outra for especificada) é bytes e não kbytes….. 😉

            []s

            #96149
            Avatar de Sousa04Sousa04
            Participante

              Bom dia Galera
              como a vida é bela né? É tão bom quando as coisas dão certo né?rsrsrrs

              Então, vamos ver os fatos e resultados

              1 – Precisei Voltar um backup do dia 14 e não possuia o control file
              deu erro de cara, pois como o ckp sinaliza no controlfile as alterações dos datafiles para deixar tudo bem sincronizado mas como não estava…..
              SQL> alter database open resetlogs
              2 ;
              alter database open resetlogs
              *
              ERROR at line 1:
              ORA-01152: file 1 was not restored from a sufficiently old backup
              ORA-01110: data file 1:
              ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_system_4gq1sfyq_.dbf’

              2 – Opção para recria o controlfile
              SQL> CREATE CONTROLFILE REUSE DATABASE “DWDEFESA” NORESETLOGS NOARCHIVELOG
              2 MAXLOGFILES 16
              3 MAXLOGMEMBERS 3
              4 MAXDATAFILES 100
              5 MAXINSTANCES 8
              6 MAXLOGHISTORY 7848
              7 LOGFILE
              8 GROUP 1 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_01a.log’ SIZE 1536M,
              9 GROUP 2 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_02a.log’ SIZE 1536M,
              10 GROUP 3 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_03a.log’ SIZE 1536M,
              11 GROUP 4 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_04a.log’ SIZE 1610613248
              12 DATAFILE
              13 ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_system_4gq1sfyq_.dbf’,
              14 ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_sysaux_4gq1sfyy_.dbf’,
              15 ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_users_4gq1sg28_.dbf’,
              16 ‘/sistema/oradata/DWDEFESA/datafile/undotbs2.dbf’,
              17 CHARACTER SET WE8ISO8859P1
              18 ;
              CREATE CONTROLFILE REUSE DATABASE “DWDEFESA” NORESETLOGS NOARCHIVELOG
              *
              ERROR at line 1:
              ORA-01503: CREATE CONTROLFILE failed
              ORA-01163: SIZE clause indicates 12800 (blocks), but should match header
              1100800
              ORA-01110: data file 17: ‘/sistema/oradata/DWDEFESA/datafile/undotbs2.dbf’
              Percebam que não coloquei nenhum valor no datafile de Undo.
              depois tentei recriar espefificando o valor

              ‘/sistema/oradata/DWDEFESA/datafile/undotbs2.dbf’ SIZE 8806400k,

              Mas tbm deu o mesmo erro. Vi seu comentário Cleiton, eu tbm tinha especificado em k. Não sei pq raios não funcionou vou continuar tentando descobrir o pq disso afinal de contas eu criei a base de teste em uma VM, vou brincar com ela depois e tentar recriar esse maledito controlfile.

              Então diante de todas essas circurstâncias o Thunder_Catz, o Jesus cristo, o Salvador, Exterminador do furturo… rsrsrs ALumia meu caminho com o bendito _ALLOW_RESETLOGS_CORRUPTION=TRUE.
              Como eu só precisava de um schema, um export e depois a base seria totalmente desfeita logo não havia problemas em abrir em desarmonia.
              Alterei no Pfile e

              ALTER DATABASE OPEN
              ORA-1589 signalled during: ALTER DATABASE OPEN…
              Fri Sep 17 20:35:19 2010
              alter database open resetlogs
              RESETLOGS is being done without consistancy checks. This may result
              in a corrupted database. The database should be recreated.
              RESETLOGS after incomplete recovery UNTIL CHANGE 21266592822
              Resetting resetlogs activation ID 3665158495 (0xda75e15f)
              Fri Sep 17 20:37:17 2010
              Setting recovery target incarnation to 3
              Fri Sep 17 20:37:17 2010

              BOW!!!! Abri a parada!!

              Vlw ae mesmo pela força e apoio galera!!!!Deus abençoe todos vcs!!

              #96156
              Avatar de burgaburga
              Participante

                hehehe… essa vai pros meus favoritos!!

                #96190
                Avatar de airoospairoosp
                Participante

                  Conteúdo esta errado mensagem apagada.

                  #96230
                  Avatar de Sousa04Sousa04
                  Participante

                    Bom dia pessoal

                    Descobri o porque eu não consegui recriar o control file.
                    Postei acima que estava dando o seguinte erro:

                    ERROR at line 1:
                    ORA-01503: CREATE CONTROLFILE failed
                    ORA-01163: SIZE clause indicates 12800 (blocks), but should match header
                    1100800

                    Esse erro persistia mesmo eu indicando o tamanho

                    1100800 * 8192 / 1024 = 8806400K

                    Pois é, o erro era do tamanho de uma vírgula

                    CREATE CONTROLFILE REUSE DATABASE “DWDEFESA” RESETLOGS NOARCHIVELOG
                    MAXLOGMEMBERS 3
                    MAXDATAFILES 100
                    MAXINSTANCES 8
                    MAXLOGHISTORY 7848
                    LOGFILE
                    GROUP 1 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_01a.log’ SIZE 1536M,
                    GROUP 2 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_02a.log’ SIZE 1536M,
                    GROUP 3 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_03a.log’ SIZE 1536M,
                    GROUP 4 ‘/sistema/oradata/DWDEFESA/onlinelog/redo_04a.log’ SIZE 1536M
                    DATAFILE
                    ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_system_4gq1sfyq_.dbf’ SIZE 3145728K,
                    ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_sysaux_4gq1sfyy_.dbf’ SIZE 3145728K,
                    ‘/sistema/oradata/DWDEFESA/datafile/o1_mf_users_4gq1sg28_.dbf’ SIZE 16179456K,
                    ‘/sistema/oradata/DWDEFESA/datafile/undotbs2.dbf’ SIZE 8806400K
                    CHARACTER SET WE8ISO8859P1
                    ;

                    Retirei a vírgula depois de SIZE 8806400K

                    e pronto

                    Control file created.

                    No desespero a gente fica cego. Fala sério, Aff!!

                  Visualizando 8 posts - 16 até 23 (de 23 do total)
                  • Você deve fazer login para responder a este tópico.
                  plugins premium WordPress