在我的程序中,SELECT SENSOR_ID, B.REPVALUE, B.METTIME
FROM BRN_YXJX_RT_SENSORS S
JOIN CMETVALUE1_YBDL B ON S.TAG1 = B.METID
AND B.METTIME > :b1
AND B.VALUETYPE = 1
WHERE S.READ_FROM = 3
AND S.SENSOR_ID = :b2
执行这个sql语句的进程每运行一个小时就死锁了,并且每次在oracle里显示的时间(登陆时间,上次活动时间间隔)都是1小时一次,锁类型:TX,占用模式Exclusive,请求的模式:NONE 对象名等等都是空白的。
这个sql语句在pl/sql里加上参数执行,只用了0.4秒,CMETVALUE1_YBDL 这个表是通过dbLink连接的其他数据库,是某个表的同义词。
为何我这个sql语句会产生锁呢?每次kill掉以后,总是在那个oracle锁列表里挺着,一直不消失,这是为啥呢?
请高手分析一下。
FROM BRN_YXJX_RT_SENSORS S
JOIN CMETVALUE1_YBDL B ON S.TAG1 = B.METID
AND B.METTIME > :b1
AND B.VALUETYPE = 1
WHERE S.READ_FROM = 3
AND S.SENSOR_ID = :b2
执行这个sql语句的进程每运行一个小时就死锁了,并且每次在oracle里显示的时间(登陆时间,上次活动时间间隔)都是1小时一次,锁类型:TX,占用模式Exclusive,请求的模式:NONE 对象名等等都是空白的。
这个sql语句在pl/sql里加上参数执行,只用了0.4秒,CMETVALUE1_YBDL 这个表是通过dbLink连接的其他数据库,是某个表的同义词。
为何我这个sql语句会产生锁呢?每次kill掉以后,总是在那个oracle锁列表里挺着,一直不消失,这是为啥呢?
请高手分析一下。
解决方案 »
- 做数据文件恢复时出现ORA-01179: 文件 不存在,怎么解决?
- ORA-03113: end-of-file on communication channel
- 加快oracle数据导入
- Oracle 10g如何访问MSSQL数据库中的数据??
- 请教,DBMS_JOB.SUBMIT创建定时任务的问题
- 怎样将记录的sql语句完整保存到文件
- 大家知不知道sap的hr产品一般的价格是多少?
- sqlldr控制文件的写法
- 用哪个命令来分析SQL语句的执行效率?
- 我总结的RedHat8.0 + Oracle9.0.2 + Proc(Pro*c)的环境设定以及Makefile的编写! 希望对大家有帮助!
- 问大家一下,sql字符串替换的问题,谢谢!
- 一个SQL语句
除非你这么写,SELECT A,B,C FROM TEST WHERE A=1 FOR UPDATE
这个DBLINK的SELECT 会分配回滚段吗?
至少我在10G里应用DBLINK之后跨库查询并不会出现锁的问题,而且我觉得这个问题也不是事务的问题.
分配回滚段又如何呢?我的这个select语句写在 for语句之内,类似于 for (select )loop 一条条插入 endloop;其实我每插入一条就commit了
原来使用的是 insert 表 select。。,结果产生的锁压根删不掉 我以为这个批量插入有问题,就改成上面的了,
这个程序1-2月份并没问题,现在突然老是死锁了