【故障處理】IMP-00010錯誤 12C的dmp檔案匯入11G

lhrbest發表於2016-11-09

【故障處理】IMP-00010錯誤 12C的dmp檔案匯入11G

1  BLOG文件結構圖

wpsCD04.tmp 

2  前言部分

2.1  導讀和注意事項

各位技術愛好者,看完本文後,你可以掌握如下的技能,也可以學到一些其它你所不知道的知識,~O(∩_∩)O~:

① 12C的dmp檔案匯入11g資料庫

② IMP-00010: not a valid export file, header failed verification錯誤解決一例

③ 軟體PilotEdit Lite的使用

      ④ 從dmp檔案頭獲取匯出的版本、時間、使用者

      ⑤ 檢視dmp檔案的字符集

Tips:

① 本文在itpub(http://blog.itpub.net/26736162)、部落格園(http://www.cnblogs.com/lhrbest)和微信公眾號(xiaomaimiaolhr)上有同步更新。

② 文章中用到的所有程式碼、相關軟體、相關資料及本文的pdf版本都請前往小麥苗的雲盤下載,小麥苗的雲盤地址見:http://blog.itpub.net/26736162/viewspace-1624453/

③ 若網頁文章程式碼格式有錯亂,請下載pdf格式的文件來閱讀。

④ 在本篇BLOG中,程式碼輸出部分一般放在一行一列的表格中。其中,需要特別關注的地方我都用灰色背景和粉紅色字型來表示,比如在下邊的例子中,thread 1的最大歸檔日誌號為33,thread 2的最大歸檔日誌號為43是需要特別關注的地方;而命令一般使用黃色背景和紅色字型標註;對程式碼或程式碼輸出部分的註釋一般採用藍色字型表示。

  List of Archived Logs in backup set 11

  Thrd Seq     Low SCN    Low Time            Next SCN   Next Time

  ---- ------- ---------- ------------------- ---------- ---------

  1    32      1621589    2015-05-29 11:09:52 1625242    2015-05-29 11:15:48

  1    33      1625242    2015-05-29 11:15:48 1625293    2015-05-29 11:15:58

  2    42      1613951    2015-05-29 10:41:18 1625245    2015-05-29 11:15:49

  2    43      1625245    2015-05-29 11:15:49 1625253    2015-05-29 11:15:53

[ZHLHRDB1:root]:/>lsvg -o

T_XLHRD_APP1_vg

rootvg

[ZHLHRDB1:root]:/>

00:27:22 SQL> alter tablespace idxtbs read write;

====2097152*512/1024/1024/1024=1G

本文如有錯誤或不完善的地方請大家多多指正,ITPUB留言或QQ皆可,您的批評指正是我寫作的最大動力。

 

2.2  本文簡介

今天客戶給了一個ash的dmp檔案,需要分析一下,結果匯入資料庫的時候發生了IMP-00010: not a valid export file, header failed verification的錯誤,我用軟體PilotEdit Lite開啟的時候發現原來匯出檔案使用的是12C的客戶端,而我手頭沒有12c的客戶端,於是將檔案頭修改為TEXPORT:V11.02.00,然後即可順利匯入了資料庫,下面給出詳細過程。

3  錯誤解決

3.1  IMP-00010: not a valid export file, header failed verification

D:\Users\xiaomaimiao>imp 'sys/lhr@192.168.59.129/oratest as sysdba' full=y file="E:\ash_20161108.dmp\ash_20161108.dmp"

 

Import: Release 11.2.0.1.0 - Production on Wed Nov 9 11:26:05 2016

 

Copyright (c) 1982, 2009, 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

 

IMP-00010: not a valid export file, header failed verification

IMP-00000: Import terminated unsuccessfully

wpsCD05.tmp 

使用軟體PilotEdit Lite開啟(此軟體可以開啟上G的檔案):

wpsCD06.tmp 

修改為如下的形式:

wpsCD07.tmp 

重新匯入資料庫:

D:\Users\xiaomaimiao>imp 'sys/lhr@192.168.59.129/oratest as sysdba' full=y file="E:\ash_20161108.dmp\ash_20161108_01.dmp"

 

Import: Release 11.2.0.1.0 - Production on Wed Nov 9 11:28:24 2016

 

Copyright (c) 1982, 2009, 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

 

Export file created by EXPORT:V11.02.00 via conventional path

import done in ZHS16GBK character set and AL16UTF16 NCHAR character set

export client uses US7ASCII character set (possible charset conversion)

. importing SYS's objects into SYS

. importing SYS's objects into SYS

. . importing table                 "ASH_20161108"      29394 rows imported

Import terminated successfully without warnings.

4  從dmp檔案頭可以獲取到的資訊

其實之前在文章http://blog.itpub.net/26736162/viewspace-2122942/中已經介紹過這部分的內容,今天把這部分內容重新複製過來,因為實在太有用了。

4.1  獲取基本資訊:匯出的版本、時間、匯出的使用者

[ZFZHLHRDB1:oracle]:/tmp>strings exp_ddl_lhr_02.dmp | head -10

TEXPORT:V11.02.00  ====》版本號 

DSYS    ====》使用SYS使用者匯出

RTABLES ====》基於表模式匯出,RUSERS表示基於使用者模式,RENTIRE表示基於全庫模式

4096

Tue Aug 2 16:8:8 2016/tmp/exp_ddl_lhr_02.dmp====》生成的時間和檔案地址

#C#G

#C#G

+00:00

BYTE

UNUSED

 

4.2  獲取dmp檔案中的表資訊

[ZFZHLHRDB1:oracle]:/tmp>strings  exp_ddl_lhr_02.dmp | grep "CREATE TABLE"|awk '{print $3}'|sed 's/"//g'

EMP ====》說明exp_ddl_lhr_02.dmp中只有一個emp

4.3  解析dmp檔案生成parfile檔案

[ZFZHLHRDB1:oracle]:/tmp>strings  exp_ddl_lhr_03.dmp | grep "CREATE TABLE"|awk '{print <span tabindex="0" class="MathJax" id="MathJax-Element-1-Frame" role="presentation" style="display:inline-block;position:relative;" data-mathml="3}'|sed&#xA0;'s/&quot;//g'|awk&#xA0;'{&#xA0;if&#xA0;(FNR==1)&#xA0;print&#xA0;&quot;tables=&quot;3}'|sed 's/"//g'|awk '{ if (FNR==1) print "tables=" 1 ; else print ","$1 }'

tables=DEF$_AQCALL

,DEF$_AQERROR

,DEF$_CALLDEST

,DEF$_DEFAULTDEST

,DEF$_DESTINATION

,DEF$_ERROR

,DEF$_LOB

,DEF$_ORIGIN

,DEF$_PROPAGATOR

,DEF$_PUSHED_TRANSACTIONS

,MVIEW$_ADV_INDEX

[ZFZHLHRDB1:oracle]:/tmp>

其實這個可以使用UE或editplus文字編輯器的列模式實現也很快。

4.4  檢視dmp檔案的字符集

4.4.1  透過imp匯入命令檢視

[ZFZHLHRDB1:oracle]:/oracle>ORACLE_SID=lhrdb

[ZFZHLHRDB1:oracle]:/oracle>exp  \'/ AS SYSDBA\'  tables=scott.emp  file=/tmp/exp_ddl_lhr_03.dmp  log=/tmp/exp_table.log  buffer=41943040 rows=n compress=n

 

Export: Release 11.2.0.4.0 - Production on Tue Oct 25 17:14:49 2016

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 

 

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Tes

Export done in AL32UTF8 character set and AL16UTF16 NCHAR character set<<<<--當前環境下NLS_LANG的設定

server uses ZHS16GBK character set (possible charset conversion)<<<<--當前資料庫的字符集

Note: table data (rows) will not be exported

 

About to export specified tables via Conventional Path ...

Current user changed to SCOTT

. . exporting table                            EMP

EXP-00091: Exporting questionable statistics.

EXP-00091: Exporting questionable statistics.

Export terminated successfully with warnings.

 

[ZFZHLHRDB1:oracle]:/oracle>ORACLE_SID=mydb

[ZFZHLHRDB1:oracle]:/oracle>export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

[ZFZHLHRDB1:oracle]:/oracle>imp  \'/ AS SYSDBA\'  tables=xxx.xx  file=/tmp/exp_ddl_lhr_03.dmp

 

Import: Release 11.2.0.4.0 - Production on Tue Oct 25 17:21:02 2016

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 

 

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Tes

 

Export file created by EXPORT:V11.02.00 via conventional path

import done in ZHS16GBK character set and AL16UTF16 NCHAR character set<<<<--當前環境的NLS_LANG

import server uses WE8ISO8859P1 character set (possible charset conversion)<<<<--當前資料庫的字符集

export client uses AL32UTF8 character set (possible charset conversion)<<<<--當前dmp檔案的字符集

IMP-00029: cannot qualify table name by owner (xxx.xx), use FROMUSER parameter

IMP-00000: Import terminated unsuccessfully

 

4.4.2  透過dmp檔案的第2和3個位元組檢視

用Oracle的exp工具匯出的dmp檔案包含了字符集的資訊,dmp檔案的第2和第3個位元組記錄了dmp檔案的字符集的資訊。若dmp檔案比較小,比如只有幾M或幾十M,可以用UltraEdit或Editplus以16進位制的方式開啟,檢視第2和第3個位元組的內容。

將剛匯出的檔案/tmp/exp_ddl_lhr_02.dmp下載到Windows環境下,用UE或editplus開啟。

wpsCD08.tmp 

可以看到第2第3個位元組的內容是0354,用如下的SQL語句可以查出它對應的字符集:

SYS@lhrdb> SELECT NLS_CHARSET_NAME(TO_NUMBER('0354','XXXX')) FROM DUAL;

NLS_CHARSET_NAME(TO_NUMBER('0354','XXXX'

----------------------------------------

ZHS16GBK

如果dmp檔案很大,比如有2G以上(這也是最常見的情況),用文字編輯器開啟很慢或者完全打不開,可以用以下命令(在unix主機上):

cat /tmp/exp_ddl_lhr_02.dmp |od -x|head -1|awk '{print <span tabindex="0" class="MathJax" id="MathJax-Element-2-Frame" role="presentation" style="display:inline-block;position:relative;" data-mathml="22 2 3}'|cut -c 3-6

然後用上述SQL也可以得到它對應的字符集。

[ZFZHLHRDB1:oracle]:/oracle>cat /tmp/exp_ddl_lhr_02.dmp |od -x|head -1|awk '{print <span tabindex="0" class="MathJax" id="MathJax-Element-3-Frame" role="presentation" style="display:inline-block;position:relative;" data-mathml="22 2 3}'|cut -c 3-6

0354

 

About Me

...............................................................................................................................

本文作者:小麥苗只專注於資料庫的技術,更注重技術的運用

本文在itpub(http://blog.itpub.net/26736162)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號()上有同步更新

本文itpub地址:http://blog.itpub.net/26736162/viewspace-2128197/

本文部落格園地址:http://www.cnblogs.com/lhrbest/p/6048307.html

本文pdf版小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/

● QQ群:230161599     微信群:私聊

聯絡我請加QQ好友(642808185),註明新增緣由

於 2016-11-09 19:00 ~ 2016-11-09 22:00 在中行完成

文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

● 版權所有,歡迎分享本文,轉載請保留出處

...............................................................................................................................

手機長按下圖識別二維碼或微信客戶端掃描下邊的二維碼來關注小麥苗的微信公眾號:xiaomaimiaolhr,免費學習最實用的資料庫技術。

wpsCD19.tmp


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2128197/,如需轉載,請註明出處,否則將追究法律責任。

相關文章