SQL> select username,status,sid,serial# from v$session where username is not null;USERNAME                       STATUS         SID   SERIAL#
------------------------------ -------- --------- ---------
SYS                            ACTIVE          11     38493SQL> /USERNAME                       STATUS         SID   SERIAL#
------------------------------ -------- --------- ---------
TEMP                           INACTIVE         9     38038
SYS                            ACTIVE          11     38493SQL> alter system kill session '9,38038';系统已更改。SQL> select username,status,sid,serial# from v$session where username is not null;USERNAME                       STATUS         SID   SERIAL#
------------------------------ -------- --------- ---------
TEMP                           KILLED           9     38038
SYS                            ACTIVE          11     38493SQL>

解决方案 »

  1.   

    bzszp:
      请问在参数设置中是否可以设置当session处于不激活状态下,session自动终止的时间,我不想每次都手工终止它,再说如果是b/s开发当用户很多时,也不可能每次都手工终止它
      

  2.   

    当然可以了,你需要使用profile了,设定profile的IDLE_TIME这一项就可以了,单位是分钟,不地使用profile时一定要谨慎。
    举例:
    sql>create profile test_profile IDLE_TIME 60;
    把profile分配给用户
    sql>alter user user_name profile test_profile;
    这样当该用户的一个session 空闲1小时就会被断开。
      

  3.   

    大森林:
      我不想只指定一个用户的SESSION空闲,如何一次指定所有的用户的空闲时间
      

  4.   

    我所说的用户是指oracle中的一个用户名,如你想所有的都这样,那你只能一个一个的绑定了,比如:
    sql>alter user user1 profile test_profile;
    sql>alter user user2 profile test_profile;
    ...
      

  5.   

    修正我的回答,对了,可以修改default这个profile的,如下
    ALTER PROFILE default LIMIT IDLE_TIME 10;
    修改成一个你喜欢的值,我这里指定是10分钟。
      

  6.   

    不好意思,再请教大森林,进程与session之间的关系,是不是session终止了,会话也终止了,如果不,进程如何自动终止?