建立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;