远程expdp network_link导出远程数据库到本地文件

       经常用EXP imp 导出导入oracle 数据库,但是效率和性能不高。很多辅助功能不强大,比如文件动态分割就做的不够好。

     新的expdp 和impdp 提供更强大的功能。在客户端使用EXPDP工具之后,导出的DUMP文件将会在服务端生成。但是结合EXPDP的NETWORK_LINK参数也可以将DUMP文件在客户端生成。

     现将远程服务器上数据库文件通过NETWORK_LINK导出到本地

       服务器A(192.168.3.209)

     服务器B(127.0.0.1)

      现在以A为服务器端,B为客户端进行实验

       1)在服务器B上创建一个连接到A的数据库链接

             我们通过pl/sql 建立DB_LIK 

             

远程expdp network_link导出远程数据库到本地文件_第1张图片
 

sql 

-- Create database link 
create database link DB209.REGRESS.RDBMS.DEV.US.ORACLE.COM
  connect to xxx
  using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.209)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = XXX)))';

 2)创建目录,存放DUMP文件。

     cmd  进入命令窗口 

     
远程expdp network_link导出远程数据库到本地文件_第2张图片
  
远程expdp network_link导出远程数据库到本地文件_第3张图片
  创建目录 

  

  注意指定的目录E:\oracle\ 文件夹一定要有,没有先创建 

赋予读写权限 



   我们可以通过PL/SQL 查看修改后的目录 

 

 SELECT privilege, directory_name, DIRECTORY_PATH
  FROM user_tab_privs t, all_directories d
 WHERE t.table_name(+) = d.directory_name
 ORDER BY 2, 1;

   
远程expdp network_link导出远程数据库到本地文件_第4张图片
 3)通过B端用户 xxx/xxx导出服务器端A中xxx用户表

expdp xxx/xxx@xxxx directory=dump dumpfile=aaa%u.dmp logfile=aa.log filesize=50m network_link=db209

    cmd 执行以下命令

    数据 XXX01.DMP XXXX02.DMP ... 和日志写在E:\oralce\目录下

   
 

你可能感兴趣的:(NetWork)