donderdag 2 oktober 2014

RMAN Error: ORA-01152:

Na recovery en restoren van database gaat het het open van database fout

alter database open resetlogs

geeft fout melding ora-01152

Hoe oplossen?

Wanneer hij gaat recoveren dan vraagt db om sequence nummer 3856. Deze is niet available in de ARCHIVE destinations


SQL> recover database until cancel using backup controlfile;
ORA-00279: Wijziging 10677971 is gegenereerd bij 09/30/2014 16:03:50 die nodig
is voor 1.
ORA-00289: Suggestie :
/u01/app/oracle/fast_recovery_area/CDBDMO/archivelog/2014_10_01/o1_mf_1_3856_%u_
.arc.
ORA-00280: Wijziging 10677971 voor thread 1 is in volgnummer 3856.


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

ORA-00308: Kan gearchiveerde log
'/u01/app/oracle/fast_recovery_area/CDBDMO/archivelog/2014_10_01/o1_mf_1_3856_%u
_.arc' niet openen.
ORA-27037: Openen van bestandsstatus is niet mogelijk.
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3


Het kan zijn dat in dit geval de sequence nog in een online redo log zit en niet is gearchiveerd.


SQL> select * from v$log where sequence#=3856
  2  ;

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC
---------- ---------- ---------- ---------- ---------- ---------- ---
STATUS           FIRST_CHANGE# FIRST_TI NEXT_CHANGE# NEXT_TIM     CON_ID
---------------- ------------- -------- ------------ -------- ----------
         7          1       3856  157286400        512          2 NO
CURRENT               10677971 30-09-14   2,8147E+14                   0


Blijkbaar zit dit sequence nummer in log group 7. Kijk eens waar deze zich bevind


SQL> select * from v$logfile where group#=7;

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
IS_     CON_ID
--- ----------
         7         ONLINE
+DMODATA/CDBDMO/ONLINELOG/group_7.298.856699331
NO           0

         7         ONLINE
/u01/app/oracle/fast_recovery_area/CDBDMO/onlinelog/o1_mf_7_9zvc5b00_.log
YES          0

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
IS_     CON_ID
--- ----------


De logfile waar dus de laatste scn zit is /u01/app/oracle/fast_recovery_area/CDBDMO/onlinelog/o1_mf_7_9zvc5b00_.log

Als deze file bestaat dan kan je het volgende doen
SQL>  recover database using backup controlfile until cancel;

en dan de filenaam invullen.


Een ander scenario is dat RECOVER zelf met een suggestie komt maar deze suggestie klopt niet.

SQL>  recover database using backup controlfile until cancel;
ORA-00279: Wijziging 10677971 is gegenereerd bij 09/30/2014 16:03:50 die nodig
is voor 1.
ORA-00289: Suggestie :
/u01/app/oracle/fast_recovery_area/CDBDMO/archivelog/2014_10_02/o1_mf_1_3856_%u_
.arc.
ORA-00280: Wijziging 10677971 voor thread 1 is in volgnummer 3856.


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/u01/app/oracle/fast_recovery_area/CDBDMO/archivelog/2014_09_30/o1_mf_1_3855_b2og27dg_.arc
ORA-00310: Gearchiveerde log bevat volgnummer 3855 - volgnummer 3856 is
vereist.
ORA-00334: Gearchiveerde log:
'/u01/app/oracle/fast_recovery_area/CDBDMO/archivelog/2014_09_30/o1_mf_1_3855_b2
og27dg_.arc'.

ORA-00392

Daarna 
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-00392: Log 7 van thread 1 wordt gewist, bewerking niet toegestaan.
ORA-00312: Onlinelog 7 thread 1:
'+DMODATA/CDBDMO/ONLINELOG/group_7.294.859903589'.
ORA-00312: Onlinelog 7 thread 1:
'/u01/app/oracle/fast_recovery_area/CDBDMO/onlinelog/o1_mf_7_%u_.log'.

deze fout kan je oplossen door
select group#,sequence#,archived,status from v$log;
 en dan de group di e op CLEARING_CURRENT  sttat moet je clearen 

   GROUP#  SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
        7          0 NO  CLEARING_CURRENT
         1          0 YES UNUSED

actie  alter database clear logfile group 7;

Daarna
SQL> alter database open resetlogs;

ORA-19809

PS Deze fout kan ook nog voorkomen
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-19809: limiet voor herstelbestanden overschreden
ORA-19804: kan geen 157286400 bytes aan schijfruimte vrijmaken van limiet
5033164800

oplossing
http://marcel.vandewaters.nl/oracle/database-oracle/ora-19809-limit-exceeded-for-recovery-files
SQL> alter system set db_recovery_file_dest_size=200G

wel weer terugzetten: 


Geen opmerkingen:

Een reactie posten