Friday, August 15, 2014

Deleted Oracle flashback logs ?


Deleted Oracle flashback logs ?

Nothing will until you try to flashback database or bounce instance.
You cannot bounce , nor flashback the DB,  But following is a way to start your database with minimal effort.


My Test case


[orpncsni@testserver ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Jul 1 09:34:18 2014
Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning option
SQL> select status from v$instance;
STATUS
------------------------------------------------
MOUNTED


########--> Mounted


SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-38760: This database instance failed to turn on flashback database


########--> Cannot open


SQL> alter database flashback off;
Database altered.


SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-38760: This database instance failed to turn on flashback database
########--> Still cannot open


########--> Check what is the flashback status


SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------------------------------------------------------------
RESTORE POINT ONLY

SQL>  select * from v$restore_point;
 select * from v$restore_point
               *
ERROR at line 1:
ORA-38701:  Flashback database log 1024 seq 1285 thread 1:
"/pncsni/arch/flashback/PNCSNI/flashback/o5_az_8tb7frtb_.flb"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

########--> I did remember the  GRP NAME, if not get it from Alert log
 Also use (Doc ID 1288189.1)

SQL> DROP RESTORE POINT NAVEENGRP;
DROP RESTORE POINT NAVEENGRP
*
ERROR at line 1:
ORA-38701: Flashback database log 1024 seq 1285 thread 1:
"/pncsni/arch/flashback/PNCSNI/flashback/o5_az_8tb7frtb_.flb"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3


(Doc ID 1554596.1) - Did not work



SQL> alter database backup controlfile to trace as '/tmp/control.ctl';


Database altered.


SQL> alter database backup controlfile to trace as '/tmp/naveencontrol.ctl';


Database altered.


Edit this file
[orpncsni@testserver ~]$ vi '/tmp/control.ctl';


Keep only following
CREATE CONTROLFILE REUSE DATABASE "PNCSNI" NORESETLOGS  ARCHIVELOG
..........
...........
CHARACTER SET XXXXXX
;


SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.


SQL> startup nomount
ORACLE instance started.
....
...


-- > Backup existing control file
-- > Create new control files and open database


SQL> @/tmp/control.ctl;
Control file created.


SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required

SQL> alter database open;


Database altered.




Database has been started and opened - all done.


Then do all the rest of the activities like flashback on / archive log ,
block change tracking or other RMAN settings. 
These statements can be seen form the '/tmp/naveencontrol.ctl';


Like
ALTER TABLESPACE TEMP1 ADD TEMPFILE '/pncsni/oradata/data02/temp01.dbf' REUSE;
ALTER TABLESPACE TEMP2 ADD TEMPFILE '/pncsni/oradata/data02/temp02.dbf' REUSE;

No comments: