【IMPDP】同一資料庫例項不同使用者間資料遷移複製——NETWORK_LINK引數
如何快速的複製一個使用者的資料到另外一個使用者(這個使用者可能在不同的資料庫中)?
一般答案:使用EXP(EXPDP)與IMP(IMPDP)相結合完成使用者資料的匯入和匯出
高階方法:IMPDP工具提供的NETWORK_LINK引數可以一步到位的完成此項艱鉅的任務。
這種方法非常類似於使用CTAS方法在表複製中的應用,只不過這裡我們實現的是使用者間的資料複製。
使用這種方法的一般步驟如下:
a.建立database link;
b.使用IMPDP的network_link、schemas和remap_schema相結合完成使用者的資料的遷移;
真實的感受一下此項技術帶給我們的快樂。
實現案例:同一個例項中不同使用者間的遷移複製。
1.建立指向自身的DATABASE LINK
1)確認tnsnames.ora檔案中的連線串
secooler@secDB /home/oracle$ cat $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /oracle/ora11gR2/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
SECOOLER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = secDB)(PORT = 1526))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = secooler)
)
)
2)在資料庫系統中建立一個指向自身的DATABASE LINK
sys@secooler> create public database link dblink_to_myself connect to system identified by sys using 'SECOOLER';
Database link created.
2.複製sec使用者的資料到secooler使用者
1)確認sec使用者下的T表及其資料量
sys@secooler> conn sec/sec
Connected.
sec@secooler> select * From cat;
TABLE_NAME TABLE_TYPE
------------------------------ -----------
T TABLE
sec@secooler> select count(*) from t;
COUNT(*)
----------
71325
2)檢視secooler使用者
sys@secooler> conn secooler/secooler
Connected.
secooler@secooler> select * from cat;
no rows selected
此時secooler使用者中不包含任何T表資訊。
3)使用IMPDP工具實現資料從sec使用者向secooler使用者複製的功能
secooler@secDB /home/oracle$ impdp system/sys network_link=dblink_to_myself schemas=sec remap_schema=sec:secooler
Import: Release 11.2.0.1.0 - Production on Thu Apr 8 10:01:16 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
Starting "SYSTEM"."SYS_IMPORT_SCHEMA_01": system/******** network_link=dblink_to_myself schemas=sec remap_schema=sec:secooler
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 9 MB
Processing object type SCHEMA_EXPORT/USER
ORA-31684: Object type USER:"SECOOLER" 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 "SECOOLER"."T" 71325 rows
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Job "SYSTEM"."SYS_IMPORT_SCHEMA_01" completed with 1 error(s) at 10:02:45
3.檢視secooler使用者資料,驗收遷移成果
secooler@secDB /home/oracle$ sqlplus secooler/secooler
SQL*Plus: Release 11.2.0.1.0 Production on Thu Apr 8 10:04:55 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
secooler@secooler> select * from cat;
TABLE_NAME TABLE_TYPE
------------------------------ -----------
T TABLE
secooler@secooler> select count(*) from t;
COUNT(*)
----------
71325
令人激動地時刻到了,sec使用者下的T表及其資料已經成功的“複製”到了secooler使用者中。
4.小結
使用IMPDP工具完成使用者資料複製的優點:
1)節省了大量的磁碟空間,因為不用生成中間的dump檔案;
2)操作簡便,步驟精簡;
3)因為操作環節的減少,整個操作過程不易出錯。
Good luck.
secooler
10.04.07
-- The End --
一般答案:使用EXP(EXPDP)與IMP(IMPDP)相結合完成使用者資料的匯入和匯出
高階方法:IMPDP工具提供的NETWORK_LINK引數可以一步到位的完成此項艱鉅的任務。
這種方法非常類似於使用CTAS方法在表複製中的應用,只不過這裡我們實現的是使用者間的資料複製。
使用這種方法的一般步驟如下:
a.建立database link;
b.使用IMPDP的network_link、schemas和remap_schema相結合完成使用者的資料的遷移;
真實的感受一下此項技術帶給我們的快樂。
實現案例:同一個例項中不同使用者間的遷移複製。
1.建立指向自身的DATABASE LINK
1)確認tnsnames.ora檔案中的連線串
secooler@secDB /home/oracle$ cat $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /oracle/ora11gR2/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
SECOOLER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = secDB)(PORT = 1526))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = secooler)
)
)
2)在資料庫系統中建立一個指向自身的DATABASE LINK
sys@secooler> create public database link dblink_to_myself connect to system identified by sys using 'SECOOLER';
Database link created.
2.複製sec使用者的資料到secooler使用者
1)確認sec使用者下的T表及其資料量
sys@secooler> conn sec/sec
Connected.
sec@secooler> select * From cat;
TABLE_NAME TABLE_TYPE
------------------------------ -----------
T TABLE
sec@secooler> select count(*) from t;
COUNT(*)
----------
71325
2)檢視secooler使用者
sys@secooler> conn secooler/secooler
Connected.
secooler@secooler> select * from cat;
no rows selected
此時secooler使用者中不包含任何T表資訊。
3)使用IMPDP工具實現資料從sec使用者向secooler使用者複製的功能
secooler@secDB /home/oracle$ impdp system/sys network_link=dblink_to_myself schemas=sec remap_schema=sec:secooler
Import: Release 11.2.0.1.0 - Production on Thu Apr 8 10:01:16 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
Starting "SYSTEM"."SYS_IMPORT_SCHEMA_01": system/******** network_link=dblink_to_myself schemas=sec remap_schema=sec:secooler
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 9 MB
Processing object type SCHEMA_EXPORT/USER
ORA-31684: Object type USER:"SECOOLER" 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 "SECOOLER"."T" 71325 rows
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Job "SYSTEM"."SYS_IMPORT_SCHEMA_01" completed with 1 error(s) at 10:02:45
3.檢視secooler使用者資料,驗收遷移成果
secooler@secDB /home/oracle$ sqlplus secooler/secooler
SQL*Plus: Release 11.2.0.1.0 Production on Thu Apr 8 10:04:55 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
secooler@secooler> select * from cat;
TABLE_NAME TABLE_TYPE
------------------------------ -----------
T TABLE
secooler@secooler> select count(*) from t;
COUNT(*)
----------
71325
令人激動地時刻到了,sec使用者下的T表及其資料已經成功的“複製”到了secooler使用者中。
4.小結
使用IMPDP工具完成使用者資料複製的優點:
1)節省了大量的磁碟空間,因為不用生成中間的dump檔案;
2)操作簡便,步驟精簡;
3)因為操作環節的減少,整個操作過程不易出錯。
Good luck.
secooler
10.04.07
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-631571/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【IMPDP】不同資料庫例項不同使用者間資料遷移複製——NETWORK_LINK引數資料庫
- 使用impdp實現資料在不同使用者、不同例項之間快速複製
- 【IMPDP】實現不同使用者之間的資料遷移——REMAP_SCHEMA引數REM
- Oracle使用impdp的network_link遷移資料庫Oracle資料庫
- 同一資料間複製使用者
- expdp/impdp 使用version引數跨版本資料遷移
- 使用expdp、impdp遷移資料庫資料庫
- 使用impdp命令在不同例項間透過dblink同步資料庫資料庫
- 使用資料泵(expdp、impdp)遷移資料庫流程資料庫
- SqlServer同例項複製資料庫方法SQLServer資料庫
- 利用TRANSPORT_TABLESPACE特性在同一db下不同使用者之間遷移資料!
- 使用network_link複製Oracle資料庫Oracle資料庫
- 在不同機器之間使用rman複製資料庫例項,從非asm到asm資料庫ASM
- 透過REMAP_SCHEMA引數來實現不同使用者之間的資料遷移REM
- duplicate複製資料庫(rac-單例項)資料庫單例
- 資料從Oracle向Mysql資料遷移例項OracleMySql
- 達夢資料庫遷移資料/複製表/匯入匯出2資料庫
- 同/不同庫遷移資料(在同使用者及表空間)測試
- MongoDB在不同主機間複製資料庫和集合MongoDB資料庫
- Azure Storage 利用 azCopy 複製遷移資料
- Oracle資料庫遷移之三:dblink+impdpOracle資料庫
- 使用impdp,expdp資料泵進入海量資料遷移
- 資料庫物件遷移表空間資料庫物件
- SQLAlchemy Join Query 得到的不同資料行相同資料是同一個例項SQL
- Oracle 資料庫引數改善例項 - PDM8Oracle資料庫
- 資料庫遷移資料庫
- 資料庫移動路徑一例。相同平臺不同路徑遷移資料庫
- 【資料遷移】使用傳輸表空間遷移資料
- 單例項資料庫expdp遷移到RAC庫單例資料庫
- 用最簡單的方法複製或遷移Oracle資料庫Oracle資料庫
- [原創]帶主體複製環境的資料庫遷移資料庫
- 資料庫-oracle-資料庫遷移資料庫Oracle
- 使用dbms_schema_copy 進行不同使用者間資料複製
- 不同的default tablespace資料遷移
- 使用資料庫冷備份方式進行資料庫遷移,資料庫檔案遷移到不同的目錄資料庫
- 為同一個資料庫建立新的例項資料庫
- 伺服器資料遷移的方法-硬體不同如何遷移資料伺服器
- 【ASM學習】普通資料庫向ASM例項的遷移(二)ASM資料庫