建立db_link,远程导出/导入。expdp/impdphtml
Oracle数据库本地磁盘空间有限,或应用系统的须要,会经过远程的方式导出数据库。在oracle当中,exp远程导库的速度太慢,而expdp又没法直接经过远程导库。所以须要建立db_link远程链接后,才能使用expdp远程导库。详细步骤以下:数据库
1.在本地库的配置文件中加如配置:服务器
tnames.ora增长
TEST2DB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 远程主机IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 远程服务名)
)
)oracle
2.建立dblinkide
SQL> create database link local_test2db connect to system identified by oracle using 'TEST2DB';
Database link created.
SQL> select * from dual@local_test2db;
D
-
Xui
3.建立导出临时目录:
SQL> create or replace directory dumpdir as '/oradata/dump';
Directory created.htm
4.受权用户,通常用system用户。
[html] view plain copy 在CODE上查看代码片派生到个人代码片
SQL> grant read,write on directory dumpdir to system;
Grant succeeded.
SQL> conn system/oracle
Connected.
SQL> select * from dual@local_test2db;
D
-
X
SQL> quitit
5.远程导出:table
按用户:expdp system/oracle network_link=local_test2db directory=dumpdir dumpfile=test.dmp logfile=test.log SCHEMAS=userstest
6.远程导入:
远程导入,须要将dmp文件拷到远程服务器上,才能导入,否责不能够导入。或者将远程导出的库导入到本地库中,再经过dblink的方式传入远程库,双方都有dblink。
如远程主库磁盘空间有限,没法拷到远程主库磁盘上,比较好的方式是NFS挂载该服务器磁盘到主库磁盘上。再直接导入。
若是经过远程导入方式,可将导出的dmp文件导入到本地库中。而后在另外一端DB库中远程插入,如:insert into table select * from table@testdb;