I got ” ORA-19504: failed to create file ” error in Oracle database.
ORA-19504: failed to create file
Details of error are as follows.
channel CH14: starting datafile backup set restore
channel CH14: specifying datafile(s) to restore from backup set
channel CH14: restoring datafile 00628 to +DATA/DEVECI19C/datafile/main_01.385.809465371
channel CH14: reading from backup piece rman_DEVECI19C_inc0_2314484_1_867448324
channel CH1: ORA-19870: error while restoring backup piece rman_DEVECI19C_inc0_2314471_1_867448011
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15041: diskgroup space exhausted
failed to create file
This ORA-19504 error is related with the diskgroup space exhausted or Permission of the related directory.
You need to add disk to +DATA diskgroup to solve problem, or if you have chance to delete any files you should delete any files to allocate new spaces.
You can add disk to DATA diskgroup like below script.
ALTER DISKGROUP DATA ADD DISK '/dev/mapper/asmtsk1' NAME DATA_0002 SIZE 102399 M REBALANCE POWER 10;
[oracle@MehmetSalih]$ sqlplus / as sysasm SQL*Plus: Release 12.1.0.2.0 Production on Thu Sep 27 11:02:46 2018 Copyright (c) 1982, 2014, Oracle. All rights reserved. SQL> ALTER DISKGROUP DATA ADD DISK '/dev/mapper/asmtsk1' NAME DATA_0002 SIZE 102399 M REBALANCE POWER 10;
You can add ASM disks using ASMCA tool, and you can read the following post to learn more details about Oracle ASM.
https://ittutorial.org/oracle-automatic-storage-management-2-asm/
Or Sometimes You can try to add “%U” to all the formats starting with as follows.
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/backup/bkp_df%t_s%s_s%p_%U'; RMAN> allocate channel c1 type disk format '/oracle/database/rman/backup/df_%d_%U_%p_%c';
Or other case’s solution is to Change the group of $ORACLE_HOME/bin/oracle (RDBMS_HOME) to asmadmin and also set the permission to 6751.
Do you want to learn Oracle Database for Beginners, then read the following articles.
Oracle Tutorial | Oracle Database Tutorials for Beginners ( Junior Oracle DBA )