expdp属于服务端工具,而exp属于客户端工具,expdp生成的文件默认是存放在服务端的,而exp生成的文件是存放在客户端的
1.expdp username/password@connect_string //对于使用这种格式来说,directory使用源数据库创建的,生成的文件存放在服务端。
如何将生成的文件放在目标数据库而不放在源数据库呢,在expdp中使用network_link
2.
a. 创建到服务端的dblink
conn aa/aacc
create database link link_name connect to username identified by password using 'connect_string' ;//username和password是server端的
b.
conn / as sysdba
create or replace directory dir as 'directory';
grant read,write on directory dir to username;
c.expdp username2/password2 directory=dir network_link=link_name ... //这里的username2用创建dblink的那个用户aa,directory也是目标数据库创建的
比如在本机expdp远程服务器的数据库,先在本机创建到服务端的dblink,然后创建directory及授权,然后expdp useranme2/password2 .....
3.如果想不生成dmp文件而直接导入一个数据库,原理和2类似,直接使用impdp带network_link ,这样可以直接impdp,而绕过了expdp的步骤