ASM, 文件系统
在itpub上,看到一个问题,有关asm上的备份集里的文件的传输的。看到有关asm的提问越来越多了,也可以感觉到asm越来越使用的普及了。 该问题在http://www.itpub.net/thread-1299334-1-1.html 其中网友提出的最后的疑问应该是很多使用asm的朋友关心的。 我备份出来的是这个样子: +DDGG4/full_racdb1_01ld1sbj_1 没有办法像操作系统那样在+DDGG4下面再建立子目录啊? 另外,这个本地的 +DDGG4/full_racdb1_01ld1sbj_1 ,我要copy一份到异地,怎么copy ? 第一个问题,我在以前的文件里提到过很多次了, 方法可以用asmcmd,或者是直接在asm实例里用alter diskgroup add directory来实现。 这里后面的一个问题也许更是普遍的。由于asm是介于raw devices和os之间的一种方式,我们无法用类似os里的文件管理命令来实现,不过这个在11g r2里已经解决了。这里我们下面主要是针对11g r2之前的版本的。 方法有两个。 方法一:使用rman,rman是一个非常好的工具,不仅仅是备份的作用,如果你只用rman作备份的话,有些浪费了。 通过rman里的backup backupset可以达到用户的要求。 下面是演示过程。 先准备一个backupset。 这里我备份了单个的archivelog来做演示。 RMAN> backup archivelog sequence 83294; Starting backup at 06-MAY-10 using channel ORA_DISK_1 channel ORA_DISK_1: starting archive log backupset channel ORA_DISK_1: specifying archive log(s) in backup set input archive log thread=1 sequence=83294 recid=83294 stamp=718324431 channel ORA_DISK_1: starting piece 1 at 06-MAY-10 channel ORA_DISK_1: finished piece 1 at 06-MAY-10 piece handle=+DG1/soldb/backup/0dld1gpq_1_1_718324538_20100506 tag=TAG20100506T223536 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 Finished backup at 06-MAY-10 查看该backupset RMAN> list backup of archivelog sequence 83294; List of Backup Sets =================== BS Key Size Device Type Elapsed Time Completion Time ——- ———- ———– ———— ————— 8 97.50K DISK 00:00:01 06-MAY-10 BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20100506T223536 Piece Name: +DG1/soldb/backup/0dld1gpq_1_1_718324538_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 下面我们使用rman把这个在asm里的备份集做到文件系统上使用 backup backupset就可以了 如下 RMAN> backup backupset 8 format ‘/export/home/oracle/1.dbf’; Starting backup at 06-MAY-10 using channel ORA_DISK_1 input backupset count=13 stamp=718324538 creation_time=06-MAY-10 channel ORA_DISK_1: starting piece 1 at 06-MAY-10 channel ORA_DISK_1: backup piece +DG1/soldb/backup/0dld1gpq_1_1_718324538_20100506 piece handle=/export/home/oracle/1.dbf comment=NONE channel ORA_DISK_1: finished piece 1 at 06-MAY-10 channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 06-MAY-10 下面到文件系统下查看 [oracle@solaris ~]pwd /export/home/oracle [oracle@solaris ~]ls -al 1.dbf -rw-r—– 1 oracle oinstall 100352 May 6 22:40 1.dbf 可以看到backupset已经在文件系统了,这里只有100K,这是我手工archive的一个日志,拿来做实验用的,没必要写满。 除了使用rman,我们还可以使用dbms_file_transfer这个包的copy_file来实现同样的过程,下面看看这个过程 先建立directory SQL> create directory sourcedir as ‘+DG1/soldb/backup/’; Directory created SQL> create directory destdir as ‘/export/home/oracle/’;/0dld1gpq_1_1_718324538_20100506 Directory created SQL> exec dbms_file_transfer.copy_file(’sourcedir’, ‘0dld1gpq_1_1_718324538_20100506′, ‘destdir’, ‘2.dbf’); PL/SQL procedure successfully completed 这样我们已经完成了我们的目标了。 在目录下查看查看 [oracle@solaris ~]pwd /export/home/oracle [oracle@solaris ~]ls -al 2.dbf -rw-r—– 1 oracle oinstall 100352 May 6 22:45 2.dbf 这两种方法都可以达到目的,但是还是有差异的,毕竟前一种方法是用rman的,所以rman里留下了记录 List of Backup Sets =================== BS Key Size ——- ———- 8 97.50K 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 #2 BP 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 #1 BP Key Pc# Status Piece Name ——- — ———– ———- 3 1 AVAILABLE +DG1/soldb/backup/0dld1gpq_1_1_718324538_20100506 这里是没有第二个方法的记录的 |
***相关主题****************************************
ASM上的备份集如何转移到文件系统中
ASM的一张体系结构简图
RAC环境在ASM上创建表空间出错ORA-569
A peek Inside Oracle ASM Metadata
asm中template特性测试!
Diskgroup 的rebalance power
v$asm_operation
RAC 注册ASM instance 失败
使用kfed工具查看ASM disk header信息
ASM不能发现磁盘的一种情况的处理[KFED-00303]
本文转自海天一鸥博客园博客,原文链接:http://www.cnblogs.com/sgsoft/archive/2011/03/03/1969539.html,如需转载请自行联系原作者