ORA-01157 ORA-01110

ORA-01157: cannot identify/lock data file 66 - see DBWR trace file ORA-01110: data file 66: (Doc ID 1612244.1)

Oracle Database - Enterprise Edition - Version 10.2.0.1 and later
Information in this document applies to any platform.


SYMPTOMS

 user add datafile for RAC DataBase in the local node

 SQL> alter tablespace system add datafile 'FRA' SIZE 250M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

then when he query DBA_DATA_FILES
ORA-01157: cannot identify/lock data file 66 - see DBWR trace file
ORA-01110: data file 66: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/FRA'


CHANGES

 datafiles add to system Tablespace by mistake on the local Node instead of shared diskgroup

CAUSE

 This is expected as it is RAC DB and it suppose to create the new Datafile on the shared disk no on the local node

when user  add data file using

 SQL> alter tablespace system add datafile 'FRA' SIZE 250M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

its add the datafile in the default OMG location db_create_file_dest

SQL> show parameter db_create_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest                  string

and when it is Null the default locaion $OH/dbs

SOLUTION

Open the DB in Mount state

Copy the created Datafile to the shared Disk Group

please note that the DB must be in the archive mode .

RMAN> copy datafile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/FRA' to '+FRA';

Starting backup at 06-JAN-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=8 instance=TESTDB12 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00066 name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/FRA
output file name=+FRA/testdb1/datafile/system.284.836141149 tag=TAG20140106T132548 RECID=1 STAMP=836141162
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
Finished backup at 06-JAN-14
 
Using SQL PLUS rename the Datafile to the New location

SQL>alter database rename file '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/FRA' to '+FRA/TESTDB1/DATAFILE/SYSTEM.284.836141149';
 - open the DB

SQL> alter Database open;

Remove the old file

 $ rm /u01/app/oracle/product/11.2.0/dbhome_1/dbs/FRA

No comments:

ORA-01552: cannot use system rollback segment for non-system tablespace 'TEMP'

 ORA-01552: cannot use system rollback segment for non-system tablespace "string" Cause: Used the system rollback segment for non...