EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS的刪除創建

来源:http://www.cnblogs.com/kerrycode/archive/2016/03/06/5246607.html
-Advertisement-
Play Games

在最近的一次優化過程中發現了ORACLE 10g中一個作業EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS執行相當頻繁,其實以前也看到過,只是沒有做過多的瞭解和關註。這個任務在某些版本或某些情況會引起一些性能問題。其實EMD_MAINTENANCE.EXECUTE_...


    在最近的一次優化過程中發現了ORACLE 10g中一個作業EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS執行相當頻繁,其實以前也看到過,只是沒有做過多的瞭解和關註。這個任務在某些版本或某些情況會引起一些性能問題。其實EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS這個作業是為Database Control收集相關數據的一個作業,如果沒有使用Database Control,完全可以刪除。下麵是官方介紹資料

 

The EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS job performs all the necessary maintenance tasks for the database control repository. These tasks include :

+ Agent Ping Verification (EM_PING.MARK_NODE_STATUS)

+ Job Purge (MGMT_JOB_ENGINE.APPLY_PURGE_POLICIES)

+ Metric Rollup (EMD_LOADER.ROLLUP)

+ Purge Policies (EM_PURGE.APPLY_PURGE_POLICIES)

+ Repository Metric Severity Calculation (EM_SEVERITY_REPOS.EXECUTE_REPOS_SEVERITY_EVAL)

+ Repository Side Collections (EMD_COLLECTION.RUN_COLLECTIONS)

+ Send Notifications

This job should be running every minute for performing all the above operations.

 

如下所示,它執行的頻繁相當頻繁,一分鐘執行一次

SQL> SELECT SCHEMA_USER, WHAT, INTERVAL FROM DBA_JOBS 
  2  WHERE WHAT='EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS();';
 
SCHEMA_USER          WHAT                                        INTERVAL
----------- -------------------------------------------- -------------------------
SYSMAN       EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS();   sysdate + 1 / (24 * 60)
 
SQL> 

移除EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS

 

如何移除這個任務呢,一般情況下使用要用sysman用戶登錄操作,具體步驟如下所示:

 

1:首先檢查用sysman賬號是否鎖定了,如果鎖定了需要解鎖,如果沒有的話,直接跳過這一步

SQL> show user;
USER is "SYS"
SQL> select username,account_status from dba_users where username='SYSMAN';
 
USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SYSMAN                         EXPIRED & LOCKED
 
SQL> alter user sysman account unlock;
 
User altered.
 
SQL> alter user sysman identified by newpassword;
 
User altered.

 

2:查看並設置參數job_queue_processes為0(當設定該值為0的時候則任意方式創建的job都不會運行)

SQL> show parameter job_queue_processes;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes                  integer     10
SQL> alter system set job_queue_processes=0;
 
System altered.
 
SQL> select * from dba_jobs_running;
 
no rows selected
 
SQL> select * from dba_jobs_running;
 
no rows selected
 
SQL> select * from dba_jobs_running;
 
no rows selected

 

3. 以sysman登錄執行下麵腳本,移除該作業

SQL> exec sysman.emd_maintenance.remove_em_dbms_jobs;
 
PL/SQL procedure successfully completed.
 
SQL> commit;
 
Commit complete.
 
SQL> 

當然也可以執行下麵腳本來移除任務

SQL> @<ORACLE_HOME>\sysman\admin\emdrep\sql\core\latest\admin\admin_remove_dbms_jobs.sql;

 

4:查詢DBA_JOBS視圖,確認任務是否移除,重設參數job_queue_processes值

If the EM jobs were submitted as SYS (or another SYSDBA account), the removal must be done as SYS (or that specific) account.

註意:如果EM的作業是以sys或者其他sysdba提交的,則必須使用sys賬號登錄才能移除,上面以sysman登錄執行的腳本並不能移除該任務。具體可以在查詢作業的時候留意LOG_USER欄位(LOG_USER的值為sysman的才是sysman提交的,否則為其它sysdba)。切記切記。

clip_image001

 

重建EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS

 

1:以sysman用戶登錄,確認參數job_queue_processes不為0

SQL> show user;
USER is "SYSMAN"
SQL>  show parameter job_queue_processes
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes                  integer     0
SQL> alter system set job_queue_processes=10;
 
System altered.

 

2:執行下麵腳本

SQLexec emd_maintenance.submit_em_dbms_jobs; 
 
PL/SQL procedure successfully completed.
 
SQL>@<ORACLE_HOME>\sysman\admin\emdrep\sql\core\latest\admin\ 
admin_submit_dbms_jobs.sql; 

 

3:重編譯無效對象

PL/SQL procedure successfully completed.
 
SQL> exec emd_maintenance.recompile_invalid_objects;
 
PL/SQL procedure successfully completed.
 
SQL> 
 
For 11.1.0.7.0 and above databases:
SQL> exec emd_maint_util.recompile_invalid_objects;

clip_image002

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 原文出處: 安卓弟(@_安卓弟) 在Android中,JSBridge已經不是什麼新鮮的事物了,各家的實現方式也略有差異。大多數人都知道WebView存在一個漏洞,見WebView中介面隱患與手機掛馬利用,雖然該漏洞已經在Android 4.2上修複了,即使用@JavascriptInterface
  • 要問Android開發中最常用的控制項是哪一個,那一定非TextView莫屬,TextView作為Android最常用的文字顯示控制項,具有簡易並且強大的特性。 首先通過一個示例看一看TextView的使用簡單到了一個什麼樣的程度,如下麵代碼……
  • 原文出處: martin_wjl(@martin_wjl) 對於圖片拉伸是移動開發中很常見的需求,在前一陣子做項目中需要做一個類似於QQ聊天氣泡,這個氣泡會根據文字的多少而變化,當時有了三種方案: 重寫drawRect方法,使用貝賽爾曲線畫一個氣泡 用一個大圖作為背景,管它怎麼拉伸,肯定不會變形 使
  • 在平常中我們可以通過使用SQL批量更新或新增更新資料庫數據,對於這些都是有邏輯的數據可以這樣處理但是對於無邏輯的數據我們如何處理(這裡的數據比較多)。 我是通過Excel的方式來處理的。以下已插入為例。 第一步獲取要插入的語句獲取。 INSERT INTO dbo.Tuser( UserName,
  • 上次說了同一個對象裡面不同觸發器的執行順序。今天我也想分享一些我在同一個表裡面,建上不同的唯一約束,不同的唯一索引,看下結果會怎樣 首先簡單建個測試表,不多,就4列 CREATE TABLE AAA3 (ID INT IDENTITY(1,1),Col1 VARCHAR(50),Col2 VARCH
  • 簡易型: C# DBHelper Code using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.
  • 修改表名 格式:sp_rename tablename,newtablename sp_rename tablename,newtablename 修改欄位名 格式:sp_rename 'tablename.colname',newcolname,'column' sp_rename 'tablen
  • 資料庫:DB(Database) 資料庫系統:DBS(Database System):是一種虛擬的系統,將多種內容關聯起來的稱呼 DBS = DBMS +DB DBMS:Database Management System,資料庫管理系統,專門管理資料庫 DBA:Database Administ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...