[20130415]資料泵與db link.txt
[20130415]資料泵與db link.txt
資料泵是10g以後採用的新特性,按照一些介紹速度比exp/imp快。以前我總是成對的使用它,也就是先expdp匯出資料,然後再傳輸到新
的伺服器,然後在impdp匯入資料,這樣的過程明顯不是很快,特別是匯出檔案很大的情況下,速度並沒有感覺快到哪裡,如果資料泵加
上db link,這樣僅僅使用impdp匯入就可以,省去了前面的步驟。
自己做一個測試:
測試資料從10g伺服器到11g的測試機的匯入情況:
1.測試環境與配置如下:
--測試機器A(11g),IP=testa:
--測試透過,能透過db link連線。
--測試機器B(10g),IP=testb:
2.首先使用資料泵的命令方式:
--testa上執行:
--引號加的真麻煩,oracle真變態!
--等待一下,看看資料是否過來。可以檢查發現表T1的資料,索引以及觸發器的相關內容全部過來了。
--另外我的測試如果在testa上T1表存在,是無法匯入的。
3.使用命令列impdp(在testa上執行):
4.這種方式僅僅需要impdp就可以,唯獨要注意目的表是否存在,以及方向不要搞錯。
5.另外要注意db link,如果不在需要最好刪除。
資料泵是10g以後採用的新特性,按照一些介紹速度比exp/imp快。以前我總是成對的使用它,也就是先expdp匯出資料,然後再傳輸到新
的伺服器,然後在impdp匯入資料,這樣的過程明顯不是很快,特別是匯出檔案很大的情況下,速度並沒有感覺快到哪裡,如果資料泵加
上db link,這樣僅僅使用impdp匯入就可以,省去了前面的步驟。
自己做一個測試:
測試資料從10g伺服器到11g的測試機的匯入情況:
1.測試環境與配置如下:
--測試機器A(11g),IP=testa:
SQL> @ver
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
CREATE PUBLIC DATABASE LINK "TESTB.COM" CONNECT TO scott IDENTIFIED BY xxxx USING 'testb:1521/orcl';
SQL> select * from dual@testb.com;
D
-
X
--測試透過,能透過db link連線。
--測試機器B(10g),IP=testb:
SQL> select * from v$version where rownum<=1;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
--以scott使用者建立一張表:
create table t1 as select rownum id ,'test' name from dual connect by level<=1000;
create unique index pk_t1 on t1(id);
alter table t1 add constraint pk_t1 primary key (id);
create or replace trigger tr_t
before insert on t1
referencing new as new old as old
for each row
declare
begin
null;
end ;
/
2.首先使用資料泵的命令方式:
--testa上執行:
var n number;
exec :n := dbms_datapump.open('IMPORT','TABLE','TESTB.COM');
exec dbms_datapump.metadata_filter(:n,'SCHEMA_LIST','''SCOTT''');
exec dbms_datapump.metadata_filter(:n,'NAME_LIST','''T1''');
exec dbms_datapump.start_job(:n);
commit ;
--引號加的真麻煩,oracle真變態!
--等待一下,看看資料是否過來。可以檢查發現表T1的資料,索引以及觸發器的相關內容全部過來了。
--另外我的測試如果在testa上T1表存在,是無法匯入的。
3.使用命令列impdp(在testa上執行):
--drop table t1 purge ;
$ impdp scott/xxxx DIRECTORY=DATA_PUMP_DIR LOGFILE=t1.log NETWORK_LINK=testb.com TABLES=t1
Import: Release 11.2.0.3.0 - Production on Mon Apr 15 16:51:10 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "SCOTT"."SYS_IMPORT_TABLE_01": scott/******** DIRECTORY=DATA_PUMP_DIR LOGFILE=t1.log NETWORK_LINK=testb.com TABLES=t1 */
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 128 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . imported "SCOTT"."T1" 1000 rows
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/TRIGGER
Job "SCOTT"."SYS_IMPORT_TABLE_01" successfully completed at 16:51:17
4.這種方式僅僅需要impdp就可以,唯獨要注意目的表是否存在,以及方向不要搞錯。
5.另外要注意db link,如果不在需要最好刪除。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-758521/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料泵
- ORACLE 資料泵Oracle
- oracle資料泵Oracle
- Oracle資料泵的備份與恢復Oracle
- 殺停資料泵
- oracle 資料泵解析Oracle
- 資料泵的使用
- 資料泵 impdp 操作
- 資料泵檔案
- 資料泵小bug
- oracle之資料泵Oracle
- db2 建立資料庫與資料放置DB2資料庫
- 資料泵引數檔案用於執行資料泵命令
- 資料庫升級之-資料泵資料庫
- 使用資料泵impdp匯入資料
- 資料泵造成的資料損失
- 【DB筆試面試164】在Oracle中,如何徹底停止expdp資料泵程式?筆試面試Oracle
- Impdp資料泵匯入
- Oracle 資料泵的使用Oracle
- oracle 資料泵引數Oracle
- 資料泵用法筆記筆記
- 對比資料泵與原始匯入匯出工具(五)
- 對比資料泵與原始匯入匯出工具(四)
- 對比資料泵與原始匯入匯出工具(三)
- 對比資料泵與原始匯入匯出工具(八)
- 對比資料泵與原始匯入匯出工具(七)
- 對比資料泵與原始匯入匯出工具(六)
- 資料泵重建使用者
- 資料泵匯出匯入
- 正確停止資料泵程式
- 資料泵基礎(impdp/expdp)
- EXPDP資料泵使用方法
- 海量資料處理_資料泵分批資料遷移
- Oracle資料庫(資料泵)遷移方案(上)Oracle資料庫
- Oracle資料庫(資料泵)遷移方案(下)Oracle資料庫
- 使用資料泵工具expdp工具匯出資料
- 【移動資料】data pump(上) 資料泵概述
- 資料泵匯出資料包錯處理