远程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
经常用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)))';
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 查看修改后的目录
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;
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
filesize=50m network_link=db209
cmd 执行以下命令
数据 XXX01.DMP XXXX02.DMP ... 和日志写在E:\oralce\目录下
数据 XXX01.DMP XXXX02.DMP ... 和日志写在E:\oralce\目录下