IMP-00098 錯誤及解決方法

楊奇龍發表於2010-06-10

出現這個問題可能有以下兩方面

1)匯入匯出的客戶端的字符集不一致

在簡體的作業系統下匯出了資料EXP,然後後來那臺電腦上裝了個繁體的作業系統,匯入時都出現IMP-00098: INTERNAL ERROR: impccr2 這樣的錯誤,解決方法如下:
1.執行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1\nls_lang雙擊修改資料數值為SIMPLIFIED CHINESE_CHINA.ZHS16GBK
2.登陸到oracle裡面執行update props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET'
3.刪除已經建立的使用者.比如:我自己的資料庫建立的使用者是HDDEV 我就用DROP USER HDDEV CASCADE語句刪除使用者。
4.刪除已經建立的表空間。在TABLESPACE裡面刪除已經有的表空間
5.重新建立表空間,建角色,建使用者,匯入資料

2)傳輸匯出檔案時 出錯,一般用ftp時 應該用二進位制的方式。

3)匯入時的buffer 設定的太小或者沒有設定。

以下為此錯誤的英文解釋和解決辦法。

IMP-00098: INTERNAL ERROR: impgst2Segmentation Fault - core dumped [ID 578616.1]   
Applies to:  
Oracle Server - Enterprise Edition - Version: 9.2.0.8 to 10.2.0.4
This problem can occur on any platform.
Symptoms
An import command fails with the following error:  
illegal lob length marker 65535  
bytesread = 00000000000  
TABLE =  
IMP-00098: INTERNAL ERROR: impgst2Segmentation Fault - core dumped
If executing the same import command by adding "show=y" same error is reported:
illegal lob length marker 65535  
bytesread = 00000000000  
TABLE =  
IMP-00098: INTERNAL ERROR: impgst2Segmentation Fault - core dumped  
Cause
The fact that running import with "show=y" generates same error indicates that the export dump file is corrupted.  
When "show=y" is used the content of the export dump file is listed to the display and not imported.  
There are two ways to corrupt an export dump file:  
- the export tool corrupts the file itself;  
- the file is corrupted during the transfer (move/copy) from the source to the target machine; this is the most common cause of the error.  
Solution
Since the export dump file is corrupt, the export needs to be done again:
- After the export is finished one should always check if the export dump file is corrupted on the  
source machine using imp with "show=y".
If getting the above errors then the file is corrupted on the source machine;  
- Assuming the file is not corrupted on the source machine, after transferring the file, one must execute imp with "show=y" on target machine. If getting the above errors then the file was corrupted during transfer.  
Use ftp command in binary mode as a way of transferring the dump file between source and target machines.  
- If imp with "show=y" reports no errors after the above steps then proceed with the real import (without "show=y").
NOTE: A similar case is reported in Note 3890213.8 and may need to be investigated as well.
References
NOTE:3890213.8 - Bug 3890213 - IMP-98 possible importing zero length Lobs with CHUNKSIZE > 32767

參考資料:

http://blog.163.com/18_2/blog/static/2174448200932753814644/


 

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

相關文章