通過EXPDP/IMPDP匯出匯入遠端資料倒本地
有的時候我們不想匯出EXPDP檔案然後FTP到目標伺服器IMPDP 因為這樣會佔用大量的空間,並且浪費時間,我們就可以通過如下的方式
直接將遠端的資料匯入到本地。
首先建立到目標端的DBLINK 使用匯出使用者的使用者名稱
create public database link link33
connect to testimp identified by gelc123123
using '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.45.33)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = yjfcore)
)
)';
如果採用SCHEMAS方式匯出
這裡注意賦予遠端使用者testimp使用者exp_full_database
grant exp_full_database to testimp;
同時賦予目標端使用者testimp2使用者imp_full_database
grant imp_full_database to testimp2;
否則匯入的時候可能報錯
ORA-31631: privileges are required
ORA-39149: cannot link privileged user to non-privileged user
然後可以進行遠端匯入,我這裡也同時完成了匯入到不同的使用者
impdp testimp2/gelc123 job_name=test123_my schemas=testimp remap_schema=testimp:testimp2 network_link=link33 TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=bakdir:backlog.log
注意這裡並沒有dumpfile=bakdir:test.dmp 很顯然這裡並沒有生成任何DMP檔案如此可以節約目標伺服器空間
給出日誌:
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 15.12 MB
Processing object type SCHEMA_EXPORT/USER
ORA-31684: Object type USER:"TESTIMP2" already exists
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
. . imported "TESTIMP2"."TEST2" 127151 rows
. . imported "TESTIMP2"."TEST1" 732 rows
當然這種情況下及有FULL許可權下也可以單表匯入
Starting "TESTIMP2"."TEST123_MY": testimp2/******** job_name=test123_my tables=testimp.TEST1 remap_schema=testimp:testimp2 network_link=link33 TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=bakdir:backlog.log
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 "TESTIMP2"."TEST1" 732 rows
Job "TESTIMP2"."TEST123_MY" successfully completed at 18:27:27
當然也可以不賦予FULL許可權,匯出一個使用者下面的所有OBJECT即可而不都出USER
使用,注意這裡沒有 schemas=testimp
[oradba@yjftestdb01 dmp]$ impdp testimp2/gelc123 job_name=test123_my remap_schema=testimp:testimp2 network_link=link33 TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=bakdir:backlog.log
Import: Release 11.2.0.3.0 - Production on Thu Sep 24 18:16:41 2015
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 "TESTIMP2"."TEST123_MY": testimp2/******** job_name=test123_my remap_schema=testimp:testimp2 network_link=link33 TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=bakdir:backlog.log
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 15.12 MB
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
. . imported "TESTIMP2"."TEST2" 127151 rows
. . imported "TESTIMP2"."TEST1" 732 rows
Job "TESTIMP2"."TEST123_MY" successfully completed at 18:17:12
這裡匯入就沒有使用者的資訊了
Processing object type SCHEMA_EXPORT/USER
ORA-31684: Object type USER:"TESTIMP2" already exists
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
然後測試一下遠端匯入到本地的EXPDP
expdp testimp2/gelc123 job_name=test123_my schemas=testimp network_link=link33 logfile=bakdir:backlog.log dumpfile=bakdir:test.dmp
給出日誌:
Total estimation using BLOCKS method: 15.12 MB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
. . exported "TESTIMP"."TEST2" 12.46 MB 127151 rows
. . exported "TESTIMP"."TEST1" 88.54 KB 732 rows
這樣就可以匯出遠端的資料,一般來說EXPDP是不能匯出遠端的資料到本地的但是使用NETWORK_LINK的方式可以實現,但是EXP就可以簡單的加上
@來匯出遠端的資料倒本地。
直接將遠端的資料匯入到本地。
首先建立到目標端的DBLINK 使用匯出使用者的使用者名稱
create public database link link33
connect to testimp identified by gelc123123
using '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.45.33)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = yjfcore)
)
)';
如果採用SCHEMAS方式匯出
這裡注意賦予遠端使用者testimp使用者exp_full_database
grant exp_full_database to testimp;
同時賦予目標端使用者testimp2使用者imp_full_database
grant imp_full_database to testimp2;
否則匯入的時候可能報錯
ORA-31631: privileges are required
ORA-39149: cannot link privileged user to non-privileged user
然後可以進行遠端匯入,我這裡也同時完成了匯入到不同的使用者
impdp testimp2/gelc123 job_name=test123_my schemas=testimp remap_schema=testimp:testimp2 network_link=link33 TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=bakdir:backlog.log
注意這裡並沒有dumpfile=bakdir:test.dmp 很顯然這裡並沒有生成任何DMP檔案如此可以節約目標伺服器空間
給出日誌:
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 15.12 MB
Processing object type SCHEMA_EXPORT/USER
ORA-31684: Object type USER:"TESTIMP2" already exists
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
. . imported "TESTIMP2"."TEST2" 127151 rows
. . imported "TESTIMP2"."TEST1" 732 rows
當然這種情況下及有FULL許可權下也可以單表匯入
Starting "TESTIMP2"."TEST123_MY": testimp2/******** job_name=test123_my tables=testimp.TEST1 remap_schema=testimp:testimp2 network_link=link33 TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=bakdir:backlog.log
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 "TESTIMP2"."TEST1" 732 rows
Job "TESTIMP2"."TEST123_MY" successfully completed at 18:27:27
當然也可以不賦予FULL許可權,匯出一個使用者下面的所有OBJECT即可而不都出USER
使用,注意這裡沒有 schemas=testimp
[oradba@yjftestdb01 dmp]$ impdp testimp2/gelc123 job_name=test123_my remap_schema=testimp:testimp2 network_link=link33 TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=bakdir:backlog.log
Import: Release 11.2.0.3.0 - Production on Thu Sep 24 18:16:41 2015
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 "TESTIMP2"."TEST123_MY": testimp2/******** job_name=test123_my remap_schema=testimp:testimp2 network_link=link33 TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=bakdir:backlog.log
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 15.12 MB
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
. . imported "TESTIMP2"."TEST2" 127151 rows
. . imported "TESTIMP2"."TEST1" 732 rows
Job "TESTIMP2"."TEST123_MY" successfully completed at 18:17:12
這裡匯入就沒有使用者的資訊了
Processing object type SCHEMA_EXPORT/USER
ORA-31684: Object type USER:"TESTIMP2" already exists
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
然後測試一下遠端匯入到本地的EXPDP
expdp testimp2/gelc123 job_name=test123_my schemas=testimp network_link=link33 logfile=bakdir:backlog.log dumpfile=bakdir:test.dmp
給出日誌:
Total estimation using BLOCKS method: 15.12 MB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
. . exported "TESTIMP"."TEST2" 12.46 MB 127151 rows
. . exported "TESTIMP"."TEST1" 88.54 KB 732 rows
這樣就可以匯出遠端的資料,一般來說EXPDP是不能匯出遠端的資料到本地的但是使用NETWORK_LINK的方式可以實現,但是EXP就可以簡單的加上
@來匯出遠端的資料倒本地。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-1808443/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- expdp遠端匯出資料
- 資料庫泵(expdp/impdp)匯入匯出流程資料庫
- 【EXPDP/IMPDP】使用 EXPDP/IMPDP工具“模糊”匯出和匯入
- expdp impdp 資料庫匯入匯出命令詳解資料庫
- IMPDP匯入遠端資料庫資料庫
- oracle匯入匯出之expdp/impdpOracle
- expdp impdp只匯出匯入viewView
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- expdp與impdp全庫匯出匯入
- Oracle expdp資料泵遠端匯出Oracle
- Oracle expdp/impdp匯出匯入命令及資料庫備份Oracle資料庫
- Oracle expdp/impdp匯入匯出備份資料庫指令碼Oracle資料庫指令碼
- expdp與impdp全庫匯出匯入(二)
- 使用EXPDP/IMPDP匯入匯出表中資料/後設資料測試
- Oracle 12c expdp和impdp匯出匯入表Oracle
- expdp透過db_link遠端匯出
- ORACLE expdp匯出遠端庫指定使用者資料到本地資料庫Oracle資料庫
- 使用impdp network link 跳過expdp直接匯入資料
- 遠端資料庫AWR 匯入到本地分析資料庫
- expdp/impdp中匯出/匯入任務的管理和監控
- 通過impdp匯出索引指令碼索引指令碼
- oracle10g expdp資料泵的bug,按schema匯出,匯入impdp時無jobOracle
- oracle資料庫遠端不落地匯入本地資料庫Oracle資料庫
- 通過cmd視窗匯入匯出mysql資料庫MySql資料庫
- 資料泵在本地匯出資料到遠端資料庫中資料庫
- Oracle 遠端匯出匯入 imp/expOracle
- EXP,EXPDP資料匯入本地效能測試
- 針對資料泵匯出 (expdp) 和匯入 (impdp)工具效能降低問題的檢查表
- Impdp資料泵匯入
- 用exp/imp把遠端資料匯入到本地資料庫中資料庫
- 資料庫遠端檔案匯入資料庫
- 使用資料泵impdp匯入資料
- 資料泵(expdp,impdp)高版本匯入低版本操作例項
- 通過SQLLDR匯入LOB資料SQL
- oracle 10.2.0.4 expdp全庫匯出 和分使用者impdp匯入的記錄Oracle
- expdp匯出表的部分資料
- expdp 使用QUERY 匯出部分資料。