你得把注释去掉  //时注释符号,sqlplus的--你如果使用pb的话,配置一个system用户的profile就可以直接使用
// SELECT-SQL2
// 功能:检查被加锁的对象以及加锁的会话信息
//   如果需要手工解除锁,请对照要解锁的对象,记下SESSION_ID,SERIAL#项,然后运行下面的ALTER-SQL1
//select LOCK_INFO.OWNER||'.'||LOCK_INFO.OBJ_NAME as OBJ_NAME, // 对象名称(已经被锁住)
//  LOCK_INFO.SUBOBJ_NAME as SUBOBJ_NAME, // 子对象名称(已经被锁住)
//  SESS_INFO.MACHINE as MACHINE, // 机器名称
//  LOCK_INFO.SESSION_ID as SESSION_ID, // 会话SESSION_ID
//  SESS_INFO.SERIAL# as SERIAL#, // 会话SERIAL#
//  LOCK_INFO.ORA_USERNAME as ORA_USERNAME, // ORACLE系统用户名称
//  LOCK_INFO.OS_USERNAME as OS_USERNAME, // 操作系统用户名称
//  LOCK_INFO.PROCESS as PROCESS, // 进程编号
//  LOCK_INFO.OBJ_ID as OBJ_ID, // 对象ID
//  LOCK_INFO.OBJ_TYPE as OBJ_TYPE, // 对象类型
//  SESS_INFO.LOGON_TIME as LOGON_TIME, // 登录时间
//  SESS_INFO.PROGRAM  as PROGRAM, // 程序名称
//  SESS_INFO.STATUS as STATUS, // 会话状态
//  SESS_INFO.LOCKWAIT as LOCKWAIT, // 等待锁
//  SESS_INFO.ACTION as ACTION, // 动作
//  SESS_INFO.CLIENT_INFO as CLIENT_INFO // 客户信息
//
//from 
// (
// select obj.OWNER as OWNER,
//  obj.OBJECT_NAME as OBJ_NAME,
//  obj.SUBOBJECT_NAME as SUBOBJ_NAME,
//  obj.OBJECT_ID as OBJ_ID,
//  obj.OBJECT_TYPE as OBJ_TYPE,
//  lock_obj.SESSION_ID as SESSION_ID,
//  lock_obj.ORACLE_USERNAME as ORA_USERNAME,
//  lock_obj.OS_USER_NAME as OS_USERNAME,
//  lock_obj.PROCESS as PROCESS
// from
// ( select * from all_objects where object_id in (select object_id from v$locked_object)) obj, 
// v$locked_object lock_obj
// where obj.object_id=lock_obj.object_id
// )  LOCK_INFO,
// (
// select SID,
//  SERIAL#,
//  LOCKWAIT,
//  STATUS,
//  PROGRAM,
//  ACTION,
//  CLIENT_INFO,
//  LOGON_TIME,
//  MACHINE
// from v$session
// ) SESS_INFO
//where LOCK_INFO.SESSION_ID=SESS_INFO.SID ;// ALTER-SQL1
// 功能:杀死会话(SESSION_ID,SERIAL#),可以手工解除锁
//   请手工修改SESSION_ID,SERIAL#为相应值
// 注意:本功能慎重使用,有一定的破坏性,该SQL可以断开客户机和服务器的连接//ALTER SYSTEM KILL SESSION 'SESSION_ID,SERIAL#';

解决方案 »

  1.   

    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,dba_objects o
    where s.sid=l.sid
    and o.object_id=l.id1
    and s.username is not nullalter system kill session 'sid, serial#' 
      

  2.   

    select a.sql_text,b.sid,b.MACHINE,b.PROGRAM,b.serial# 
      from v$sqlarea a,v$session b,v$locked_object c
       where a.address=b.sql_address and b.sid=c.SESSION_ID
    alter system kill session 'sid, serial#'