Oracle 11g Exp遇到ORA-04063
Oracle 11g是從Oracle 10g上升級來的。
今天執行exp匯出遇到以下錯誤:
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
About to export specified users ...
. exporting pre-schema procedural objects and actions
EXP-00008: ORACLE error 4063 encountered
ORA-04063: package body "DMSYS.DBMS_DM_MODEL_EXP" has errors
ORA-06508: PL/SQL: could not find program unit being called: "DMSYS.DBMS_DM_MODEL_EXP"
ORA-06512: at line 1
EXP-00083: The previous problem occurred when calling DMSYS.DBMS_DM_MODEL_EXP.schema_info_exp
用以下步驟重灌Oracle Data Mining元件:
conn /as sysdba
@?/rdbms/admin/dminst.sql sysaux temp -元件包
@?/rdbms/admin/odmpatch.sql --補丁
@?/rdbms/admin/utlrp.sql --編譯
--確認是否安裝成功
select comp_name,version,status from dba_registry where comp_name='Oracle Data Mining';
但exp依然報同樣的錯誤。
接著看:
SQL> select owner,count(*) from dba_objects where status= 'INVALID' group by owner;
no rows selected
SQL> select owner,object_name,status from dba_objects where object_name = 'DBMS_DM_MODEL_EXP';
OWNER OBJECT_NAME STATUS
-------------------- -------------------- -------
SYS DBMS_DM_MODEL_EXP VALID
SYS DBMS_DM_MODEL_EXP VALID
--沒有DMSYS的DBMS_DM_MODEL_EXP包
#vi $ORACLE_HOME/rdbms/admin/dminst.sql
@@odmcrt.sql &&1 &&2
execute sys.dbms_registry.loading('ODM','Oracle Data Mining','validate_odm','SYS',NULL,NULL);
@@odmproc.sql
alter session set current_schema = "SYS";
Rem @@catodm.sql
execute sys.dbms_registry.loaded('ODM');
execute sys.validate_odm;
--懷疑指令碼中使用者搞錯了,把SYS改成DMSYS再裝了遍Oracle Data Mining元件
結果DMSYS下安裝沒成功:
SQL> select owner,object_name,status from dba_objects where object_name = 'DBMS_DM_MODEL_EXP';
OWNER OBJECT_NAME STATUS
-------------------- -------------------- -------
SYS DBMS_DM_MODEL_EXP VALID
SYS DBMS_DM_MODEL_EXP VALID
DMSYS DBMS_DM_MODEL_EXP INVALID
SQL> select comp_name,version,status from dba_registry where comp_name='Oracle Data Mining';
COMP_NAME
--------------------------------------------------------------------------------
VERSION STATUS
------------------------------ ----------------------
Oracle Data Mining
11.2.0.2.0 INVALID
--很無解。。。。
google了很多資料發現:
Oracle 10g中使用DMSYS來管理Oracle Data Mining,Oracle 11g中使用SYS管理;
這個可以從$ORACLE_HOME/rdbms/admin/dminst.sql指令碼中可以看出差別:
--oracle 10g
@@odmcrt.sql &&1 &&2
execute sys.dbms_registry.loading('ODM','Oracle Data Mining','validate_odm','DMSYS',NULL,NULL);
@@odmproc.sql
alter session set current_schema = "DMSYS";
@@catodm.sql
execute sys.dbms_registry.loaded('ODM');
execute sys.validate_odm;
--最終解決:
drop user dmsys cascade;
將dminst.sql中的使用者改回sys後重新執行:
conn /as sysdba
@?/rdbms/admin/dminst.sql sysaux temp -元件包
@?/rdbms/admin/odmpatch.sql --補丁
@?/rdbms/admin/utlrp.sql --編譯
--安裝成功
總結:可能是安裝人員升級時忘了執行odmpatch.sql指令碼,另外從開頭的重灌還是報錯來看,很有可能是由於升級到11g後同時存在dmsys存在原因導致的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/405242/viewspace-687463/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORA-04063: package body "EXFSYS.DBMS_EXPFIL_EXP" has errorsPackageError
- Oracle 11g的exp不能匯出空表Oracle
- EXP-00056: 遇到 ORACLE 錯誤 31600- -Oracle
- Exp-00003 no storage definition found issue in oracle 11gOracle
- 解決EXP-00056: 遇到 ORACLE 錯誤 31600Oracle
- EXP-00056: 遇到 ORACLE 錯誤 19206(轉)Oracle
- AIX上oracle匯出備份EXP-00056: 遇到 ORACLE 錯誤 600AIOracle
- Oracle expOracle
- oracle 9.2.0.4升級到9.2.0.8時exp匯出時遇到的問題Oracle
- Oracle imp/expOracle
- 匯出報錯:ORA-04063: package body "DMSYS.DBMS_DM_MODEL_EXP" has errorsPackageError
- Oracle 11g 使用exp命令匯出表不全的解決方案Oracle
- 解決:ORACLE 11G使用exp無法導空出表問題Oracle
- 解決Oracle 11g空表不能exp匯出的問題Oracle
- Oracle 11G用EXP時,空表不能匯出解決方法Oracle
- Oracle 11g 遇到log file sync嚴重等待事件Oracle事件
- EXP-00008: 遇到 ORACLE 錯誤 904 ORA-01003Oracle
- oracle技術_使用exp/imp 匯入11g資料到9iOracle
- Oracle OCP(54):EXPOracle
- oracle exp和impOracle
- Oracle-exp命令Oracle
- oracle imp和expOracle
- oracle exp imp 用法Oracle
- EXP-00056: 遇到 ORACLE 錯誤 600 ORA-00600 EXP-00000: 匯出終止失敗 解決方法Oracle
- oracle exp-00011 錯誤解決方法 11g的新特性Oracle
- exp 時遇到密碼有特殊字元(!@#)解決方法密碼字元
- oracle 11g for aix 5L 配置asm時遇到的問題OracleAIASM
- Oracle的exp/imp詳解Oracle
- oracle exp_imp小記Oracle
- oracle之EXP-00091Oracle
- Oracle Exp/Imp常見問題Oracle
- 搭建Oracle的exp備份機Oracle
- 【exp/imp不同版本】Oracle不同版本的exp/imp使用注意事項Oracle
- Oracle - 匯入異常ORA-01659和11G在Exp時空表不能匯出Oracle
- ORACLE IMP和EXP的使用實驗Oracle
- Oracle 傳輸表空間-EXP/IMPOracle
- Oracle匯入(imp )與匯出(exp )Oracle
- EXP-00056: ORACLE error 904 encounteredOracleError