There are two methods to transfer the backup set on ASM to the file system. Method 1: Using rman and rman is a good tool. It is not only a backup function, but also a waste if you only use rman for backup. You can use the backup backupset in rman to meet your requirements. The following is a demo process. Prepare a backupset first. Here I backed up a single archivelog for demonstration. RMAN> backup archivelog sequence 83294; Starting backup at 06-MAY-10using channel ORA_DISK_1channel ORA_DISK_1: starting archive log backupsetchannel ORA_DISK_1: specifying archive log (s) in backup setinput archive log thread = 1 sequence = 83294 recid = 83294 stamp = 718324431 channel ORA_DISK_1: starting piece 1 at 06-MAY-10channel ORA_DISK_1: finished piece 1 at 06-MAY-10piece handle = + DG1/soldb/backup/0dl Export tag = TAG20100506T223536 comment = NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00: 00: 02 Finished backup at 06-MAY-10 view this backupsetRMAN> list backup of archivelog sequence 83294; list of Backup Sets ============================ BS Key Size Device Type Elapsed Time Completion Time --- ---- ----- 8 97.50 K DISK 00:00:01 06-MAY-10BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20100506T223536Piece Name: + DG1/soldb/backup/0dld1gpq_201710000718324538_20100506 List of Archived Logs in backup set 8 Thrd Seq Low SCN Low Time Next SCN Next Time -- --- 1 83294 3111066080 06-MAY-10 3111066263 06-MAY-10 we will use rman to implement the backup set in asm on the file system and use backup backupset. The following RMAN> backup backupset 8 format'/export/home/ oracle/1. dbf'; Starting backup at 06-MAY-10using channel ORA_DISK_1input backupset count = 13 stamp = 718324538 creation_time = 06-MAY-10channel ORA_DISK_1: starting piece 1 at 06-MAY-10channel ORA_DISK_1: backup piece + DG1/soldb/backup/export handle =/export/home/oracle/1.dbf comment = NONEchannel ORA_DISK_1: finished piece 1 at 06-MAY-10channel ORA_DISK_1: backup set complete, elapsed time: 00: 00: 01 Finished backup at 06-MAY-10 View [oracle @ solaris ~] In the File System Pwd/export/home/oracle [oracle @ solaris ~] Ls-al 1. dbf-rw-r -- 1 oracle oinstall 100352 May 6 1. dbf can see that the backupset is already in the file system, and there is only 100 K here. This is a log of my manual archive. It is used for experiments and is not necessary to fill it up. In addition to rman, we can also use copy_file of the dbms_file_transfer package to implement the same process, next let's take a look at this process to first establish directorySQL> create directory sourcedir as '+ DG1/soldb/backup/'; Directory created SQL> create directory destdir as '/export/home/oracle /'; /initialize created SQL> exec dbms_file_transfer.copy_file ('sourcedir', '0dld1gpq _ 00000000718324538_20100506 ', 'destdir', '2. dbf'); PL/SQL procedure successfully complet In this way, we have achieved our goal. View [oracle @ solaris ~] in the directory Pwd/export/home/oracle [oracle @ solaris ~] Ls-al 2. dbf-rw-r -- 1 oracle oinstall 100352 May 6 2.dbf both methods can achieve the goal, but there are still differences. After all, the previous method uses rman, therefore, the List of Backup Sets ================================ BS Key Size --- ---- 8 97.50 K List of Archived logs in backup set 8 Thrd Seq Low SCN Low Time Next SCN Next Time -- --- ---- --- 1 83294 3111066080 06-MAY-10 3111066263 06-MAY-10 Backup Set Copy #2 of backup set 8 Device Type Elapsed Time Completion Time Compressed Tag ---- ------DISK 00:00:01 06-MAY-10 NO TAG20100506T223536 List of Backup Pieces for backup set 8 Copy # 2BP Key Pc # status Piece Name -------- 4 1 AVAILABLE/export/home/oracle/1.dbf Backup Set Copy #1 of backup set 8 Device Type Elapsed Time Completion Time Compressed Tag ------------------ DISK 00:00:01 06-MAY-10 NO TAG20100506T223536 List of Backup Pieces for backup set 8 Copy # 1BP Key Pc # Status Piece Name -------- 3 1 AVAILABLE + DG1/soldb/backup/ 0dld1gpq_201710000718324538_20100506 there is no record of the Second Method