你要访问数据库进行查询时,系统告知有人正在访问,你该怎么解决这个问题?

解决方案 »

  1.   

    系统告知有人正在访问?是你应用程序提示的吧,感觉是有人锁住了表,你的应用程序抛出异常造成的查看锁:
    select al.owner "所有者",al.object_name "表名",al.object_type "表类型",lo.SESSION_ID "会话id",
    s.OSUSER "登录者机器的用户",s.MACHINE "登录者机器名",l.CTIME "被锁时间",l.block "=1的是制造者",
    l.type "锁类型",p.SPID "系统进程号",s.SERIAL#
    from v$locked_object lo
    join all_objects al on al.object_id=lo.OBJECT_ID
    join v$session s on s.SID=lo.SESSION_ID
    join v$lock l on l.SID=lo.SESSION_ID
    join v$process p on p.ADDR=s.PADDR
    解决锁:
    1,(数据库级别)
    alter system kill session '会话id,SERIAL#'
    2,(系统级别,若第一种方法不能解决的话)
    kill -9 系统进程号