日期:2014-05-16  浏览次数:20501 次

oracle EM 管理以及诊断 总结

10g推出的web版oem确实不错 简单 美观 使用 但是大多数的dba可能很少使用oem
所以一定oem出现问题了 绝大多数的人采取的方式就是---重建oem 关于oem的诊断
网上这类文章不多 那我就来个简单的总结吧 ? 抛砖引玉吧 写的不好 请拍砖

?

一、了解OEM的文件结构--log位置
?? $ORACLE_HOME/hostname_sid/sysman/log?? --单实例
?? $ORACLE_HOME/nodename_sid/sysman/log?? --rac
??
?? $ORACLE_HOME/hostname_sid/sysman/log/emdb.nohup --一些java进程的启动或退出信息(比如dbconsole,agent)
?? $ORACLE_HOME/hostname_sid/sysman/log/emagent.log,emagent.trc --aggent的trace信息
?? $ORACLE_HOME/hostname_sid/sysman/log/emoms.log,emoms.trc???? --management service trace信息
?? $ORACLE_HOME/hostname_sid/sysman/log/emdctl.trc,emdctl.log?? --emctl的trace信息
?? $ORACLE_HOME/hostname_sid/sysman/log/emagentfetchlet.trc,emagentfetlet.log --java fetchlets的trace信息
??
??
二、诊断OEM启动


?? 1. 环境变量
??
??? --ORACLE_HOME ,PATH,LD_LIBRARY_PATH,LANG
???? 如下错误:OC4J Configuration Issue: $ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_host_sid not found
????? 通常来说是由于环境变量ORACLE_HOME设置错误或主机名设置错误

???
?? 2. sysman/dbsnmp用户异常
??
??? --SELECT username,account_status from dba_users where username
???? in ('SYSMAN','DBSNMP');
????
????
??? 备注:
?????? --删除DBSNMP
???????? @?/rdbms/admin/catnsnmp.sql
?????? --重建DBSNMP
???????? @?/rdbms/admin/catsnmp.sql


????
?? 3. timezone 时区问题
??
??? --ORACLE_HOME/sysman/admin/supportedtzs.lst 检查该文件时区信息是否和当前环境变量timezone设置一致?
???
??? WINDOWS:???? 控制面板--日期和时间---时区?? 进行设置
??? UNIX、linux: export TZ=xxxx
???
?? 手动配置时区
???? emctl config agent getTZ
???? emctl config agent updateTZ --会更新 ORACLE_HOME/hostname_sid/sysman/config/emd.properties文件
????
???
?? 4. network 网络问题
??
??? --是否是静态IP(不推荐使用DHCP动态IP,其实也是可以的,不过需要进行特殊配置)
??? --hosts文件?? 主机名不能包好 下划线 _
??? --nslookup???
??? --hosts文件格式
?????? 如下:
?????? <ip>???? <full qualified domain name>??????? <alias>
??????
?? 5. configuration 配置错误(比如端口,错误的连接字符串,通常来说跟hosts等有很大关系)
??
????? --lsnrctl status?? 查看监听log
????? --tnsping????? 通常来说相关的错误有ORA-12514 12560等等
?????
????? --检查OEM配置文件
???????? $ORACLE_HOME/hostname_sid/sysman/emd.proerties
???????? $ORACLE_HOME/hostname_sid/sysman/emoms.properties
????????
???
?? 详细的信息大家可以参考: Troubleshooting Database Control Startup Issues [ID 549079.1]
??

三、如果手工重建OEM ?

?? 1. 删除 db control configuration
???? 10.1.x???? $ORACLE_HOME/bin/emca -x <sid>
???? 10.2.x???? $ORACLE_HOME/bin/emca -deconfig dbconsole db
????
?? 2. 删除db control 配置文件??
??
???? 手动删除如下目录:
?????? ORACLE_HOME/hostname_sid
?????? ORACLE_HOME/oc4j/j2ee/_OC4J_DBConsole_hostname_sid
??????
????? 如果是升级后的版本如下:
??????? ORACLE_HOME/hostname_sid.upgrade
??????? ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_hostname_sid.upgrade
???????
???????
?? 注意:如果是windows环境,那么还需要删除db console services
????? 步骤如下:
?????? 方法1:注册表删除
??????? --运行 regedit
??????? --HKEY_LOCAL_MANCHINE/SYSTEM/CurrentControlSet/Services
??????? --删除 OracleDBConsole<sid>
???????
??????? 方法2:命令行
???????
??????? nmesrvops delete <servicename>
???????
??? 3. 删除db control repository
??????
????? 10.1/10.2 :
????????? -- cd $ORACLE_HOME/sysman/admin/emdrep/bin
????????? -- ./RepManger <hostname> <listener_port> <sid> -action drop??? 相关信息可以参考375946.1
?????????
?????????
??? 4. 删除 db control repository 对象
???
??????? -- exec DBMS_AQADM.DROP_QUEUE_TABLE(queue_table=>'SYSMAN.MGMT_NOTIFY_QTABLE',force=>TRUE);
??????? -- SQL> SHUTDOWN IMMEDIATE;
????????? SQL> STARTUP RESTRICT;
????????? SQL> EXEC sysman.emd_maintenance.remove_em_dbms_jobs;
????????? SQL> EXEC sysman.setEMUserContext('',5);
????????? SQL> REVOKE dba FROM sysman;
????????? SQL> DECLARECURSOR
????????? c1 ISSELECT owner, synonym_name nameFROM dba_synonyms
????????? WHER