DESCRIPTION:

In this article we are going to see how to Restore control file without backup.

Step 1 – Start the instance

[oracle@trichydoyen ~]$ export ORACLE_SID=BIJU1

[oracle@trichydoyen ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Sat Sept 05 21:02:11 2020

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area  524288000 bytes

Fixed Size     8794696 bytes

Variable Size   381685176 bytes

Database Buffers   130023424 bytes

Redo Buffers     3784704 bytes

ORA-00205: error in identifying control file, check alert log for more info
SQL> shut abort

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

Total System Global Area  524288000 bytes

Fixed Size     8622624 bytes

Variable Size   377490912 bytes

Database Buffers   134217728 bytes

Redo Buffers     3956736 bytes

Database mounted.
SQL> show parameter control_file

NAME      TYPE  VALUE

------------------------------------ ----------- ------------------------------

control_file_record_keep_time      integer  7

control_files      string  /u01/manualdb/files/control/co

ntrol02bk.ctl
SQL> recover database using BACKUP CONTROLFILE;

ORA-00283: recovery session canceled due to errors

ORA-01110: data file 1: '/u01/manualdb/files/data/system01.dbf'

ORA-01157: cannot identify/lock data file 1 - see DBWR trace file

ORA-01110: data file 1: '/u01/manualdb/files/data/system01.dbf'
SQL> alter database backup controlfile to trace as '/u01/app/oracle/diag/rdbms/Biju/Biju/trace/ctl.sql';

Database altered.
SQL> shutdown immediate;

ORA-01109: database not open

Database dismounted.

ORACLE instance shut down.

Step 2 – restore the controlfile and mount the database

SQL> startup nomount;

ORACLE instance started.

Total System Global Area  524288000 bytes

Fixed Size     8622624 bytes

Variable Size   377490912 bytes

Database Buffers   134217728 bytes

Redo Buffers     3956736 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "MANUALDB" NORESETLOGS  ARCHIVELOG

MAXLOGFILES 5

MAXLOGMEMBERS 5

MAXDATAFILES 100

MAXINSTANCES 1

MAXLOGHISTORY 292

LOGFILE

GROUP 1 '/u01/manualdb/files/redo/redo01.log'  SIZE 100M BLOCKSIZE 512,

GROUP 2 '/u01/manualdb/files/redo/redo02.log'  SIZE 100M BLOCKSIZE 512,

GROUP 3 '/u01/manualdb/files/redo/redo03.log'  SIZE 100M BLOCKSIZE 512

-- STANDBY LOGFILE

DATAFILE

'/u01/manualdb/files/data/system01.dbf',

'/u01/manualdb/files/data/sysaux01.dbf',

'/u01/manualdb/files/data/undotbs01.dbf',

'/u01/manualdb/files/data/users01.dbf',

'/u01/manualdb/files/data/system02.dbf',

'/u01/app/oracle/product/12.2.0.1/db_1/dbs/tbs1.dbf',

'/u01/app/oracle/product/12.2.0.1/db_1/dbs/tbs2.dbf',

'/u01/manualdb/files/data/tbs3.dbf',

'/u01/app/oracle/product/12.2.0.1/db_1/dbs/test03.dbf'

CHARACTER SET US7ASCII

;  2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23

Control file created.

Step 3 – Restore the database

SQL>  recover database using backup controlfile;

ORA-00279: change 7391600 generated at 12/22/2019 09:22:44 needed for thread 1

ORA-00289: suggestion :

/u01/app/oracle/product/12.2.0.1/db_1/dbs/arch1_1_1027674850.dbf

ORA-00280: change 7391600 for thread 1 is in sequence #1

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

/u01/manualdb/files/redo/redo01.log

Log applied.

Media recovery complete.

Step 4 – Open the database.

SQL> alter database open resetlogs;

Database altered.

SQL> select name,open_mode from v$database;

NAME        OPEN_MODE

---------     --------------------

BIJU1          READ WRITE

 

Recent Posts

Start typing and press Enter to search