当前位置:编程问答 > Unix/Linux >

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

远程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 


sql 
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  进入命令窗口 
 

 

 创建目录 
 

 注意指定的目录E:\oracle\ 文件夹一定要有,没有先创建 
赋予读写权限 


 我们可以通过PL/SQL 查看修改后的目录 
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; 
 

 
3)通过B端用户 xxx/xxx导出服务器端A中xxx用户表
Sql代码 
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\目录下
 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,