EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS的删除创建
在最近的一次优化过程中发现了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)。切记切记。
重建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:执行下面脚本
SQL> exec 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;
EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS的删除创建的更多相关文章
- EDIUS删除创建的工程预设的教程
自从第一次启动EDIUS 8,创建了一个工程预设,之后每次启动软件都会出现,但创建的预设又用不着了,如何删除呢?下面,小编就 给大家演示如何正确删除EDIUS 8工程预设. 1.启动软件,点击设置菜单 ...
- 产线事故:删除创建mysql索引
单表数据量:670W: 删除一个老的索引,新建一个新的索引. 事故原因: 先删除索引,应用访问量大,没有索引自然慢,数据库CPU飚到100%:新索引创建失败. 直接造成交易打烊. 日志: ------ ...
- gitlab怎么删除创建的项目
在gitlab新建了一个项目,怎么将此项目删除呢?打开这个工程,点击右上角的“settings”拉到最下面,有个show them to me,点击~在下拉选项的最后,有个remove框,点击即可以彻 ...
- javascript ActiveXObject FileSystemObject 对象,创建、复制、删除、读取文件等
Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼.富有朝气.但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进行读.写和删除,就象在VB.VC等高 ...
- linux创建用户与删除用户及问题解决(ubuntu)
创建的用户不正确,一直在删除创建,发现了挺多问题也学到了一些东西如下是我的总结. (root用户设置: 由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在终端 ...
- Oracle 删除用户和表空间------创建表空间和用户
步骤一: 删除user drop user ×× cascade 说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的. 步骤二: 删 ...
- 05Microsoft SQL Server 表创建,查看,修改及删除
Microsoft SQL Server 表创建,查看,修改及删除 创建表 创建普通表 use 数据库名称 go create table 表名称( 列1 ) not null, 列2 ) not n ...
- 04Microsoft SQL Server 数据库创建,查看,使用,修改及删除
Microsoft SQL Server 数据库创建,查看,使用,修改及删除 创建数据库 创建普通数据库 USE [master] GO CREATE DATABASE [MyDataBase] -- ...
- mysql判断是否存在数据库和表,进行删除和创建
1.存在莫数据库,则删除创建一个新库 drop database if exists `tpm_business`; CREATE DATABASE tpm_business DEFAULT CHAR ...
随机推荐
- WebView输入框提示
做基于WebView应用时,页面上有一个输入框,当输入的文字过多时,超过输入框的行数时,输入框能够滚动,这时间问题来了,输入的提示箭头会移动到输入框外,如何解决这个问题呢,查找chromium源码如下 ...
- C# IDisposable接口
public class MyClass : IDisposable { public int a; public MyClass() { //构造 } public void Dispose() { ...
- 背水一战 Windows 10 (8) - 控件 UI: StateTrigger
[源码下载] 背水一战 Windows 10 (8) - 控件 UI: StateTrigger 作者:webabcd 介绍背水一战 Windows 10 之 控件 UI VisualState 之 ...
- HDU 3328 Flipper 栈 模拟
首先想说,英语太烂这题读了很长时间才读懂......题意是说输入有几张牌,然后输入这些牌的初始状态(是面朝上还是面朝下),然后输入操作方式,R表示翻一下右边的牌堆,L表示翻一下左边的牌堆,直到最后摞成 ...
- php取默认值以及类的继承
(1)对于php的默认值的使用和C++有点类似,都是在函数的输入中填写默认值,以下是php方法中对于默认值的应用: <?phpfunction makecoffee($types = array ...
- Struct2
1.MVC思想概述 Servlet作为前端控制器,负责接收客户端发送的请求,在Servlet中只包含控制逻辑和简单的前端处理:然后调用后端javabean来完成实际的逻辑处理: 最后转发到相应的jsp ...
- maven 检查依赖冲突和版本冲突
maven 检查依赖冲突和版本冲突 在项目发布的时候,一般都需要进行依赖冲突检查或者重复类的检查,这个时候我一般会使用下面的两个命令: 1 2 3 mvn -U clean package - ...
- 两个与spring事务相关的问题
有些spring相关的知识点之前一直没有仔细研究:比如spring的事务,并不是没有使用,也曾经简单的在某些需要事务处理的方法上通过增加事务注解来实现事务功能,仅仅是跟随使用(甚至并未测试过事务的正确 ...
- 设计模式——Spring IoC中用到的模板方法模式
基本概念 什么是模板方法(Template method):父类定义了骨架(调用哪些方法及顺序),某些特定方法由子类实现. 最大的好处:代码复用,减少重复代码.除了子类要实现的特定方法,其他方法及方法 ...
- CSS3与页面布局学习笔记(三)——BFC、定位、浮动、7种垂直居中方法
一.BFC与IFC 1.1.BFC与IFC概要 BFC(Block Formatting Context)即“块级格式化上下文”, IFC(Inline Formatting Context)即行内格 ...

