oracle运维平台开发,Oracle数据库运维
1、未提交事务引起的表的行锁
1.1、判断哪个SESSION执行了DML(Insert/Update/Delete) 但是未提交 (Commit ),引起的行锁
--找到修改了数据,但是未提交的Session,选择WAIT_CALSS='Idle',也就是Session处于休息状态,但是有锁定的表
SELECT A.SID,A.SERIAL#,A.USERNAME,A.EVENT,A.WAIT_CLASS,A.SECONDS_IN_WAIT,A.PREV_EXEC_START,b.LOCKED_MODE,C.OWNER,C.OBJECT_NAME,C.OBJECT_TYPE
FROM V$SESSION A
INNER JOIN V$LOCKED_OBJECT B
ON A.SID=b.SESSION_ID
INNER JOIN DBA_OBJECTS C
ON B.OBJECT_ID=c.OBJECT_ID
WHERE A.WAIT_CLASS='Idle'
AND A.SECONDS_IN_WAIT>10/*SESSION空闲后一段时间还锁定的才算有问题,这里随便给了个数值10秒*/
如果确认这些SESSION确实有问题,可以直接KILL掉,传入前面语句的SID和SERIAL#
ALTER SYSTEM KILL SESSION 'SID,SERIAL#'
如上图,我杀了这两个
ALTER SYSTEM KILL SESSION '139,3558' ;
注:ORACLE有个很有趣的地方,就是KILL SESSION的时候需要填“”SERIAL#“,是为了避免刚刚查询的时候获得了一个SID,然后你打算杀掉他,在这个时间之间,打算杀掉的SESSION结束了断开连接,然后新的SESSION复用了这个SID,也就是避免误杀,SQL SERVER 直接KILL可以了。
2、判断哪些SESSION被阻塞了,且定位到是谁阻塞了,是由于哪个表哪个行引起的阻塞
--当SESSION被阻塞,通过ROW_WAIT_OBJ#,ROW_WAIT_FILE#,ROW_WAIT_BLOCK#,ROW_WAIT_ROW#这几个字段找到ROWID,然后通过ROWID找到被锁定的记录
SELECT SID,SERIAL#,AUDSID,PADDR,USER#,USERNAME,EVENT,WAIT_CLASS,SECONDS_IN_WAIT,ROW_WAIT_OBJ#,ROW_WAIT_FILE#,ROW_WAIT_BLOCK#,ROW_WAIT_ROW#,
BLOCKING_SESSION_STATUS,BLOCKING_INSTANCE,BLOCKING_SESSION,C.OWNER,C.OBJECT_NAME,C.OBJECT_TYPE
,dbms_rowid.rowid_create(1,ROW_WAIT_OBJ#,ROW_WAIT_FILE#,ROW_WAIT_BLOCK#,ROW_WAIT_ROW#)
FROM V$SESSION A
INNER JOIN V$LOCKED_OBJECT B
ON A.SID=b.SESSION_ID
INNER JOIN DBA_OBJECTS C
ON B.OBJECT_ID=c.OBJECT_ID
WHERE BLOCKING_SESSION IS NOT NULL ;
通过上面返回的OBJECT_NAME 和ROWID,知道是由于那个行引起的阻塞
SELECT * FROM 前面返回的表名称
where ROWID=前面返回的ROWID
oracle运维平台开发,Oracle数据库运维相关推荐
- Ansible 企业级自动化运维平台开发实战
一.运维开发 普通的运维方式:使用Xshell或者脚本去操作服务器. 运维开发的方式:可以实现把运维的工作Web化. 运维开发优点:可以把运维工作简单化.运维工作规划化. 运维开发: 负责具体的产品的 ...
- ducter运维平台_开源自动运维管理平台_自动化运维平台 开源
专访运维管理开源平台负责人刁文波:Ducter能 550x364 - 47KB - JPEG 专访运维管理开源平台负责人刁文波:Ducter能 550x381 - 45KB - JPEG 光宇游戏黄振 ...
- 为什么要搞数据库运维平台 附带招聘信息
昨天的招聘信息,相信老粉们都看见了,目前所在的新公司在这方面是有投入的,那么数据库运维平台到底是一个什么东西,与我们商业的一些数据库运维平台之间的区别在哪里,并且这个行业的到底有没有发展,我有一些想法 ...
- 低代码、高敏捷的智和网管平台,运维平台二次开发极简化
随着信息化进程加快,企业户业务规模的不断扩大,整个IT运维环境变得日益复杂,传统的被动.孤立.半自动式的运维手段已经无法满足运维人员实际运维需求,自动.智能化运维势在必行.但是,任何一款运维软件都无法 ...
- 智能化IT运维平台建设方案,基于智和信通运维体系的高敏捷二次开发
随着企业信息进程不断加速,运维人员需要面对越来越复杂的业务和越来越多样化的用户需求,不断扩展的应用需要越来越合理的模式.越来越智能的工具来保障运维能灵活便捷.安全稳定地开展.企业网络规模的不断扩大,从 ...
- SSM医院移动收费运维平台毕业设计源码161045
目 录 摘要 1 绪论 1.1 开发意义 1.2研究现状 1.3论文结构与章节安排 2医院移动收费运维平台系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流 ...
- DevOps之运维平台构建
如今很多人认为devops将彻底取代传统运维,我不这么认为,在我看来devops只是很大程度上的代替了传统运维的手工操作,运维人员只需写好自动化运维脚本,利用自动化工具(zabbix,elk,ansi ...
- SSM+医院移动收费运维平台 毕业设计-附源码161045
目 录 摘要 1 绪论 1.1 开发意义 1.2研究现状 1.3论文结构与章节安排 2医院移动收费运维平台系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流 ...
- 基于Python的企业级运维平台 了解一下?
2018年3月21-22日,由中国信息通信研究院主办.中国通信标准化协会支持的"OSCAR云计算开源产业大会"在国家会议中心举行.DevOps论坛作为分论坛之一,于21日下午召开. ...
最新文章
- 【Qt】QT_BEGIN_NAMESPACE 和 QT_END_NAMESPACE
- OpenCV入门要掌握的基本函数
- Science:基于微生物条形码系统的高分辨率物源追踪技术
- Apollo本地jar包启动方法
- 代码的坏味道:控制结构嵌套太深
- 制作登录注册密码找回网站常用控件
- Fedora和Red Hat Enterprise Linux实用指南(第6版)(套装上下册)火热上市!!!!
- 错误与异常_2-7选择题
- python bytes转int_Python学习进阶教程(11)—数值类型
- 基于SpringBoot的外卖点餐小程序 餐厅点单小程序
- 帐号登录:oAuth2.0流程
- Tableau Desktop 10.4.2 的安装和激活
- WPS for linux 安装及windows字体添加
- 【95】太空射击游戏——玩家代码
- base64还原成图片
- 支持服务器和客户端杀毒软件,服务器上小心使用杀毒软件和软件防火墙
- 亚马逊产品该如何定价?这9种定价策略你一定要了解哦!
- 倍福TwinCAT3中使用久同伺服
- 今日头条“偷偷复活”内涵段子,那快播是不是也能重生了?
- UVA, 10286 Trouble with a Pentagon
热门文章
- 基於MySQL+PHP的羽毛球費用查询网站设计
- HTML和CSS入门
- Pandas知识点-统计运算函数
- ExtJs2.0学习系列(12)--Ext.TreePanel之第一式
- JAVA中ByteArrayInputStream和ByteArrayOutputStream详解
- oracle的临时表和With As总结
- Malta中any函数
- Matlab中用到的bsxfun函数
- Opencv--resize函数五种插值算法实现
- Ubuntu16.04 sudo apt-get install lib***-dev安装失败,无法锁定文件,sudo apt-get update 更新失败也无法解决