首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>oracle>正文

深入讲解阻塞现象的产生原因及处理方法

http://www.oklinux.cn  2008-03-20  来源: 阻塞 lantian  会员收藏  游客收藏  【 】 

【赛迪网-IT技术报道】1. 使用 sp_who 这个存储过程, 查询sql上的当前进程, 观察 blk 列值是否有不为0的, 如果有不为 0 的, 表示有阻塞, 产生阻塞的进程的 spid 即是 blk 列值, 被阻塞的进程是 列 blk 值不为0的记录行对应的 spid。

2. 执行 sp_lock

3. 执行 sp_lock

4. 结合 2, 3 分析原因。

5. 使用 dbcc inputbuffer(

如果要自动删除阻塞的进程, 那么写一个 job 定期查询 sp_who , 将 blk 列值不为 0 的记录找出来, 用 kill 杀掉相关的进程即可。

注意, 一般不要轻易杀进程, 如果你的程序没有写好, 可能会导致不完整的数据。

例如, 在写订单主表和明细表的处理中, 没有使用事务, 当主表数据插入完成, 准备插入明细表数据时, 产生阻塞, 被你的监控程序 kill 掉的话, 就导致数据库中有不完整的订单(只有主表, 没有明细数据)。

另外, 如果你的程序的错误处理没有控制好, 则这样杀进程也容易导致程序崩溃, 丢失等。

另外, 查询进程相关的信息也可以直接查询 master.dbo.sysprocesses, 这里包含完整的信息, 你可以通过 blocked 列看是否有阻塞发生, 也可以看诸如登录的用户, 客户端, 使用此进程的前端applicationame等信息。


上一篇:Oracle数据库百分比格式化的解决方案   下一篇:Oracle 9.2.0.1版本函数编译的一个BUG


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Oracle 9.2.0.1版本函数编译的一个BUG
·Oracle数据库百分比格式化的解决方案
·讲解jython访问Oracle数据库的具体步骤
·Oracle利用传输表空间导出导入数据的步骤
·Oracle数据库中如何对时间格式进行处理
·如何使用pipeline function获得实时输出
·深入讲解Oracle数据库的多栏输出语句
·教你快速掌握Oracle数据库的周数计算
·带你轻松接触Oracle DBLink的简单运用
·实例讲解"Oracle"数据库的分页显示
·通过幸存的Oracle文件修复Oracle9i数据
·详细讲解获得当前"SCN"的几种有效方式
·快速解决"Oracle"数据库中的常见问题
·用SYS执行全文索引的建立时出现权限不足
·实例讲解Oracle中一些关于权限的数据字典
·详细讲解Oracle表分区的相关概念及其优点
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Oracle 9.2.0.1版本函数编译的一个BUG
·Oracle数据库百分比格式化的解决方案
·讲解jython访问Oracle数据库的具体步骤
·Oracle利用传输表空间导出导入数据的步
·Oracle数据库中如何对时间格式进行处理
·如何使用pipeline function获得实时输
·深入讲解Oracle数据库的多栏输出语句
·教你快速掌握Oracle数据库的周数计算
·带你轻松接触Oracle DBLink的简单运用
·实例讲解"Oracle"数据库的分页显示
·通过幸存的Oracle文件修复Oracle9i数据
·详细讲解获得当前"SCN"的几种有效方式
  阅读排行
·如何修改遗失的MySQL的ROOT用户密码
·详解远程SHELL下安装配置RedHat ES 5的
·教你如何将MySQL数据库的密码恢复
·教你在MySQL从口令恢复设置的密码
·在 Oracle Enterprise Linux 上升级到
·oracle9i installation on fedora core
·Oracle Instant client介绍
·Oracle高级复制(同步复制)配置步骤详细
·用Oracle归档日志进行恢复的方法
·Oracle 数据库存储结构简介
·Linux下的Oracle数据库编程详解
·Linux下Oracle9i RMAN备份及恢复步骤介
·带你轻松接触一些比较常用的sql*plus命
·Oracle的快照复制
·Oracle HA 在Unix上双机环境的安装指南
网摘收藏: