ORA-12012: error on auto execute of job “ORACLE_OCM"."MGMT_CONFIG_JOB_2_1”



Errors in file /u01/app/Oracle/diag/rdbms/sisdb/sisdb1/trace/sisdb1_j001_7106.trc:

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

ORA-29280: invalid directory path

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

ORA-06512: at line 1

 

ORA-12012錯誤通常只是告訴你一件事情,那就是JOB執行失敗,具體是什麼原因導致的還是要看下面的ORA-29280,這裏提示是非法路徑。咋一看,就可以知道,這個JOB似乎並不是業務上的,因爲schema是ORACLE_OCM,肯定是Oracle自己的某個組件。

 

其實這個用戶是Oracle 預定義的非管理員用戶:

 


ORACLE_OCM
 
The account used with Oracle Configuration Manager. This feature enables you to associate the configuration information for the current Oracle Database instance with OracleMetaLink. Then when you log a service request, it is associated with the database instance configuration information.

See Oracle Database Installation Guide for your platform.
 

 

這個用戶主要是用於Oracle配置管理器,當發出SR請求時,它和數據庫實例配置相聯繫,把配置信息發送給Oracle供分析。默認情況下是過期或鎖定的。

 

Oracle官方文檔是這麼描述的:

 


Newer database releases are automatically instrumented for OCM collections. But in some cases, the OCM instrumentation job is trying to write to a "state" directory called "ORACLE_OCM_CONFIG_DIR2" which doesn't exist.

 

在某些情況下,新版本數據庫自動爲OCM做了收集,但OCM配置的JOB試圖去寫一個沒有被內置配置創建的目錄:ORACLE_OCM_CONFIG_DIR2,因此也就有了“ORA-29280: invalid directory path”的提示了

 

To verify if the OCM directories exist or not, run the following as sysdba:

 


SQL> set lin 130

SQL> col owner for a10

SQL> col DIRECTORY_NAME for a25

SQL> col DIRECTORY_PATH for a50

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

 

MGMT_DB_LL_METRICS wants to write to ORACLE_OCM_CONFIG_DIR2, which is not created by the built-in instrumentation scripts.

 

 

首先查看OCM是否正確的配置過:

 

$ORACLE_HOME/ccr/bin/deployPackages -l

 

 

如果返回'proceed to STEP 2'的內容,則說明並沒有配置過,可以運行以下2個腳本,重新創建OCM相關的directory目錄並賦予權限:

 

SQL> @ORACLE_HOME/ccr/admin/scripts/ocmjb10.sql
SQL> @ORACLE_HOME/ccr/admin/scripts/execute execocm.sql

 

 

最後檢驗一下:


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

OWNER    DIRECTORY_NAME         DIRECTORY_PATH
-------- ---------------------- ------------------------------------------------------------------
SYS      ORACLE_OCM_CONFIG_DIR2 /u01/app/oracle/product/11.2.0.3/dbhome_1/ccr/state
SYS      ORACLE_OCM_CONFIG_DIR  /u01/app/oracle/product/11.2.0.3/dbhome_1/ccr/hosts/dc2oda-1/state

 
看到OCM的directory確實是有一個具體路徑了,就說明已經配置好了
 
這個問題通常發生在新安裝或升級到11.2.0.3的Oracle數據庫上,由於OCM是一個獨立工具,僅用於向MOS上傳蒐集信息,即使刪除它不會對數據庫造成影響,可以通過以下命令,刪除OCM用戶及相應的目錄:

 


SQL> drop user ORACLE_OCM cascade;

SQL> drop directory ORACLE_OCM_CONFIG_DIR;

SQL> drop directory ORACLE_OCM_CONFIG_DIR2;

或者不刪除用戶,只禁用該job:

exec dbms_scheduler.disable('ORACLE_OCM.MGMT_CONFIG_JOB')

exec dbms_scheduler.disable('ORACLE_OCM.MGMT_STATS_CONFIG_JOB')

這樣,就不會在alert日誌裏報ORA-12012的錯誤了。


原文鏈接:http://www.linuxidc.com/Linux/2014-11/109934.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章