Oracle 11.2.0.3 ORA-12012 ORA-29280 ORA-06512

達芬奇的夢發表於2018-05-07

Oracle 11.2.0.3 ORA-12012 ORA-29280 ORA-06512

 

問題現象:

db alert日誌中出現如下告警資訊:

Errors in file /app/oracle/diag/rdbms/cctv/CCTV2/trace/CCTV2_j000_1370.trc:

ORA-12012: error on auto execute of job "ORACLE_OCM"."MGMT_CONFIG_JOB_2_2"

ORA-29280: invalid directory path

ORA-06512: at "ORACLE_OCM.MGMT_DB_LL_METRICS", line 2436

ORA-06512: at line 1

 

環境:

OSRedHat EnterPrise 5.8 X64_x86

DBOracle EnterPrise 11.2.0.3 RAC

 

錯誤分析:

         ORACLE_OCM這個使用者在執行MGMT_DB_LL_METRICS這個計劃任務所報的錯誤。

ORACLE_OCM帳戶是用來管理Oracle Configuration Manager的,該帳戶預設是鎖定狀態。

 

官方對ORACLE_OCM使用者的介紹說明:

ORACLE_OCM

This account contains the instrumentation for configuration collection used by the Oracle Configuration Manager.

 

         該錯誤目前只發現在11.2.0.3上出現過。

 

問題原因:

         是由於ORACLE_OCM執行計劃任務指令碼需要往目錄寫資訊,而該目錄不存在故發生計劃任務執行失敗在alert日誌中報錯。

 

手工檢查OCM_DB目錄是否存在:

 

  1. SQL> set line 300

  2. SQL> col owner for a8

  3. SQL> col DIRECTORY_NAME for a25

  4. SQL> COL DIRECTORY_PATH for a60

  5. SQL> select * from dba_directories where DIRECTORY_NAME like \'%OCM_CONFIG%\';

  6.  

  7. OWNER DIRECTORY_NAME DIRECTORY_PATH

  8. -------- ------------------------- ------------------------------------------------------------

  9. SYS ORACLE_OCM_CONFIG_DIR /app/oracle/product/11.2.0/db_1/ccr/state

  10.  

  11. SQL>


注意:在這裡我們可以看到只有ORACLE_OCM_CONFIG_DIR一個目錄,而不包含MGMT_DB_LL_METRICS需要寫入的ORACLE_OCM_CONFIG_DIR2,所以才會報我們上面看到這個錯誤。

 

在這裡有如下三個解決該問題的辦法:

解決辦法一、

1、可以透過執行"ORACLE_HOME/ccr/admin/scripts/installCCRSQL"指令碼重新配置OCM collections

2、如果上述指令碼不存在那麼需要執行"ORACLE_HOME/ccr/bin/setupCCR"指令碼來配置OCM。後再執行1中的指令碼

詳細請參考:

 

解決方法二、

       sql中執行如下語句,禁用報錯的job.

execdbms_scheduler.disable('ORACLE_OCM.MGMT_CONFIG_JOB')
exec dbms_scheduler.disable('ORACLE_OCM.MGMT_STATS_CONFIG_JOB')

 

解決方法三、

       直接將OCM刪除,並移除相關物件,使其永久失效:

SQL> drop user ORACLE_OCM cascade;

 

 

我在這裡採用的是第二種解決辦法:


  1. SQL> exec dbms_scheduler.disable(\'ORACLE_OCM.MGMT_CONFIG_JOB\');

  2.  

  3. PL/SQL procedure successfully completed.

  4.  

  5. SQL> exec dbms_scheduler.disable(\'ORACLE_OCM.MGMT_STATS_CONFIG_JOB\');

  6.  

  7. PL/SQL procedure successfully completed.

  8.  

  9. SQL>

 

MOS把該問題定位為:Bug 13385346 導致:

Bug 13385346 : GCR0 TRACE FILES CONTINUOUSLY CREATED WITHKJGCR_DELETESO MESSAGES

 

bug的解決辦法: 忽略生成的錯誤資訊, 並已經12.1中已經修復。

 

 

 

"ORA-12012: error on auto execute ofjob ORACLE_OCM.MGMT_CONFIG_JOB_2_1" And "ORA-29280: invalid directorypath" In Database AlertLog [ID 1453959.1]

 

How To Manually Remove ORACLE_OCM FromDatabase [ID 859113.1]

 

How to deinstall OCM (Doc ID 761313.1)

 

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

相關文章