oracle 11.2.0.3 rac 資料庫報ora-12012 ora-29280 ora-06512

dingzihan發表於2014-03-19
在資料庫日誌中,發現如下日誌資訊:
Tue Mar 18 22:00:02 2014
Errors in file /oracle/app/oracle/diag/rdbms/oralnx/oralnx2/trace/oralnx2_j002_21235.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
作業系統:LINUX 6.4
資料庫:11.2.0.3  RAC
這個報錯的是ORACLE_OCM的這個使用者,這個使用者是oracle預定義的非管理員使用者。
ORACLE_OCM賬戶是用來管理ORACLE configuration manager的。預設情況下,該賬戶是expired and locked狀態。
該錯誤出現在oracle rdbms 11.2.0.3的版本。
導致這個錯誤的原因如下:
Newer database release are automatically instrumented for OCM collection.The OCM instrumentation job is tryiing to write to a "state" directory which doesn't  yet exists.
可以用sysdba 使用者執行如下SQL,來驗證OCMDB目錄:
sql > set  lin  160
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%';
這裡只有一個orcle_ocm_config_dir的目錄,而mgmt_db_ll_metrics需要寫入目錄:oracle_ocm_config_dir2。
但是這個目錄在built-in 的instrumentation指令碼中並沒有建立,才報這個錯誤。
按照網上的執行方法:
執行“ORACLE_HOME/ccr/admin/scripts/installCCRSQL"指令碼重新配置OCM collections。
如果沒有這個指令碼,那麼需要執行"ORACLE_HOME/ccr/bin/setupCCR"
但我執行了下,好像沒成功。
解決方法2:
如果不適用OCM collector,可以從資料庫中移除OCM的物件。
sql>drop  user  oracle_ocm  cascade;
ocm 是一個獨立的工具,移除OCM不影響資料庫其他功能的使用。
如果不刪除OCM的物件,也可以禁用OCM的jobs:
exec dbms_scheduler.disable('ORACLE_OCM.MGMT_CONFIG_JOB')
exec dbms_scheduler.disbale('ORACLE_OCM.MGMT_STATS_CONFIG_JOB')


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

相關文章