ORACLE用户连接的管理


作者:刀断水 | 来源:Examlink | 日期:09-20 | 字体: [ ]

本文简介:SQL> select pro.spid from v$session ses,v$process pro where ses.sid=&sid and ses.paddr=pro.addr;

用系统管理员,查看当前数据库有几个用户连接:

    SQL> select username,sid,serial# from v$session;

    如果要停某个连接用

    SQL> alter system kill session 'sid,serial#';

    如果这命令不行,找它UNIX的进程数

    SQL> select pro.spid from v$session ses,v$process pro where ses.sid=&sid and ses.paddr=pro.addr;

    然后用 kill 命令杀此进程号。

-------------------------------------------------------------------------------------
如何查看unix下某个oracle OS的进程在做什么操作

         2004-12  余枫
         
    今天一个网管问我,为什么unix下一个oracle OS的进程消耗了那么多的CPU? 
    
    登录上服务器,果然发现了那个进程,是一个用户连接oracle的进程.
    
    根据OS进程号(我这里用的直连方式),应该可以查到它正在执行什么SQL语句.
    
    -- 查到oracle OS进程的sid编号:
    
    select ses.sid from v$session ses,v$process pro where pro.spid=&spid and ses.paddr=pro.addr;
    
    -- 查到此sid连接用户正在执行的SQL语句:
    
    select sql_text from v$sqltext_with_newlines where (hash_value,address) 
     in (select sql_hash_value,sql_address from v$session where sid=&sid) order by address,piece;
    
    原来是一个条件复杂的分组统计的SQL



用户名: 新注册) 密码: 匿名评论 [所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 2007年Oracle认证考试辅导 Oracle考试讲义 Oracle考试点评
如果你觉得一篇文章有用,你可以在每篇后面参与评论,或者查看其他人的评论,请保证你的评论对大家友好。
点这里评论
或者您可以来资源论坛参与讨论,一切都是免费的,不过可能需要麻烦您注册一下。
点这里讨论
把你的文章登陆在这里,让大家来分享你的文章。请立即登陆发表!
点这里投稿