1. 程式人生 > >資料泵(expdp/impdp)跨版本匯入,11g匯出10g匯入

資料泵(expdp/impdp)跨版本匯入,11g匯出10g匯入

最近在做資料庫升級的事情,開發那邊提了個需求說,如果升級並執行幾天後怎麼把新的資料倒回到舊版本的資料庫裡面?

我做升級時是使用資料泵做的資料遷移,大家都知道軟體的使用“一般”情況下都是向下相容的,即例如使用10g的expdp工具匯出的檔案使用11g的impdp匯入到11g的資料庫裡面“幾乎”不會出現什麼問題,但是如果反過來則可能需要做一些處理,其實也就是在expdp匯出時需要使用version引數。於是我把我測試記錄如下:

1、先來看看不使用version引數時的情況

從11.2.0.3的資料庫中匯出:

[[email protected] dumpdir]$ expdp srcb/srcb directory=dumpdir dumpfile=srcb.without.version.dmp tables=stock_quotes,stock_info 

Export: Release 11.2.0.3.0 - Production on Mon Nov 26 13:47:52 2012

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, Automatic Storage Management, Oracle Label Security, OLAP,
Data Mining, Oracle Database Vault and Real Application Testing options
Starting "SRCB"."SYS_EXPORT_TABLE_01":  srcb/******** directory=dumpdir dumpfile=srcb.without.version.dmp tables=stock_quotes,stock_info 
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 536.3 MB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/COMMENT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SRCB"."STOCK_QUOTES"                       461.8 MB 5252837 rows
. . exported "SRCB"."STOCK_INFO"                         284.1 KB    2456 rows
Master table "SRCB"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SRCB.SYS_EXPORT_TABLE_01 is:
  /share/dumpdir/srcb.without.version.dmp
Job "SRCB"."SYS_EXPORT_TABLE_01" successfully completed at 13:48:04

在10.2.0.4的資料庫中匯入,這是會提示版本錯誤:
[[email protected] dumpdp]$ impdp srcb/srcb directory=dumpdir dumpfile=srcb.without.version.dmp logfile=srcb.impdp.without.version.log remap_tablespace=srcb_data:srcb,srcb_indx:srcb

Import: Release 10.2.0.4.0 - Production on Monday, 26 November, 2012 13:41:26

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39001: invalid argument value
ORA-39000: bad dump file specification
ORA-39142: incompatible version number 3.1 in dump file "/backup/dumpdp/srcb.without.version.dmp"

2、再來看看使用了version引數的情況

同樣的從11.2.0.3的資料庫中匯出,但是這時帶了version選項,注意:version的值必須要小於或等於目標庫的基本版本(即所謂的11g、10g、9i等),即version值要小於11.1.0.1,否則同樣會報錯:

[[email protected] dumpdir]$ expdp srcb/srcb directory=dumpdir dumpfile=srcb.with.version.dmp tables=stock_quotes,stock_info version=10.2.0.4

Export: Release 11.2.0.3.0 - Production on Mon Nov 26 13:48:27 2012

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, Automatic Storage Management, Oracle Label Security, OLAP,
Data Mining, Oracle Database Vault and Real Application Testing options
Starting "SRCB"."SYS_EXPORT_TABLE_01":  srcb/******** directory=dumpdir dumpfile=srcb.with.version.dmp tables=stock_quotes,stock_info version=10.2.0.4
Estimate in progress using BLOCKS method... Processing object type TABLE_EXPORT/TABLE/TABLE_DATA Total estimation using BLOCKS method: 536.3 MB Processing object type TABLE_EXPORT/TABLE/TABLE Processing object type TABLE_EXPORT/TABLE/COMMENT Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS . . exported "SRCB"."STOCK_QUOTES" 461.8 MB 5252837 rows . . exported "SRCB"."STOCK_INFO" 283.7 KB 2456 rows Master table "SRCB"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded ****************************************************************************** Dump file set for SRCB.SYS_EXPORT_TABLE_01 is: /share/dumpdir/srcb.with.version.dmp Job "SRCB"."SYS_EXPORT_TABLE_01" successfully completed at 13:48:38

同樣的還是在10.2.0.4的資料庫中匯入,此時就可以正常匯入了:

[[email protected] dumpdp]$ impdp srcb/srcb directory=dumpdir dumpfile=srcb.with.version.dmp logfile=srcb.impdp.with.version.log remap_tablespace=srcb_data:srcb,srcb_indx:srcb

Import: Release 10.2.0.4.0 - Production on Monday, 26 November, 2012 13:44:31

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Master table "SRCB"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "SRCB"."SYS_IMPORT_FULL_01":  srcb/******** directory=dumpdir dumpfile=srcb.with.version.dmp logfile=srcb.impdp.with.version.log remap_tablespace=srcb_data:srcb,srcb_indx:srcb 
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
. . imported "SRCB"."STOCK_QUOTES"                       461.8 MB 5252837 rows
. . imported "SRCB"."STOCK_INFO"                         283.7 KB    2456 rows
Processing object type TABLE_EXPORT/TABLE/COMMENT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Job "SRCB"."SYS_IMPORT_FULL_01" successfully completed at 13:47:41

3、其實還有更簡單的資料庫遷移方式,如果網路可以互通的話,則直接使用network_link=database_link的方式遷移,這同時還減少了資料的落地時間,而且還可以跨版本:

先給10g中的使用者授予建立database link的許可權,切換至同步使用者並建立一個連線源資料庫的database link:

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Mon Nov 26 13:21:28 2012

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

13:21:28 [email protected]> grant create database link to srcb;

Grant succeeded.

13:21:42 [email protected]> conn srcb
Enter password: 
Connected.
13:21:46 [email protected]> create database link to11gdbl connect to srcb identified by srcb using '192.168.220.114:1521/srcbdb';

Database link created.

13:22:16 [email protected]> select * from [email protected];

TNAME                                                        TABTYPE         CLUSTERID
------------------------------------------------------------ -------------- ----------
STOCK_INFO                                                   TABLE
STOCK_INFO2                                                  TABLE
STOCK_QUERY                                                  TABLE
STOCK_QUOTES                                                 TABLE
STOCK_QUOTES2                                                TABLE
TMP1                                                         TABLE
TOAD_PLAN_TABLE                                              TABLE

7 rows selected.

在使用上一步建立的database link進行資料遷移:
[[email protected] dumpdp]$ impdp srcb/srcb directory=dumpdir logfile=srcb.impdp.from11g.log network_link=to11gdbl remap_tablespace=srcb_data:srcb,srcb_indx:srcb
 
Import: Release 10.2.0.4.0 - Production on Monday, 26 November, 2012 13:26:00

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "SRCB"."SYS_IMPORT_SCHEMA_01":  srcb/******** directory=dumpdir logfile=srcb.impdp.from11g.log network_link=to11gdbl remap_tablespace=srcb_data:srcb,srcb_indx:srcb 
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 1.048 GB
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
ORA-39151: Table "SRCB"."TOAD_PLAN_TABLE" exists. All dependent metadata and data will be skipped due to table_exists_action of skip
. . imported "SRCB"."STOCK_QUOTES"                      5252837 rows
. . imported "SRCB"."STOCK_QUOTES2"                     5245909 rows
. . imported "SRCB"."STOCK_INFO"                           2456 rows
. . imported "SRCB"."STOCK_INFO2"                          2456 rows
. . imported "SRCB"."STOCK_QUERY"                           146 rows
. . imported "SRCB"."TMP1"                                   12 rows
Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA
Job "SRCB"."SYS_IMPORT_SCHEMA_01" completed with 1 error(s) at 13:35:38

至此完!

相關推薦

資料(expdp/impdp)版本匯入11g匯出10g匯入

最近在做資料庫升級的事情,開發那邊提了個需求說,如果升級並執行幾天後怎麼把新的資料倒回到舊版本的資料庫裡面? 我做升級時是使用資料泵做的資料遷移,大家都知道軟體的使用“一般”情況下都是向下相容的,即例如使用10g的expdp工具匯出的檔案使用11g的impdp匯入到11g的

使用Oracle資料EXPDP/IMPDP匯入匯出

示例為ORACLE 11G匯出到ORACLE 10G匯入用資料泵EXPDP,IMPDP做ORACLE匯入、匯出.  優勢如下:1:可以跨不同表空間2:不同ORACLE版本資料方便匯入,匯出3:效率大大高

Oracle資料expdp/impdp筆記

作者:fbysssmsn:[email protected]  blog:blog.csdn.net/fbysss宣告:本文由fbysss原創,轉載請註明出處關鍵字:oracle 資料泵 expdp/impdp資料泵 是oracle10G的命令必須在伺服器上執行,s

oracle11g 使用資料匯入/匯出資料expdp/impdp

目標:使用oracle資料泵,將A電腦上的資料庫databaseA匯出後,再匯入到B電腦上的資料庫databaseB中。 A電腦上的操作(expdp資料匯出): 執行cmd; 登入資料庫,輸入

Oracle 資料IMPDP/EXPDP匯入匯出

最好以system等管理員建立邏輯目錄,Oracle不會自動建立實際的物理目錄“D:\oracleData”(務必手動建立此目錄),僅僅是進行定義邏輯路徑dump_dir; sql> conn system/[email prote

通過資料expdpimpdp方式備份與還原(匯出匯入)Oracle資料庫

前言備份還原oracle資料庫的方式有很多種,本文只講解使用expdp、impdp資料泵方式備份與還原(恢復)資料庫,此種方式可以匯出/匯入資料庫表以及表中的資料。請自行修改目錄路徑,否則出現錯誤別怪我哦~一、備份step1:使用system登入oracle開啟DOS命令列介

資料expdp匯出時間很長匯出速度很慢

參考部落格  日前接到一個case,使用者反映一個表匯出時間特別長,因為擔心影響第二天業務,不得不放棄繼續匯出,但是另外一個表比這個問題表數量更大,但是反而順利匯出,使用者在相同版本測試環境上也能順利匯出,當然測試環境和生產環境還是有差異的,客戶說那個環境是用兩個

expdp/impdp 參數說明中英對照

覆蓋 columns option opera top calculate rmi tina close 1.expdp參數說明 [[email protected]/* */ ~]$ expdp help=y Export: Release 11.2.0

詳解oracle 12c通過數據expdp/impdp工具實現對數據備份、恢復

工具實現 數據庫 RoCE app eat source .com blog con 簡介 Oracle Database 10g引入了最新的數據泵(Data Dump)技術,數據泵導出導入(EXPDP和IMPDP)的作用1.實現邏輯備份和邏輯恢復2.數據庫用戶之間移動對象

資料expdp中query的使用及注意事項

    在用資料泵匯出資料的時候,有時候我們需要按條件過濾掉一些不需要匯出的資料,這時候就需要用到引數query。下面是一個簡單使用query的小例子,在這個例子中我們也可以看出資料泵的一個缺陷,就是query引數和estimate引數是衝突的,當我們使用query引數的時

從oracle 11g匯出->12c 匯入 ,遇到ORA-39213: Metadata processing is not available

1.從低版本匯出,高版本匯入,需要增加version  2.從高版本匯出,低版本匯入,可以向下相容。 下面我們來看看《1.從低版本匯出,高版本匯入》增加version 後,還是報錯? --下面是11g,加了version='11.2.0.3.0'匯出 [[email&

Oracle利用exp和imp,資料impdpexpdp匯入匯出資料spool匯出資料

Oracle利用exp和imp,資料泵impdp和expdp匯入匯出資料,spool匯出資料 注意: (1)imp只能匯入exp匯出的檔案 ,imp,exp是客戶端程式,操作少量資料  (2)impdp只能匯入expdp匯出的檔案,impdp,expdp是伺服器端程式,操作適量大的

【Oracle】匯入匯出 EXP / IMP 和 EXPDP / IMPDP 資料匯出匯入的方法

  【Oracle】EXPDP和IMPDP資料泵進行匯出匯入的方法 一、expdp/impdp和exp/imp的區別 1、exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。 2、expdp和impdp是服務端的工具程式,他們只能在oracle服務端

ORACLE使用EXPDPIMPDP資料進行匯出匯入的方法

ORACLE使用EXPDP和IMPDP資料泵進行匯出匯入的方法 使用expdp和impdp時應該注重的事項: 1、exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。 2、expdp和impdp是服務端的工具程式,他們只能在oracle服務端使用,不能在客戶端使

ORACLE--匯入匯出/資料(imp/exp impdp/expdp

最近有很多人遇到關於ORACLE資料庫,dmp檔案恢復的問題。 首先我先說一下匯入匯出:     1、強調一下目標庫,首先目標庫設定成為非歸檔模式,nologgong模式更好。(這個操作需要停庫)     2、匯入的時候可以先將索引和約束去掉(disable)(index

expdpimpdp資料匯出匯入

FLASHBACK_SCN=scn_value:Scn_value用於標識SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同時使用Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_SCN=3585238、FLASHBACK

補:Oracle 的資料匯出expdp)及匯入impdp

        之前本來想寫篇exp-imp,expdp-impdp的簡單介紹的, 結果發現簡單寫了下exp-imp就挺長一篇了,所以就把expdp-impdp分開來寫了。放下之前的連結:https://blog.csdn.net/huay_li/article/detail

使用expdp/impdp資料匯出/匯入資料

資料泵是oracle 10g推出的新功能,expdp/impdp和exp/imp的區別: exp/imp是客戶端工具,可以在客戶端使用,也可以在服務端使用。expdp/impdp是服務端工具,只能在服務端使用。 expdp引數說明 [[email protect

資料impdpexpdp

*資料泵只有在oracle 10g後的版本可用,並只有在服務端可用。 1.練習時,出現了ORA-39002、ORA-39070、ORA-39087這三個錯誤,如圖: 解決方法: 用sysdba身份連線資料庫:conn / as sysdba 檢視字典目錄:select 

EXPDP/IMPDP 資料命令引數

資料泵匯出實用程式提供了一種用於在 Oracle 資料庫之間傳輸 資料物件的機制。該實用程式可以使用以下命令進行呼叫: 示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp 您可以控制匯出的執行方式。具體方法是: