Skip to content
Home » Oracle Database » How to Resolve ORA-19505: failed to identify file

How to Resolve ORA-19505: failed to identify file

ORA-19505

There're two error patterns of ORA-19505 in this post.

  1. Cloning a PDB
  2. Duplicating a Database

1. Cloning a PDB

Tried to clone a Pluggable Database (PDB) to another Container Database (CDB), but it failed with ORA-19505.

SQL> create pluggable database ORCLPDB from ORCLPDB@ORCLPDB_LK storage unlimited tempfile reuse file_name_convert=('ORCLCDB1','ORCLCDB2') parallel 16;
create pluggable database ORCLPDB from ORCLPDB@ORCLPDB_LK storage unlimited tempfile reuse file_name_convert=('ORCLCDB1','ORCLCDB2') parallel 16
*
ERROR at line 1:
ORA-65169: error encountered while attempting to copy file +DATA/ORCLCDB1/ORCLPDB/erptbs2_08.dbf
ORA-17628: Oracle error 19505 returned by remote Oracle server
ORA-19505: failed to identify file ""

Eventually, I found the space is exhausted. In this case, it's ASM disk group DATA.

[grid@orclpdb2 grid]$ asmcmd lsdg DATA
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304  16777216     8456                0            8456              0             N  DATA/

As we can see, we have only around 8GB left out of 16TB, the space is not enough.

The solution is to add some space or remove some data files from the source PDB. In this case, I chose the latter one.

2. Duplicating a Database

When I tried to duplicate a target database to an auxiliary one by this run block.

RUN {
  ALLOCATE AUXILIARY CHANNEL c1 DEVICE TYPE DISK;
  ALLOCATE AUXILIARY CHANNEL c2 DEVICE TYPE DISK;
  ALLOCATE AUXILIARY CHANNEL c3 DEVICE TYPE DISK;
  ALLOCATE AUXILIARY CHANNEL c4 DEVICE TYPE DISK;
  DUPLICATE TARGET DATABASE
  FOR STANDBY
  DORECOVER
  NOFILENAMECHECK;
}

As you can see, this run block indicated that the duplication should use a most recent backup set to accomplish this with disk channels . But I got the errors:

...
channel c1: reading from backup piece /u01/app/oracle/recovery_area/DB11204/backupset/2017_03_01/o1_mf_ncsnf_TAG20170301T232055_dcfsrj3d_.bkp
channel c1: ORA-19870: error while restoring backup piece /u01/app/oracle/recovery_area/DB11204/backupset/2017_03_01/o1_mf_ncsnf_TAG20170301T232055_dcfsrj3d_.bkp
ORA-19505: failed to identify file "/u01/app/oracle/recovery_area/DB11204/backupset/2017_03_01/o1_mf_ncsnf_TAG20170301T232055_dcfsrj3d_.bkp"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

This is because the auxiliary database can't SEE the backup files from its standing. So I copied the backup files to the same location of the auxiliary database and make it able to SEE the backup files. That's how we solve ORA-19505.

2 thoughts on “How to Resolve ORA-19505: failed to identify file”

Leave a Reply

Your email address will not be published. Required fields are marked *