Oracle 11.2.0.3 ORA-12012 ORA-29280 ORA-06512 错误 解决方法

http://blog.csdn.net/tianlesoftware/article/details/8532090


http://www.linuxidc.com/Linux/2013-01/78399.htm


Alert log 出现如下错误:

Errors in file /oracle/11.2.0.3/oracle/diag/rdbms/fssms/fssms2/trace/fssms2_j002_17105234.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

 

 

操作系统: AIX

数据库:11.2.0.3, RAC

 

 

这个报错的是ORACLE_OCM的这个用户,这个用户是Oracle 预定义的非管理员用户。 这个在我之前的Blog里有说明:

 

Oracle 用户及角色 介绍

http://blog.csdn.net/tianlesoftware/article/details/4786956

 

 

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.

Expired and locked

 

ORACLE_OCM 账户是用来管理Oracle Configuration Manager的。 默认情况下, 该账户是Expired and locked状态。

 

该错误只出现在OracleRDBMS 11.2.0.3 的版本(新安装的db,或者从其他版本升级到11.2.0.3的),或者Oracle Configuration Manager 的版本大于10.3.3.0.0。

 

导致这个错误的原因如下:

Newer databasereleases are automatically instrumented for OCM collections. Buthere, the OCM instrumentation job is trying to write to a "state"directory which doesn't yet exists.

   

当自动执行的job发现目录不存在后,就会报错。

 

可以用sysdba用户执行如下SQL,来验证OCM db 目录:

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%';

 

OWNER     DIRECTORY_NAME           DIRECTORY_PATH

---------- ---------------------------------------------------------------------------

SYS       ORACLE_OCM_CONFIG_DIR    /u01/app/oracle/product/11.2.0/dbhome_1/ccr/state

 

这里只有一个ORACLE_OCM_CONFIG_DIR的目录,而MGMT_DB_LL_METRICS需要写入目录:ORACLE_OCM_CONFIG_DIR2。 但是这个目录在built-in 的instrumentation脚本中并没有创建,所以才会包我们的这个错误。

 

解决方法1

 

执行"ORACLE_HOME/ccr/admin/scripts/installCCRSQL"脚本重新配置OCM collections。

 

如果没有这个脚本,那么需要先运行"ORACLE_HOME/ccr/bin/setupCCR"脚本来配置OCM。

 

注意:如果是non-shared文件系统 的RAC 环境,在运行installCCRSQL.sh脚本之前必须先指定变量ORACLE_CONFIG_HOME 到$ORACLE_HOME。 具体可以参考:

OracleConfiguration Manager Installation and Administration Guide

http://docs.oracle.com/cd/E28601_01/doc.1037/e26167/install.htm#CBHFFGFJ

 

 

解决方法2

如果不使用OCM Collector, 可以从数据库中移除OCM的对象。

SQL> drop user ORACLE_OCM cascade;

 

OCM 是一个独立的工具,移除OCM 不影响数据库其他功能的使用。

 

如果不删除OCM 的对象,也可以禁用OCM的jobs,命令如下:

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

 

 

MOS的文档,把该错误定位成了Bug 13385346

Bug 13385346 : GCR0 TRACE FILES CONTINUOUSLY CREATED WITHKJGCR_DELETESO MESSAGES

 

该bug的解决方式是: 忽略生成的错误信息。 该bug在12.1中已经修复。

 

 

MOS 参考文档:

 

"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]

 

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1)rpm格式包安装配置 1.1 下载以rpm后缀名的包,以11.2.0.4.0 版本为例,其中基础包basic、sql*plus、devel包建议默认下载,其他包视情况而定: oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --基础包,为了运行OCI、OCCI、JDBC-OCI 这几个应用程序; oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm --补充包/文件,是为了运行sql*plus 的即时客户端; oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm --补充包/文件,为运行ODBC环境附加库; oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm --补充JDBC下的XA、国际标准、行集操作; oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm --包含头文件和示例文件,为开发Oracle应用程序的即时客户端; 1.2 使用rpm -ivh [包名] 进行安装, 如:rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm 安装的文件默认放在两个位置: 头文件:/usr/include/oracle/11.2/client64/ 下,如果在使用时报错找不到头文件,记得看路径是否是这个。 包文件:/usr/lib/oracle/11.2/client64/ 下,包含{bin、lib}两个文件夹; 1.3 创建文件夹: #mkdir -p /usr/lib/oracle/11.2/client64/network/admin/ 1.4 创建监听文件,并添加内容 #vim /usr/lib/oracle/11.2/client64/network/admin/tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = *IP*)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = *SID*) ) ) 1.5 配置环境变量 #vim ~/.bashrc --根目录下为全局使用,为限制用户权限,可只修改某一用户的环境变量 export ORACLE_HOME=/usr/lib/oracle/11.2/client64 export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS_LANG='simplified chinese_china'.ZHS16GBK export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$ORACLE_HOME/bin:$PATH 1.6 使配置完的环境变量生效 #source ~/.bashrc
1)rpm格式包安装配置 1.1 下载以rpm后缀名的包,以11.2.0.4.0 版本为例,其中基础包basic、sql*plus、devel包建议默认下载,其他包视情况而定: oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --基础包,为了运行OCI、OCCI、JDBC-OCI 这几个应用程序; oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm --补充包/文件,是为了运行sql*plus的即时客户端; oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm --补充包/文件,为运行ODBC环境附加库; oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm --补充JDBC下的XA、国际标准、行集操作; oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm --包含头文件和示例文件,为开发Oracle应用程序的即时客户端; 1.2 使用rpm -ivh [包名] 进行安装, 如:rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm 安装的文件默认放在两个位置: 头文件:/usr/include/oracle/11.2/client64/ 下,如果在使用时报错找不到头文件,记得看路径是否是这个。 包文件:/usr/lib/oracle/11.2/client64/ 下,包含{bin、lib}两个文件夹; 1.3 创建文件夹: #mkdir -p /usr/lib/oracle/11.2/client64/network/admin/ 1.4 创建监听文件,并添加内容 #vim /usr/lib/oracle/11.2/client64/network/admin/tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = *IP*)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = *SID*) ) ) 1.5 配置环境变量 #vim ~/.bashrc --根目录下为全局使用,为限制用户权限,可只修改某一用户的环境变量 export ORACLE_HOME=/usr/lib/oracle/11.2/client64 export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS_LANG='simplified chinese_china'.ZHS16GBK export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$ORACLE_HOME/bin:$PATH 1.6 使配置完的环境变量生效 #source ~/.bashrc 1.7 连接数据库测试 #sqlplus /nolog SQL>conn scott/tiger@orcl 2)zip格式包安装配置(只以basic包做为示例) 2.1 下载包:oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip 2.2 将包文件解压到指定目录下: #unzip oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip 解压后的文件存放路径可以自行设定,但是与后面环境变量设定有关,本文设定/home/orcl/ 下。 头文件目录:/home/orcl/sdk/include/ 库文件目录:/home/orcl/instantclient_11_2/ 2.3 创建 network/admin/ 目录:mkdir -p /home/orcl/instantclient_11_2/network/admin/ 2.4 创建监听文件 tnsnames.ora #vim /home/orcl/instantclient_11_2/network/admin/tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.232.131)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) 2.5 配置环境变量 #vim ~/.bashrc export ORACLE_HOME=/home/orcl/instantclient_11_2 export TNS_ADMIN=$ORACLE_HOME/network/adminexport export NLS_LANG='simplified chinese_china'.ZHS16GBKexport export LD_LIBRARY_PATH=$ORACLE_HOME export PATH=$ORACLE_HOME:$PATH 2.6 配置完成后,将环境变量生效 #source ~/.bashrc 2.7 测试连接

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值