wrong description
My November 16 2015 7:02:38 p.m.
Errors in file /u01/app/oracle/diag/rdbms/zwzwdb/zwzwdb1/trace/zwzwdb1_m000_27416.trc:
ORA-01157: cannot identify/lock data file 18 - see DBWR trace file
ORA-01110: file 18: '/u01/app/oracle/11.2.0/db/dbs/goa31new'
Errors in file /u01/app/oracle/diag/rdbms/zwzwdb/zwzwdb1/trace/zwzwdb1_m000_27416.trc:
ORA-01157: cannot identify/lock data file 19 - see DBWR trace file
ORA-01110: file 19: '/u01/app/oracle/11.2.0/db/dbs/goafilenew'
Error Analysis
According to [4, data files mistakenly seen cases built 1], know that this is in the data file by mistake rac environment built on local disk, leading to another node can not access the data file, which reported ora-01157 and ora-01110 error.
Directly view the data file path:
SQL> select file#,name from v$datafile;
FILE# NAME
---------- ---------------------------------------------
1 +DATA/zwzwdb/datafile/system.259.855244341
2 +DATA/zwzwdb/datafile/sysaux.260.855244345
3 +DATA/zwzwdb/datafile/undotbs1.261.855244345
4 +DATA/zwzwdb/datafile/undotbs2.263.855244353
5 +DATA/zwzwdb/datafile/users.264.855244355
6 +DATA/smsmain_def_1.dbf
7 +DATA/smsmain_def_2.dbf
8 +DATA/smsmain_def_3.dbf
9 +DATA/smsmain_def_4.dbf
10 +DATA/smsmain_idx_1.dbf
11 +DATA/smsmain_idx_2.dbf
FILE# NAME
---------- ---------------------------------------------
12 +DATA/smsmain_def_5.dbf
13 +DATA/smsmain_idx_3.dbf
14 +DATA/gszwy_system_1.dbf
15 +DATA/gszwy_system_2.dbf
16 +DATA/gszwy_system_3.dbf
17 +DATA/gszwy_system_4.dbf
18 /u01/app/oracle/11.2.0/db/dbs/goa31new
19 /u01/app/oracle/11.2.0/db/dbs/goafilenew
20 +DATA/zwzwdb/datafile/egovcpp.293.874859211
21 +DATA/zwzwdb/datafile/ioop_test.294.879093349
22 +DATA/zwzwdb/datafile/ioop_file_test.295.8790
FILE# NAME
---------- ---------------------------------------------
93537
22 rows selected.
Can clearly see, 18 and 19 is based on a data file under the local /u01/app/oracle/11.2.0/db/dbs directory.
Solution
The problem has been analyzed clearly, now based on already known directory data files 18, 19, go on view at each node corresponding directory, determines that the data file was created on that node, where the case is created in the node 2 local disk.
In the node 2 into the environment sqlplus, offline data files 18, 19:
SQL> alter database datafile 18 offline;
Database altered.
SQL> alter database datafile 19 offline;
Database altered.
Off the assembly line is completed, re-determine the status of the data file:
SQL> col name for a45
SQL> set line 234
SQL> select name , file# , status from v$datafile;
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/zwzwdb/datafile/system.259.855244341 1 SYSTEM
+DATA/zwzwdb/datafile/sysaux.260.855244345 2 ONLINE
+DATA/zwzwdb/datafile/undotbs1.261.855244345 3 ONLINE
+DATA/zwzwdb/datafile/undotbs2.263.855244353 4 ONLINE
+DATA/zwzwdb/datafile/users.264.855244355 5 ONLINE
+DATA/smsmain_def_1.dbf 6 ONLINE
+DATA/smsmain_def_2.dbf 7 ONLINE
+DATA/smsmain_def_3.dbf 8 ONLINE
+DATA/smsmain_def_4.dbf 9 ONLINE
+DATA/smsmain_idx_1.dbf 10 ONLINE
+DATA/smsmain_idx_2.dbf 11 ONLINE
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/smsmain_def_5.dbf 12 ONLINE
+DATA/smsmain_idx_3.dbf 13 ONLINE
+DATA/gszwy_system_1.dbf 14 ONLINE
+DATA/gszwy_system_2.dbf 15 ONLINE
+DATA/gszwy_system_3.dbf 16 ONLINE
+DATA/gszwy_system_4.dbf 17 ONLINE
+DATA/zwzwdb/datafile/goa31.339.895952649 18 RECOVER
+DATA/zwzwdb/datafile/goafile31.340.895952749 19 RECOVER
+DATA/zwzwdb/datafile/egovcpp.293.874859211 20 ONLINE
+DATA/zwzwdb/datafile/ioop_test.294.879093349 21 ONLINE
+DATA/zwzwdb/datafile/ioop_file_test.295.8790 22 ONLINE
NAME FILE# STATUS
--------------------------------------------- ---------- -------
93537
22 rows selected.
You can see, 18, 19 in the state recover data files, temporary can not control, first copy the data files in a shared environment to the rman catalog:
RMAN> copy datafile '/u01/app/oracle/11.2.0/db/dbs/goa31new' to '+DATA';
Starting backup at 16-NOV-15
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00018 name=/u01/app/oracle/11.2.0/db/dbs/goa31new
output file name=+DATA/zwzwdb/datafile/goa31.339.895952649 tag=TAG20151116T194409 RECID=1 STAMP=895952650
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 16-NOV-15
RMAN> copy datafile '/u01/app/oracle/11.2.0/db/dbs/goafilenew' to '+DATA'
2> ;
Starting backup at 16-NOV-15
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00019 name=/u01/app/oracle/11.2.0/db/dbs/goafilenew
output file name=+DATA/zwzwdb/datafile/goafile31.340.895952749 tag=TAG20151116T194549 RECID=2 STAMP=895952750
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 16-NOV-15
Here we need to remember the contents of copy results in italics for changes to the system data file path:
SQL>alter database rename file '/u01/app/oracle/11.2.0/db/dbs/goa31new' to '+DATA/zwzwdb/datafile/goa31.339.895952649';
Database altered.
SQL>alter database rename file '/u01/app/oracle/11.2.0/db/dbs/goafilenew' to '+DATA/zwzwdb/datafile/goafile31.340.895952749';
Database altered.
Now re-view the data in a file name and status, as follows:
SQL> select name , file# , status from v$datafile;
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/zwzwdb/datafile/system.259.855244341 1 SYSTEM
+DATA/zwzwdb/datafile/sysaux.260.855244345 2 ONLINE
+DATA/zwzwdb/datafile/undotbs1.261.855244345 3 ONLINE
+DATA/zwzwdb/datafile/undotbs2.263.855244353 4 ONLINE
+DATA/zwzwdb/datafile/users.264.855244355 5 ONLINE
+DATA/smsmain_def_1.dbf 6 ONLINE
+DATA/smsmain_def_2.dbf 7 ONLINE
+DATA/smsmain_def_3.dbf 8 ONLINE
+DATA/smsmain_def_4.dbf 9 ONLINE
+DATA/smsmain_idx_1.dbf 10 ONLINE
+DATA/smsmain_idx_2.dbf 11 ONLINE
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/smsmain_def_5.dbf 12 ONLINE
+DATA/smsmain_idx_3.dbf 13 ONLINE
+DATA/gszwy_system_1.dbf 14 ONLINE
+DATA/gszwy_system_2.dbf 15 ONLINE
+DATA/gszwy_system_3.dbf 16 ONLINE
+DATA/gszwy_system_4.dbf 17 ONLINE
+DATA/zwzwdb/datafile/goa31.339.895952649 18 RECOVER
+DATA/zwzwdb/datafile/goafile31.340.895952749 19 RECOVER
+DATA/zwzwdb/datafile/egovcpp.293.874859211 20 ONLINE
+DATA/zwzwdb/datafile/ioop_test.294.879093349 21 ONLINE
+DATA/zwzwdb/datafile/ioop_file_test.295.8790 22 ONLINE
NAME FILE# STATUS
--------------------------------------------- ---------- -------
93537
22 rows selected.
Discovery 18, 19 data files have been successfully moved to the specified shared directory, but the state still recover state, and now the data file recovery:
SQL> recover datafile '+DATA/zwzwdb/datafile/goa31.339.895952649';
Media recovery complete.
SQL> recover datafile '+DATA/zwzwdb/datafile/goafile31.340.895952749';
Media recovery complete.
Recovery is complete, and then view the status of No. 18, 19 data files:
SQL> select name,file#,status from v$datafile;
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/zwzwdb/datafile/system.259.855244341 1 SYSTEM
+DATA/zwzwdb/datafile/sysaux.260.855244345 2 ONLINE
+DATA/zwzwdb/datafile/undotbs1.261.855244345 3 ONLINE
+DATA/zwzwdb/datafile/undotbs2.263.855244353 4 ONLINE
+DATA/zwzwdb/datafile/users.264.855244355 5 ONLINE
+DATA/smsmain_def_1.dbf 6 ONLINE
+DATA/smsmain_def_2.dbf 7 ONLINE
+DATA/smsmain_def_3.dbf 8 ONLINE
+DATA/smsmain_def_4.dbf 9 ONLINE
+DATA/smsmain_idx_1.dbf 10 ONLINE
+DATA/smsmain_idx_2.dbf 11 ONLINE
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/smsmain_def_5.dbf 12 ONLINE
+DATA/smsmain_idx_3.dbf 13 ONLINE
+DATA/gszwy_system_1.dbf 14 ONLINE
+DATA/gszwy_system_2.dbf 15 ONLINE
+DATA/gszwy_system_3.dbf 16 ONLINE
+DATA/gszwy_system_4.dbf 17 ONLINE
+DATA/zwzwdb/datafile/goa31.339.895952649 18 OFFLINE
+DATA/zwzwdb/datafile/goafile31.340.895952749 19 OFFLINE
+DATA/zwzwdb/datafile/egovcpp.293.874859211 20 ONLINE
+DATA/zwzwdb/datafile/ioop_test.294.879093349 21 ONLINE
+DATA/zwzwdb/datafile/ioop_file_test.295.8790 22 ONLINE
NAME FILE# STATUS
--------------------------------------------- ---------- -------
93537
22 rows selected.
You can see, 18, 19 data files already in the offline state, will now have to do is line data file:
SQL> alter database datafile 18 online;
Database altered.
SQL> alter database datafile 19 online;
Database altered.
Changes are complete, look at the data file status:
SQL> select name,file#,status from v$datafile;
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/zwzwdb/datafile/system.259.855244341 1 SYSTEM
+DATA/zwzwdb/datafile/sysaux.260.855244345 2 ONLINE
+DATA/zwzwdb/datafile/undotbs1.261.855244345 3 ONLINE
+DATA/zwzwdb/datafile/undotbs2.263.855244353 4 ONLINE
+DATA/zwzwdb/datafile/users.264.855244355 5 ONLINE
+DATA/smsmain_def_1.dbf 6 ONLINE
+DATA/smsmain_def_2.dbf 7 ONLINE
+DATA/smsmain_def_3.dbf 8 ONLINE
+DATA/smsmain_def_4.dbf 9 ONLINE
+DATA/smsmain_idx_1.dbf 10 ONLINE
+DATA/smsmain_idx_2.dbf 11 ONLINE
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/smsmain_def_5.dbf 12 ONLINE
+DATA/smsmain_idx_3.dbf 13 ONLINE
+DATA/gszwy_system_1.dbf 14 ONLINE
+DATA/gszwy_system_2.dbf 15 ONLINE
+DATA/gszwy_system_3.dbf 16 ONLINE
+DATA/gszwy_system_4.dbf 17 ONLINE
+DATA/zwzwdb/datafile/goa31.339.895952649 18 ONLINE
+DATA/zwzwdb/datafile/goafile31.340.895952749 19 ONLINE
+DATA/zwzwdb/datafile/egovcpp.293.874859211 20 ONLINE
+DATA/zwzwdb/datafile/ioop_test.294.879093349 21 ONLINE
+DATA/zwzwdb/datafile/ioop_file_test.295.8790 22 ONLINE
NAME FILE# STATUS
--------------------------------------------- ---------- -------
93537
22 rows selected.
You can clearly see, 18, 19 data files in the online state, and the directory already directory under the shared disk point, so far, the data file migration has been completed successfully.