本文介绍如何从ASM磁盘中拷贝文件到本地文件系统<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
测试环境:ORACLE 10.2.0.4 + ASM
1、 在目标数据库上创建一个(源)目录(source_dir)
SQL> create or replace directory source_dir as '+xiner_data/xiner/datafile';ITPUB个人空间5cqRpa@3`Directory created.
2、 在目标数据库上创建一个(目的)目录
SQL> create or replace directory data_dir as '/home/oracle/wangz';ITPUB个人空间d,l m,jhDP,]7[Directory created.
3、 执行DBMS_FILE_TRANSFER包
SQL> BEGINS"S+t i%js#`1R0dbms_file_transfer.copy_file(ITPUB个人空间)wQ1I5N z(F-Xasource_directory_object =>'source_dir',h;i0hiQc)w/[l&b0source_file_name => 'OCPTBS.268.745970939',ITPUB个人空间(w$[U8i _1U^un4idestination_directory_object => 'data_dir',9U/h,h|u;xuk;Lv-Dk0destination_file_name => 'OCPTBS.268.745970939');K%{1TZ,v3wq0END;G qCt tI G0/
PL/SQL procedure successfully completed.
以上步骤就可以将ASM磁盘中的文件OCPTBS.268.745970939拷贝到本地文件系统/home/oracle/wangz目录中。
可以查询dba_directories查看所有directory.SQL> select * from dba_directories;可以使用drop directory删除这些路径.SQL> drop directory exp_dir;
=====================================================
11g 就不用这么费劲了,asmcmd 下可以直接cp命令实现asm和文件系统之间文件的拷贝, 但是也不是什么文件都可以传,asm只支持oracle的文件使用cp命令,如控制文件,数据文件,redo文件等
另外 asmcmd下 命令很实用的 lsdg
以及11g新命令 lsdsk 查看asm的磁盘构成,都很实用。