JSP 操作数据库时有时会锁定一条记录,在PLSQL查询得到锁定哪个表哪行记录,不知道能不能查询得到是哪条语句锁定了这行数据?或者有其它什么更好的法子,去解决这个问题?
解决方案 »
- 关于sequence的问题!!!
- IT综合技术交流群(15557577)现急需软件开发方面高手加盟助阵
- 报‘动态链接库c:\winnt\system32\user32.dll初始化失败,进程非正常终止’错?sos!小妹急等!
- 类似的ORACLE 数据库中的SQL语句怎么写呀?
- 游标的使用问题!!!!请大家指教!!!!!!!!!!!!!
- oracle中数据字段定义,和读取问题,急
- 大虾们,SELECT语句里面怎么用prior by字句?
- Oracle 9i有没有得到连接客户端主机名的函数
- 高手帮忙,access数据向oracle转换
- linux镜像系统 怎么安装oracle10g 所需的软件包
- 求一sql 语句,急!!!
- 关于oracle数据库查询的一个问题
SELECT s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,all_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT Null
select a.session_id ,b.* from v$locked_object a,all_objects b
where a.object_id=b.object_id-- 查出对应的SQL语句
select vs.SQL_TEXT,vsess.sid,vsess.SERIAL#,vsess.MACHINE,vsess.OSUSER
,vsess.TERMINAL,vsess.PROGRAM,vs.CPU_TIME,vs.DISK_READS
from v$sql vs,v$session vsess
where vs.ADDRESS=vsess.SQL_ADDRESS
and vsess.sid=(上面查出来的会话ID)
SELECT s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,all_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT Null up
2、自己用PLUS SQL工具打开“工具栏”可以看到进程查看的选项,再用点击KILL就可以了。
select s.sid,
s.serial#,
do.object_name,
l.oracle_username,
s.machine,
l.os_user_name,
l.locked_mode
from v$locked_object l, dba_objects do, v$session s
where do.object_id = l.object_id
and s.sid = l.session_id;接着:
alter system kill session 'sid,#serial';OK!
Update DOL_PROJECT set P_END_DATE=sysdate,P_STATE='1',P_MATERIAL='101000',P_OTHERSTUFF='' where P_ID='1248'这条有什么问题么?以下是执行的代码,能帮分析下不?public void PassDeclare(String strID,String strMaterial,String otherStuff) { // 建立数据库连接类的对象CCDB
CommConnDataBase objResuInfo = new CommConnDataBase();
// 设置状态集为空
String strUp = "Update DOL_PROJECT set P_END_DATE=sysdate,P_STATE='1',P_MATERIAL='"+strMaterial+"',P_OTHERSTUFF='"+otherStuff+"' where P_ID='" + strID + "'";
System.out.println("审核通过"+strUp);
try {
// 更新指定的数据
objResuInfo.executeSql(strUp);
} catch (Exception e) {
System.out.print(e.getMessage());
} finally {
// 释放连接对象,交回连接池处理
objResuInfo.Release();
}
}