现在使用ASM的用户越来越多了,而ASM最不方便的就是所有的文件都在oracle自己管理的系统里。我们碰到需要将某个文件拷贝出来的时候就比较麻烦,可能要依赖于RMAN,今天客户突然有个需求要拷贝REDO LOG出来,后来查了METALINK,发现有个方法可以用:
create or replace directory SOURCE_DIR as '+DATADG/sfoss/onlinelog/';
create or replace directory ORACLE_DEST as '/tmp/oralog/dest';
BEGIN
dbms_file_transfer.copy_file(source_directory_object =>
'SOURCE_DIR', source_file_name => 'group_1.257.695065683',
destination_directory_object => 'ORACLE_DEST',
destination_file_name => 'redo_1.log');
END;
/
试了一下,确实不错,这样今后就不怕从ASM里拷贝任何文件出来了
说明:1。11g才可以,从文件系统到ASM或从ASM到文件系统都很方便,asmcmd ->cp
2.在生产库有的金融公司是不能允许DBA任意创建对象的(create directory)。
这种情况10g下一般用convert for datafiles and Copy for archivelog.
=================================================================
CONVERT DATAFILE can be used in this manner to copy datafiles even if they are not part of the connected target database.
convert datafile "+DATAFILE/tbs_21.f" format "/tmp/conv_df_%U";
copy archivelog '+data/FINNONE/ARCHIVELOG/2009_07_28/thread_1_seq_58.266.693419455' to '/home/oracle/arch_1_58';
=================================================================
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/18953778/viewspace-676380/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/18953778/viewspace-676380/