Skip to main content

Hey Guys,

 

I am attempting an oracle out of place restore using commvault and I am receiving the following error :

 

AN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 08/10/2022 19:08:01
ORA-01119: error in creating database file '+DATA1/FINCLERE/DATAFILE/data_D-EBGFINTZ_TS-IX_CRM_PSY_GRP_CI_MIG_SUS_FNO-15'
ORA-17502: ksfdcre:4 Failed to create file +DATA1/FINCLERE/DATAFILE/data_D-EBGFINTZ_TS-IX_CRM_PSY_GRP_CI_MIG_SUS_FNO-15
ORA-15126: component within ASM file name 'data_D-EBGFINTZ_TS-IX_CRM_PSY_GRP_CI_MIG_SUS_FNO-15' exceeds maximum length
RMAN-06956: create datafile failed; retry after removing +DATA1/FINCLERE/DATAFILE/data_D-EBGFINTZ_TS-IX_CRM_PSY_GRP_CI_MIG_SUS_FNO-15 from OS
RMAN> 
Recovery Manager complete.
]
Executing SQL script i ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='+DATA';
ALTER SYSTEM SET log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST';
exit;
 ]
 

 

Does anyone know how to change the maximum length of the datafile setting on the destination DB?

Or if it is possible to edit the datafile name during the restore?

Thanks

Hello @MOGFREY 

This error is an Oracle error, or rather a limitation on the Oracle side. Please refer to the Oracle support article below.

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=208684391366382&id=2208498.1&displayIndex=1&_afrWindowMode=0&_adf.ctrl-state=by9naort7_217#SYMPTOM

APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.2.0.4 and later
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Information in this document applies to any platform.

SYMPTOMS

RMAN Backup on ASM failed with ORA-15126

RMAN-10031: RPC Error: ORA-19624 occurred during call to DBMS_BACKUP_RESTORE.BACKUPPIECECREATE
ORA-19624: operation failed, retry possible
ORA-19504: failed to create file "+<ASM diskgroup>/backup/d-db_00_ch2_ccgperf1_20161124_928735433_14857_1_1"
ORA-17502: ksfdcre:4 Failed to create file +<ASM diskgroup>/backup/d-db_00_ch2_ccgperf1_20161124_928735433_14857_1_1
ORA-15126: component within ASM file name 'd-db_00_ch2_ccgperf1_20161124_928735433_14857_1_1' exceeds maximum length
ORA-06512: at "SYS.DBMS_BACKUP_RESTORE", line 1449
RMAN-10031: RPC Error: ORA-19624 occurred during call to DBMS_BACKUP_RESTORE.BACKUPPIECECREATE

Debug Trace

DBGRPC: krmxrpc - channel db_ch1 kpurpc2 err=19624 db=target proc=SYS.DBMS_BACKUP_RESTORE.BACKUPPIECECREATE excl: 438
DBGRPC: krmxrpc - caloing krmxtrim: with message of length 438: @@@ORA-19624: operation failed, retry possible
DBGRPC: ORA-19504: failed to create file "+<ASM diskgroup>/backup/d-db_00_ch1_ccgperf1_20161125_928871824_14931_1_1"
DBGRPC: ORA-17502: ksfdcre:4 Failed to create file +<ASM diskgroup>/backup/d-db_00_ch1_ccgperf1_20161125_928871824_14931_1_1
DBGRPC: ORA-15126: component within ASM file name 'd-db_00_ch1_ccgperf1_20161125_928871824_14931_1_1' exceeds maximum length
DBGRPC: ORA-06512: at "SYS.DBMS_BACKUP_RESTORE", line 1449

 

CAUSE

The maximum identifier length of 48 characters was exceeded for the backuppiece name in ASM
 
ORA-17502: ksfdcre:4 Failed to create file +<ASM disk group>/backup/d-db_00_ch2_ccgperf1_20161124_928735433_14857_1_1

d-db_00_ch2_ccgperf1_20161124_928735433_14857_1_1    <<<<< 49 characters

Debug trace:

DFORMAT
DBGMISC: 1 FORMAT
DBGMISC: 1 SQSTRING = +<ASM diskgroup>/backup/d-db_00_ch1_%d_%T_%t_%s_%c_%p
DBGMISC: 2 CHSETLM
DBGMISC: 1 CHID = db_ch1
DBGMISC: 2 MXOPEN = 8

Format used is +<ASM disk group>/backup/d-db_00_ch1_%d_%T_%t_%s_%c_%p and this seems to causing the creation of the backup with a file name that is too large for the ASM
 

SOLUTION

Try with different format:

for ex:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '+<ASM diskgroup>/backup/%u_%p_%c';

 

Thank you,
Collin


Reply