1. 程式人生 > >oracle遠程導出/導入

oracle遠程導出/導入

impdp insert connected oracle數據 空間 st2 配置 rec 文件導入

創建db_link,遠程導出/導入。expdp/impdp

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 = 遠程服務名)
)
)

2.創建dblink

SQL> create database link local_test2db connect to system identified by oracle using ‘TEST2DB‘;

Database link created.

SQL> select * from [email protected]_test2db;

D
-
X

3.創建導出臨時目錄:
SQL> create or replace directory dumpdir as ‘/oradata/dump‘;

Directory created.

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 [email protected]

/* */_test2db;
D
-
X
SQL> quit

5.遠程導出:

按用戶:expdp system/oracle network_link=local_test2db directory=dumpdir dumpfile=test.dmp logfile=test.log SCHEMAS=users

6.遠程導入:

遠程導入,需要將dmp文件拷到遠程服務器上,才能導入,否責不可以導入。或者將遠程導出的庫導入到本地庫中,再通過dblink的方式傳入遠程庫,雙方都有dblink。

如遠程主庫磁盤空間有限,無法拷到遠程主庫磁盤上,比較好的方式是NFS掛載該服務器磁盤到主庫磁盤上。再直接導入。

如果通過遠程導入方式,可將導出的dmp文件導入到本地庫中。然後在另一端DB庫中遠程插入,如:insert into table select * from [email protected];

oracle遠程導出/導入