oracle pmon 多长时间,oracle 11g pmon工作内容系列一
背景
熟悉PMON的含义及工作内容。
结论
1,pmon可以用10246 event进行跟踪PMON工作过程
2,pmon工作内容如下:
后经查询官方手册发现,PMON的工作内容如下:
1,监控后台进程运行状况
2,如果某些进程异常中断,PMON去释放会话资源以及占用的锁LOCK
3,更新事务表的标志以及清除事务XID的标记
4,清除异常中断会话在BUFFER CACHE占用的缓存
5,PMON也负责定期把数据库实例注册到监听器中
3,10246 EVENT产生的TRACE FILE分析摘录
--PMON接到通知
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksl2.h LINE:2160 ID:kslges, process=6c, post_num=5
*** 2015-11-01 21:49:30.646
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksl2.h LINE:2160 ID:kslges, process=39, post_num=6
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12751 ID:ksupsc, process=b8, post_num=7
*** 2015-11-01 22:03:02.812
deleting session 0xdc97f1b0 sid=201 serial=188 --PMON发现上述测试会话被人为KILL
*** 2015-11-01 22:03:03.382
deletion of killed session 0xdc97f1b0 successful
--这里就是ORACLE内核代码负责清理被KILL会话占用的资源
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12737 ID:ksuabt, process=0, post_num=8
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=9
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=10
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=11
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=12
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=13
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=14
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=15
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=16
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=17
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=18
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=19
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=20
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=21
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=22
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=23
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=24
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=25
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=26
PMON ignoring post from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2
*** 2015-11-01 22:03:06.428
marked process 0xdd6589c0 pid=184 serial=2 ospid = 11635 dead --PMON清理完被KILL后,标记为DEAD
*** 2015-11-01 22:03:06.446
deleting process 0xdd6589c0 pid=184 serial=2 priority=0 --然后删除这个会话对应的操作系统进程资源
deletion of process dd6589c0 pid=184 seq=2 successful
测试
1,数据库版本
SQL> select * from v$version where rownum=1;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
2,跟踪pmon
SQL> alter session set tracefile_identifier='pmon_test1';
Session altered.
SQL> alter system set events='10246 trace name context forever,level 1';
System altered.
3,用户测试会话
SQL> select sid from v$mystat where rownum=1;
SID
----------
201
SQL> select sid,serial# from v$session where sid=201;
SID SERIAL#
---------- ----------
201 188
SQL> create table t_pmon(a int,b int);
Table created.
SQL> insert into t_pmon select level,level from dual connect by level<=1000000;
insert into t_pmon select level,level from dual connect by level<=1000000
*
ERROR at line 1:
ORA-00028: your session has been killed
ORA-00028: your session has been killed
--另启会话杀掉正在插入记录的上述测试会话
SQL> alter system kill session '201,188';
System altered.
3,关闭pmon跟踪
SQL> alter system set events='10246 trace name context off';
System altered.
4,查看pmon的TRACE FILE
--PMON接到通知
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksl2.h LINE:2160 ID:kslges, process=6c, post_num=5
*** 2015-11-01 21:49:30.646
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksl2.h LINE:2160 ID:kslges, process=39, post_num=6
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12751 ID:ksupsc, process=b8, post_num=7
*** 2015-11-01 22:03:02.812
deleting session 0xdc97f1b0 sid=201 serial=188 --PMON发现上述测试会话被人为KILL
*** 2015-11-01 22:03:03.382
deletion of killed session 0xdc97f1b0 successful
--这里就是ORACLE内核代码负责清理被KILL会话占用的资源
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12737 ID:ksuabt, process=0, post_num=8
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=9
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=10
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=11
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=12
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=13
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=14
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=15
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=16
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=17
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=18
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=19
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=20
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=21
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=22
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=23
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=24
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=25
PMON posted from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2, post_num=26
PMON ignoring post from location=FILE:/ade/b/1640894963/oracle/rdbms/src/hdir/ksu.h LINE:12763 ID:ksuxfd, process=2
*** 2015-11-01 22:03:06.428
marked process 0xdd6589c0 pid=184 serial=2 ospid = 11635 dead --PMON清理完被KILL后,标记为DEAD
*** 2015-11-01 22:03:06.446
deleting process 0xdd6589c0 pid=184 serial=2 priority=0 --然后删除这个会话对应的操作系统进程资源
deletion of process dd6589c0 pid=184 seq=2 successful
继续测试,如果我们让PMON阻塞,再手工KILL测试会话会如何呢
SQL> select pid,spid from v$process where pname='PMON';
PID SPID
---------- ------------------------------------------------
2 10556
SQL> oradebug setospid 10556
Oracle pid: 2, Unix process pid: 10556, image: oracle@seconary (PMON)
SQL> oradebug suspend
Statement processed.
没看到任何有价值的内容
换个思路,如果阻塞PMON,事务提交会不会正常进行呢
SQL> oradebug setospid 10556
Oracle pid: 2, Unix process pid: 10556, image: oracle@seconary (PMON)
SQL> oradebug suspend
Statement processed.
可见事务提交不受影响
SQL> update t_pmon set a=111 where a=1;
1 row updated.
SQL> commit;
Commit complete.
后经查询官方手册发现,PMON的工作内容如下:
1,监控后台进程运行状况
2,如果某些进程异常中断,PMON去释放会话资源以及占用的锁LOCK
3,更新事务表的标志以及清除事务XID的标记
4,清除异常中断会话在BUFFER CACHE占用的缓存
5,PMON也负责定期把数据库实例注册到监听器中
oracle pmon 多长时间,oracle 11g pmon工作内容系列一相关推荐
- 新手篇——学习网页开发需要多长时间就能找到工作
2019独角兽企业重金招聘Python工程师标准>>> 近几年Web前端框架层出不穷,比如 React, Vue, AngulaJS等吸引了大量的注意力,前端技术发展势头迅猛,各大互 ...
- oracle 闪回 多长时间,Oracle闪回
select t.NAME,t.CURRENT_SCN,t.FLASHBACK_ON From v$database t; --闪回设置 --mount状态开启flashback alter data ...
- oracle查询过程中卡住,查看Oracle中存储过程长时间被卡住的原因
1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CUX_OE_ORDER_RPT_PKG' AND LOCKS!='0 ...
- oracle sql 获取当前时间,Oracle 在SQL语句中如何获取系统当前时间并进行操作
### 前言 Oracle中如何获取系统当前时间进行语句的筛选是SQL语句的常见功能 获取系统当前时间 date类型的: select sysdate from dual; char类型的: sele ...
- oracle添加表空间时间,Oracle基于表空间的时间点恢复
1.测试环境 03:57:50 SQL> conn scott/tiger Connected. 03:57:57 SQL> 03:59:43 SQL> select * from ...
- web软件测试 测试报告模板_杭州软件测试培训要多长时间?需要学习什么内容?...
全栈软件测试工程师行业平均薪资11680元每月,数据来源于职友集,薪资待遇高,就业前景好,越来越多的人看重选择软件测试行业,通过培训入行无疑是最好的选择,那杭州软件测试培训要多长时间?需要学习什么内容 ...
- 查看Oracle中存储过程长时间被卡住的原因
1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CUX_OE_ORDER_RPT_PKG' AND LOCKS!='0 ...
- oracle闪回能保存多长时间,Oracle闪回
Oracle闪回 作用:自动基于磁盘的备份与恢复,能把表恢复到过去的某个时间点或者SCN. 1.查看闪回区 SQL>show parameter db_recovery_file_dest; 查 ...
- oracle归档日志保留时间,Oracle 11g Data Guard 备库归档日志清理脚本(保留一周归档)...
#!/bin/sh #clean archived log #author jiadingyi #version 1.0 2015/11/04 #设置数据库环境变量 TMP=/tmp export T ...
- oracle闪回能保存多长时间,oracle闪回那些事
开启闪回数据库 alter database flashback on; alter database open; 修改日期时间显示格式: alter session set nls_date_fo ...
最新文章
- windows7下解决caffe check failed registry.count(type) == 1(0 vs. 1) unknown layer type问题
- 美国多所高校宣称9月线下开学,纽约大学教授:请停止妄想!
- c#与halcon模板匹配控制EPSON四轴机器人输出旋转角度
- 个性化选修——软件工程相关笔记
- winpython使用教程-winpython是什么
- 把char*转换为wchar_t*
- 手把手教你pyqt中.qrc图片文件的编写和使用
- SQLServer 2014 本地机房HA+灾备机房DR解决方案
- Windows系统中安装Python模块pip numpy matplotlib
- 2058. 找出临界点之间的最小和最大距离
- 如何添加媒体控件Windows Media Player到工具箱中
- 2020年假期结束!支付宝发布国庆中秋黄金周报告:出行人次、购买力惊人!
- JavaCC报错: JavaCC reported exit code 1: [-LOOKAHEAD=1, -STATIC=false
- Vue项目中关闭Eslint
- android 移除泛型中元素_最新(2020)Android高级面试知识点干货分享(二)
- 【建站教程】如何快速搭建自己独立的个人博客?
- java将Word转换成PDF三种方法
- 一起来学FPGA(vhdl)三:分频器实验
- LMDB:轻量级内存映射数据库-----入门使用1
- 垃圾纸盒的叠法-超级实用
热门文章
- 无法确认设备和计算机之间的连接,代码45的8种解决方法 - 硬件设备没有连接到计算机...
- 一款用C++语言实现的3D游戏引擎(附源码),适用于想学3D游戏开发
- 华硕bios更改固态硬盘启动_华硕主板BIOS设置固态硬盘启动顺序为第一启动硬盘教程...
- Diamond软件的使用--(1)软件安装及配置
- 【图像去噪】基于马尔可夫随机场实现图像去噪附matlab代码
- 数据包络分析法(DEA)_2
- 海豚湾在哪_前任3再见前任里的海豚湾在哪 电影拍摄取景地点介绍
- 计算机人工智能领域英文文献,人工智能英文参考文献精选(3)
- 层次分析法原理及计算过程详解
- (解决中文标签无法显示问题)Networkx绘制《清明上河图密码》主要人物社交关系网络图