从ASM磁盘中拷贝文件到本地文件系统

本文介绍如何从ASM磁盘中拷贝文件到本地文件系统
测试环境: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> BEGIN
S"S+t i%js#`1R0dbms_file_transfer.copy_file(ITPUB个人空间)wQ1I5N z(F-Xa
source_directory_object =>'source_dir',
h;i0hiQc)w/[l&b0source_file_name => 'OCPTBS.268.745970939',ITPUB个人空间(w$[U8i _1U^un4i
destination_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的磁盘构成,都很实用。


 

你可能感兴趣的:(ASM,oracle)