`
wxb880114
  • 浏览: 672927 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle EM 治理以及诊断 总结__(转载)

阅读更多
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
          WHERE table_owner = 'SYSMAN';
          BEGINFOR r1 IN c1
          LOOPIF r1.owner = 'PUBLIC' THENEXECUTE IMMEDIATE
           'DROP PUBLIC SYNONYM '||r1.name;ELSEEXECUTE IMMEDIATE 'DROP SYNONYM '||r1.owner||'.'||r1.name;
           END IF;END LOOP;
           END;
           /
          
           SQL> DROP USER mgmt_view CASCADE;
           SQL> DROP ROLE mgmt_user;
           SQL> DROP USER sysman CASCADE;
           SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION;
          
         通过下面的几个步骤可以更加彻底的删除:
         SQL> drop user sysman cascade;
         SQL> drop role MGMT_USER;
         SQL> drop user MGMT_VIEW cascade;
         SQL> drop public synonym MGMT_TARGET_BLACKOUTS;
         SQL> drop public synonym SETEMVIEWUSERCONTEXT;    
        
      
      
      
     5. Delete DB Control Configuration Files and Repository Objects using EMCA

         10.1 :
         -- <ORACLE_HOME/bin/emca -x sid
         ---<ORACLE_HOME/sysman/admin/emdrep/bin/RepManager <hostname> <listener_port> <sid> -action drop
        
         10.2:
          
          --<ORACLE_HOME/bin/emca -dbconfig dbcontrol db -repos drop
         
        
        
     6. 创建db control
      
           1)创建db control配置文件
             10.1 ---<ORACLE_HOME>/bin/emca -r
             10.2 --<ORACLE_HOME>/bin/emca -config dbcontrol db

           2)创建db control repostory
             10.1 --<ORACLE_HOME>/bin/emca
             10.2 --<ORACLE_HOME>bin/emca -config dbcontrol db -repos create/recreate
            
          备注:rac环境需要添加cluter参数 如下:
         
             emca -config dbcontrol db -repos create -cluster
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics