Recovery of Read-Only Files with a Re-Created Control File
1* select name ,status,enabled from v$datafile
SQL> /
NAME STATUS ENABLED
---------------------------------------------------------------------- ------- ----------
/u01/app/oracle/oradata/virtuald_COLD_restore/system01.dbf SYSTEM READ WRITE
/u01/app/oracle/oradata/virtuald_COLD_restore/sysaux01.dbf ONLINE READ WRITE
/u01/app/oracle/oradata/virtuald_COLD_restore/undotbs01.dbf ONLINE READ WRITE
/u01/app/oracle/oradata/virtuald_COLD_restore/users01.dbf ONLINE READ ONLY
===========================================================================================
Backup of controlfile
==================================
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "VIRTUALD" RESETLOGS ARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/virtuald_COLD_restore/redo01.rdo' SIZE 100M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/virtuald_COLD_restore/redo02.rdo' SIZE 100M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/virtuald_COLD_restore/redo03.rdo' SIZE 100M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/virtuald_COLD_restore/system01.dbf',
'/u01/app/oracle/oradata/virtuald_COLD_restore/sysaux01.dbf',
'/u01/app/oracle/oradata/virtuald_COLD_restore/undotbs01.dbf'
CHARACTER SET US7ASCII
;
===============================================================================
SQL> startup nomount pfile='initvirtual.ora';
ORA-32006: LOG_ARCHIVE_START initialization parameter has been deprecated
ORA-32006: REMOTE_OS_AUTHENT initialization parameter has been deprecated
ORACLE instance started.
Total System Global Area 1068937216 bytes
Fixed Size 2260088 bytes
Variable Size 331350920 bytes
Database Buffers 729808896 bytes
Redo Buffers 5517312 bytes
SQL>
=================================================================================
CREATE CONTROLFILE REUSE DATABASE "VIRTUALD" RESETLOGS ARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/virtuald_COLD_restore/redo01.rdo' SIZE 100M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/virtuald_COLD_restore/redo02.rdo' SIZE 100M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/virtuald_COLD_restore/redo03.rdo' SIZE 100M BLOCKSIZE 512
-- STANDBY LOGFILE
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
DATAFILE
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> 2 3 4 5 6 7 8 9 10 11 12 13
'/u01/app/oracle/oradata/virtuald_COLD_restore/system01.dbf',
'/u01/app/oracle/oradata/virtuald_COLD_restore/sysaux01.dbf',
14 15 '/u01/app/oracle/oradata/virtuald_COLD_restore/undotbs01.dbf'
16 CHARACTER SET US7ASCII
17 ;
Control file created.
SQL>==========================================================================
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/virtuald_COLD_restore/system01.dbf
/u01/app/oracle/oradata/virtuald_COLD_restore/sysaux01.dbf
/u01/app/oracle/oradata/virtuald_COLD_restore/undotbs01.dbf
==========================================================================================
SQL> alter database open resetlogs;
Database altered.
SQL>
==========================================================================================
1* select name,status,enabled from v$datafile
SQL> /
NAME STATUS ENABLED
---------------------------------------------------------------------- ------- ----------
/u01/app/oracle/oradata/virtuald_COLD_restore/system01.dbf SYSTEM READ WRITE
/u01/app/oracle/oradata/virtuald_COLD_restore/sysaux01.dbf ONLINE READ WRITE
/u01/app/oracle/oradata/virtuald_COLD_restore/undotbs01.dbf ONLINE READ WRITE
/u01/app/oracle/product/11204/dbs/MISSING00004 OFFLINE READ ONLY
===========================================================================================
SQL> alter database rename file '/u01/app/oracle/product/11204/dbs/MISSING00004'
to '/u01/app/oracle/oradata/virtuald_COLD_restore/users01.dbf';
Database altered.
============================================================================================
SQL> alter tablespace users online;
Tablespace altered.
SQL>
=============================================================================================
SQL> select TABLESPACE_NAME,STATUS from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS ONLINE
TEMPTS1 ONLINE
USERS READ ONLY
================================================================================================
SQL> select name,status,enabled from v$datafile;
NAME STATUS ENABLED
---------------------------------------------------------------------- ------- ----------
/u01/app/oracle/oradata/virtuald_COLD_restore/system01.dbf SYSTEM READ WRITE
/u01/app/oracle/oradata/virtuald_COLD_restore/sysaux01.dbf ONLINE READ WRITE
/u01/app/oracle/oradata/virtuald_COLD_restore/undotbs01.dbf ONLINE READ WRITE
/u01/app/oracle/oradata/virtuald_COLD_restore/users01.dbf ONLINE READ ONLY
===========================================================================================
============================================================================================
See Also: