始创于2000年 股票代码:831685
咨询热线:0371-60135900 注册有礼 登录
  • 挂牌上市企业
  • 60秒人工响应
  • 99.99%连通率
  • 7*24h人工
  • 故障100倍补偿
您的位置: 网站首页 > 帮助中心>文章内容

Oracle ASM实例同filesystem间的文件传输

发布时间:  2012/9/3 16:41:28

一般来讲,在ASM实例和文件系统之间传输文件,可以采用dbms_transfer_file包和rman实现外,或者FTP方式,FTP方式需要XML DB支持,目前还没有学会,因而先记录下前面三种方式…
1:使用dbms_file_transfer在文件系统和asm实例间传输文件,同样适用于10g

SQL> desc dbms_file_transfer;  PROCEDURE COPY_FILE   Argument Name                  Type                    In/Out Default?   ------------------------------ ----------------------- ------ --------   SOURCE_DIRECTORY_OBJECT        VARCHAR2                IN  SOURCE_FILE_NAME               VARCHAR2                IN  DESTINATION_DIRECTORY_OBJECT   VARCHAR2                IN  DESTINATION_FILE_NAME          VARCHAR2                IN PROCEDURE GET_FILE   Argument Name                  Type                    In/Out Default?   ------------------------------ ----------------------- ------ --------   SOURCE_DIRECTORY_OBJECT        VARCHAR2                IN  SOURCE_FILE_NAME               VARCHAR2                IN  SOURCE_DATABASE                VARCHAR2                IN  DESTINATION_DIRECTORY_OBJECT   VARCHAR2                IN  DESTINATION_FILE_NAME          VARCHAR2                IN PROCEDURE PUT_FILE   Argument Name                  Type                    In/Out Default?   ------------------------------ ----------------------- ------ --------   SOURCE_DIRECTORY_OBJECT        VARCHAR2                IN  SOURCE_FILE_NAME               VARCHAR2                IN  DESTINATION_DIRECTORY_OBJECT   VARCHAR2                IN  DESTINATION_FILE_NAME          VARCHAR2                IN  DESTINATION_DATABASE           VARCHAR2                IN  SQL> select file_name from dba_data_files;   FILE_NAME  --------------------------------------------  +DATA/ogg1/datafile/users.259.773712985  +DATA/ogg1/datafile/undotbs1.258.773712985  +DATA/ogg1/datafile/sysaux.257.773712985  +DATA/ogg1/datafile/system.256.773712985  +DATA/ogg1/datafile/example.265.773713189   SQL> create user transfer_test default tablespace transfer_test identified by 123456 account unlock;  User created.   SQL> create tablespace transfer_test datafile '/u01/app/Oracle/oradata/ogg1/transfer_test01.dbf' size 100M;  Tablespace created.   SQL> create directory  asm_dir as '+DATA/ogg1/datafile';  Directory created.   SQL> create directory  file_dir as '/u01/app/Oracle/oradata/ogg1';  Directory created.   SQL> grant connect,resource to transfer_test;  Grant succeeded.   SQL> create table transfer_test.t1 as select * from dba_source;  Table created.   SQL> analyze table transfer_test.t1 compute statistics;  Table analyzed.   SQL> select count(*) from transfer_test.t1;     COUNT(*)  ----------      633054   SQL> alter tablespace transfer_test offline;  Tablespace altered.   SQL> begin   2  dbms_file_transfer.copy_file('file_dir','transfer_test01.dbf','asm_dir','transfer_test01.dbf');    3  end;    4  /   PL/SQL procedure successfully completed.   [root@oel1 ~]# su - grid  [grid@oel1 ~]$ asmcmd  ASMCMD> cd +data/ogg1/datafile    ASMCMD> ls -l  Type      Redund  Striped  Time             Sys  Name DATAFILE  UNPROT  COARSE   MAR 01 20:00:00  Y    COPY_FILE.267.776809311  DATAFILE  UNPROT  COARSE   MAR 01 20:00:00  Y    EXAMPLE.265.773713189  DATAFILE  UNPROT  COARSE   MAR 01 20:00:00  Y    SYSAUX.257.773712985  DATAFILE  UNPROT  COARSE   MAR 01 20:00:00  Y    SYSTEM.256.773712985  DATAFILE  UNPROT  COARSE   MAR 01 20:00:00  Y    UNDOTBS1.258.773712985  DATAFILE  UNPROT  COARSE   MAR 01 20:00:00  Y    USERS.259.773712985                                              N    transfer_test01.dbf =>    +DATA/OGG1/DATAFILE/COPY_FILE.267.776809311    SQL> alter database rename file '/u01/app/Oracle/oradata/ogg1/transfer_test01.dbf' to    '+data/ogg1/datafile/transfer_test01.dbf';   Database altered.   SQL> alter tablespace transfer_test online;   Tablespace altered.    QL> select file_name from dba_data_files;   FILE_NAME  --------------------------------------------------------------------------------  +DATA/ogg1/datafile/users.259.773712985  +DATA/ogg1/datafile/undotbs1.258.773712985  +DATA/ogg1/datafile/sysaux.257.773712985  +DATA/ogg1/datafile/system.256.773712985  +DATA/ogg1/datafile/example.265.773713189  +DATA/ogg1/datafile/transfer_test01.dbf  6 rows selected.   SQL> select count(*) from transfer_test.t1;     COUNT(*)  ----------      633054   2: 11g的asm实例可以直接使用cp命令来实现,从asm实例的cp帮助信息上看,已经可以直接从本地数据库直接cp到远端数据库了!

ASMCMD> cp /u01/app/Oracle/oradata/ogg1/transfer_test01.dbf +data/ogg1/datafile/test01.dbf  copying /u01/app/Oracle/oradata/ogg1/transfer_test01.dbf -> +data/ogg1/datafile/test01.dbf   ASMCMD> pwd   +data/ogg1/datafile  ASMCMD> ls -l  Type      Redund  Striped  Time             Sys  Name  DATAFILE  UNPROT  COARSE   MAR 01 20:00:00  Y    COPY_FILE.267.776809311  DATAFILE  UNPROT  COARSE   MAR 01 20:00:00  Y    EXAMPLE.265.773713189  DATAFILE  UNPROT  COARSE   MAR 01 20:00:00  Y    SYSAUX.257.773712985  DATAFILE  UNPROT  COARSE   MAR 01 20:00:00  Y    SYSTEM.256.773712985  DATAFILE  UNPROT  COARSE   MAR 01 20:00:00  Y    UNDOTBS1.258.773712985  DATAFILE  UNPROT  COARSE   MAR 01 20:00:00  Y    USERS.259.773712985                                              N    test01.dbf => +DATA/ASM/DATAFILE/test01.dbf.268.776809913                                              N    transfer_test01.dbf =>    +DATA/OGG1/DATAFILE/COPY_FILE.267.776809311 3:使用rman的convert命令来实现,同样适用于10g

[Oracle@oel1 ~]$ rman target /  Recovery Manager: Release 11.2.0.3.0 - Production on Thu Mar 1 20:44:22 2012  Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.  connected to target database: OGG1 (DBID=3952830770)   RMAN> convert datafile '+data/ogg1/datafile/SYSTEM.256.773712985' format    '/u01/app/Oracle/oradata/ogg1/system01.dbf';   Starting conversion at target at 2012-03-01-20:47:08  using channel ORA_DISK_1  channel ORA_DISK_1: starting datafile conversion  input file name=+DATA/ogg1/datafile/system.256.773712985  converted datafile=/u01/app/Oracle/oradata/ogg1/system01.dbf  channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:01:56  Finished conversion at target at 2012-03-01-20:49:07   RMAN> host "ls -lh /u01/app/Oracle/oradata/ogg1/";   total 821M  -rw-r----- 1 Oracle asmadmin 721M Mar  1 20:49 system01.dbf  -rw-r----- 1 Oracle asmadmin 101M Mar  1 20:17 transfer_test01.dbf  host command complete
 


本文出自:亿恩科技【www.enkj.com】

服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]

  • 您可能在找
  • 亿恩北京公司:
  • 经营性ICP/ISP证:京B2-20150015
  • 亿恩郑州公司:
  • 经营性ICP/ISP/IDC证:豫B1.B2-20060070
  • 亿恩南昌公司:
  • 经营性ICP/ISP证:赣B2-20080012
  • 服务器/云主机 24小时售后服务电话:0371-60135900
  • 虚拟主机/智能建站 24小时售后服务电话:0371-60135900
  • 专注服务器托管17年
    扫扫关注-微信公众号
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 亿恩科技 版权所有  地址:郑州市高新区翠竹街1号总部企业基地亿恩大厦  法律顾问:河南亚太人律师事务所郝建锋、杜慧月律师   京公网安备41019702002023号
      0
     
     
     
     

    0371-60135900
    7*24小时客服服务热线