ALTER PACKAGE "p_b" COMPILE and ora-07445
ALTER PACKAGE "PROC_BUSINESS" COMPILE REUSE 和 ORA-07445: exception encountered: core dump
IMP-00017: following statement failed with ORACLE error 3113:
"ALTER PACKAGE "PROC_BUSINESS" COMPILE REUSE SETTINGS TIMESTAMP '2012-04-23:"
"11:58:58'"
IMP-00003: ORACLE error 3113 encountered
ORA-03113: end-of-file on communication channel
IMP-00000: Import terminated unsuccessfully
問題描述:
exp資料庫: oracle 10.2.0.1 for linux
Imp 資料庫: oracle 10.2.0.4 for windows 7
Client : oracle 10.2.0.1 for windows 7
操作步驟:從client機器上執行 EXP 匯出使用者,然後在client 機器上IMP 匯入使用者。但是報錯很鬱悶的ORA-3113
因為這個報錯原因太多了,需要一點一點解決。但是報錯前面出現了一個包的名字 很扎眼啊。
解決問題思路:
1、 版本問題。我想了一想從低版本EXP 到高版本IMP一般都是沒有問題的。為什麼我會出現這個問題呢。
2、 Create table。是不是這個問題呢,然後嘗試了多次不是這個問題。(嘗試刪除使用者cascade 重新匯入,ignore引數等的使用)
3、 編譯問題。因為IMP的過程中會重新編譯所有的程式包包,儲存過程,函式。如果有錯誤也會導致IMP失敗。
基本思路是這樣樣子,但是由於本人對EXP ,IMP 還不是十分了解很多引數也不是十分了解。所以解決問題的時候只有邊做邊學習了。
對於exp 不瞭解,直接EXP HELP=Y 看了一看,基本瞭解。
對於imp不瞭解,直接IMP HELP=Y看了一看,基本瞭解。
實施解決問題:
1、 仔細的按照自己的想法從低版本到高版本操作。
結果:失敗。
2、嘗試使用IGNORE引數,多次匯入。
結果:失敗。
3、匯入忽略編譯compile=y,成功匯入,但是有警告。
結果:成功。
看樣是我們有些程式包,編譯過程出現了錯誤,導致我們IMP失敗。沒有關係了資料匯入進入,程式包,我們看樣慢慢解決。匯入成功後,看了一下有幾個程式包是無效的,看了一看是因為匯入使用者沒有這些表的許可權。然後把檢視這些表的許可權給了這個使用者。我們的程式包也看樣使用。
總結:我們這次遇到的問題主要是因為IMP需要對程式包,儲存過程,函式重新編譯,如果由於某種原因不能編譯,最後也導致我們匯入失敗。
而且這個IMP 編譯失敗,導致IMP失敗,還是很有趣。讓我們在alert 日誌中看到了:
ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [ptmak+420] [PC:0x622EBF4] [ADDR:0x10] [UNABLE_TO_READ] []
ORA-07445: exception encountered: core dump這個也是一個問題:
07445, 00000, "exception encountered: core dump [%s] [%s] [%s] [%s] [%s] [%s]"
// *Cause: An OS exception occurred which should result in the creation of a
// core file. This is an internal error.
// *Action: Contact your customer support representative.
07445,00000,“例外遇到:核心轉儲[%][%][%][%][%][%S]”
/ /*原因:作業系統異常發生,這將導致在創造一個
//核心檔案。這是一個內部錯誤。
/ / *操作:聯絡您的客戶支援代表。
沒有問題我們明確的解決方式:回想了一些我們的操作我們只是IMP,而且這個錯誤只是出現了我們匯入的時間內出現這個錯誤。所以指定這個問題可能是由於我們IMP匯入出現的。我們IMP錯誤的根本原因是編譯錯誤。所以這個錯誤也有可能是編譯時候出現的錯誤。
總結:IMP的編譯錯誤也會導致 ORA-7445錯誤。有時候我們遇到像ORA-600 ,ORA-7445這樣的問題不要慌,找找原因,想想資料庫的操作。oracle 給我們提示錯誤,不一定就是根本原因。所以問題要綜合考慮!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26442936/viewspace-722258/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- alter package/procedurePackage
- MVN命令之clean,compile,build,install,package區別CompileUIPackage
- alter database和alter system和alter session的區別DatabaseSession
- not an rpm package (or package manifest):Package
- not an rpm package (or package manifest)Package
- packagePackage
- (C language Sample ) Compile procedureCompile
- DBMS_UTILITY.COMPILE_SCHEMACompile
- How to compile Invalid Object?CompileObject
- Package Specification 和 Package Body 及 Package有什麼區別? (轉)Package
- 深入安卓Package Manager和Package Installer安卓Package
- 我們來聊聊 Vue - compileVueCompile
- angularjs compile vs linkAngularJSCompile
- alter system events與alter system event的區別
- 建立packagePackage
- SQL__ALTERSQL
- MySQL ALTER命令MySql
- alter session setSession
- Alter table for ORACLEOracle
- alter database in OracleDatabaseOracle
- Alter system in OracleOracle
- Package ssh is not available, but is referred to by another package 錯誤PackageAI
- ORA-07445: [kkqtutlSetViewCols()+250]QTTLSView
- alter table move 和 alter table shrink space的區別
- [alter system dump學習1]alter system dump logfile
- alter system archive log current和alter system switch logfileHive
- ALTER DATABASE 與 ALTER TABLESPACE OFFLINE的區別Database
- 【錯誤】 Unable to compile class for JSPCompileJS
- for public synonym, only sys user can compile it?Compile
- ORA-04042 procedure, function, package, or package body does not existFunctionPackage
- alter database datafile offline and alter database tablespace ...offlineDatabase
- 忍不住問下alter system 和alter database的區別Database
- ALTER SYSTEM SWITCH LOGFILE ALTER SYSTEM ARCHIVELOG CURRENT 區別Hive
- java 包(package)JavaPackage
- Package and ClassPath (轉)Package
- ORA-07445: exception encountered: (一)Exception
- ORA-07445錯誤分析
- mysql加快alter操作MySql