会计考友 发表于 2012-8-4 14:06:19

Oracle技术:Oracle会话数量查询及结束会话方法

一、数据库会话数目发芽
   
    发芽当前数据库会话数目:select * from v$session
   
    改削数据库最大会话数目:alter system set processes=500 scope=spfile (在呼吁模式下执行)
   
    查看当前数据库最大会话上限:show parameters processes;
   
    查看当前数据库DBLINK最多可打开的毗连数目:show parameters open_links;
   
    二、删除被锁住的Session
   
    1、一般的话只要下面两条呼吁就可以:
   
    (1)select t1.sid,t1.serial#,t1.username,t1.logon_time from v$session t1,
   
    v$locked_object t2 where t1.sid=t2.session_id order by t1.logon_time;
   
    (2)alter system kill session 'sid, serial#';
    备注:此鱿辅2)中的sid和serial#是(1)中发芽出来的。
   
    2、有时这种编制仍是删不失踪踪,就要用ORAKILL呼吁了
    (1)select object_name,machine,s.sid,s.serial# from v$locked_object l,
    dba_objects o ,v$session s where l.object_id=o.object_id and l.session_id=s.sid;
   
   
    (2)select spid ,osuser,s.program from v$session s,
   
    v$process p where s.paddr=p.addr and s.sid=93;
   
    (3)orakill sid spid(unix 系统下,root身份:kill sid spid)
   
    声名:
   
    第一条2(1)和1(1)效不美不美观是一样的,只是查出的内容更多,我们要的,关头是这个sid,
   
    第二条中的93,就是第一条中发芽出的sid;
   
    第三条要在系统下进行,cmd下直接使用,spid就是第二条中查出来的spid.
   
   
    此外,unix下的,没现实使用,原例子是这么写的 kill -9 12345(12345是spid,前面-9小我估量是数据库的sid吧…)
页: [1]
查看完整版本: Oracle技术:Oracle会话数量查询及结束会话方法