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

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