重庆思庄Oracle、Redhat认证学习论坛

标题: expdp通过network_mode导出数据到本地 [打印本页]

作者: 郑全    时间: 2016-6-28 15:32
标题: expdp通过network_mode导出数据到本地
expdp通过network_mode导出数据到本地
在11g 中,数据库数据量比较大,有几个t,进行数据导出,如果使用exp进行导出,一个是速度比较慢,不能使用并行等,同时,一些未分配段的表,无法直接导出,
使用expdp导出,默认只能导出到服务器本机,能否导出到另一台机器呢,答案是肯定的,我只需要使用网络模式,即可实现.
比如我们这里有两个机器
服务器a,服务器b
服务器b上有一个e盘,10t空间,服务器a上没有空闲空间
我们在服务器b上导出服务器a的数据,需要在服务器b上建立到服务器a的数据库连接:
1.在服务器b上建立连接串
  sql>conn / as sysdba
  sql>create database link dlink_to_a
      connect to system
      identified by oracle
      using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)
(HOST = 192.168.10.100)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME
  = orcl)))'
  
2.在服务器b上建立到本地的目录
  sql>create directory dir_expdp as 'e:\dbback\';
3.在服务器b上执行expdp
  expdp '/ as sysdba' directory=dir_expdp dumpfile=full%U.dmp  network_link=dlink_to_a parallel=8 full=y  logfile=full.log
  
之后,在服务器b上的e:\dbback\下面就会发现多了8个文件,并不停的增长,说明导出没有问题 .同时,发现在本地数据库中多了8个导出进程.
SQL> select sid,username,program,module,action,status from v$session where module='Data Pump Worker';
SQL> r
       SID USERNAME             PROGRAM              MODULE               ACTION                           STATUS
---------- -------------------- -------------------- -------------------- -------------------------------- --------
        12 SYS                  ORACLE.EXE (DW01)    Data Pump Worker     SYS_EXPORT_FULL_01               ACTIVE
        15 SYS                  ORACLE.EXE (DW03)    Data Pump Worker     SYS_EXPORT_FULL_01               ACTIVE
        18 SYS                  ORACLE.EXE (DW00)    Data Pump Worker     SYS_EXPORT_FULL_01               ACTIVE
        21 SYS                  ORACLE.EXE (DW04)    Data Pump Worker     SYS_EXPORT_FULL_01               ACTIVE
        26 SYS                  ORACLE.EXE (DW07)    Data Pump Worker     SYS_EXPORT_FULL_01               ACTIVE
       200 SYS                  ORACLE.EXE (DW05)    Data Pump Worker     SYS_EXPORT_FULL_01               ACTIVE
       399 SYS                  ORACLE.EXE (DW02)    Data Pump Worker     SYS_EXPORT_FULL_01               ACTIVE
       601 SYS                  ORACLE.EXE (DW06)    Data Pump Worker     SYS_EXPORT_FULL_01               ACTIVE
8 rows selected
在a机这边,
SQL> select sid,username,program,module,status from v$session where module='ORACLE.EXE' and USERNAME='ORACLE';
       SID USERNAME             PROGRAM              MODULE               STATUS
---------- -------------------- -------------------- -------------------- --------
      1141 ORACLE                ORACLE.EXE           ORACLE.EXE           INACTIVE
      1461 ORACLE                ORACLE.EXE           ORACLE.EXE           ACTIVE
      2155 ORACLE                ORACLE.EXE           ORACLE.EXE           ACTIVE
      2465 ORACLE                ORACLE.EXE           ORACLE.EXE           INACTIVE
      2662 ORACLE                ORACLE.EXE           ORACLE.EXE           ACTIVE
      
      






欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2