My clone from active database failed at the very end of the procedure with
RMAN-04014: startup failed: ORA-27069: attempt to do I/O beyond the range of the fileThis happened after media recovery was complete, and after the oracle instance was started, as can be seen from the log file below:
RMAN-08181: media recovery complete, elapsed time: 00:00:21 RMAN-03091: Finished recover at 06-FEB-19 RMAN-08031: released channel: c1 RMAN-08031: released channel: c2 RMAN-08031: released channel: aux1 RMAN-08031: released channel: aux2 RMAN-06196: Oracle instance started Total System Global Area 22749904896 bytes Fixed Size 8632928 bytes Variable Size 3758097824 bytes Database Buffers 18924699648 bytes Redo Buffers 58474496 bytes RMAN-08161: contents of Memory Script: { sql clone "alter system set db_name = ''TESTDB01'' comment= ''Reset to original value by RMAN'' scope=spfile"; sql clone "alter system reset db_unique_name scope=spfile"; } RMAN-08162: executing Memory Script RMAN-06162: sql statement: alter system set db_name = ''TESTDB01'' comment= ''Reset to original value by RMAN'' scope=spfile RMAN-06162: sql statement: alter system reset db_unique_name scope=spfile RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of Duplicate Db command at 02/06/2019 04:39:51 RMAN-05501: aborting duplication of target database RMAN-04014: startup failed: ORA-27069: attempt to do I/O beyond the range of the file Additional information: 51 Additional information: 1 Additional information: 48
This is a bummer, espescially if you've cloned a very large database and have waited for a long time for it to finish.
There is very little information about this error, but a workaround to save the freshly cloned auxiliary database, is to recreate the controlfile from script
The workaround is outlined in one of my older posts, but basically it boils down to the following steps:
1. Go from the source database, generate a "create controlfile" script
2. Transfer it to the auxiliary server
3. Edit it to suit the auxiliary database data files
4. Remove the controlfile files from the auxiliary server
5. Startup the instance in nomount mode and recreate the controlfile
6. Open the database with the resetlog option