• oracle的一些操作


    1.select count(*) from v$session;
      select count(*) from v$process;
      查看当前总会话数和进程数,这两个视图就是跟会话及进程有关的重要视图啦,信息都是从这里面取的。

    2.查询那些应用的连接数此时是多少
    select  b.MACHINE, b.PROGRAM , count(*) from v$process a, v$session b where a.ADDR = b.PADDR and  b.USERNAME is not null   group by  b.MACHINE  , b.PROGRAM order by count(*) desc;

    3.查询是否有死锁
    select * from v$locked_object;
    如果查询结果为no rows selected,说明数据库中没有死锁。否则说明数据库中存在死锁。


    接下来说明一下会话的状态:
    1.active 处于此状态的会话,表示正在执行,处于活动状态。
    2.killed 处于此状态的会话,表示出现了错误,正在回滚,当然,也是占用系统资源的。还有一点就是,killed的状态一般会持续较长时间,而且用windows下的工具pl/sql developer来kill掉,是不管用的,要用命令:alter system kill session 'sid,serial#' ;
    3.inactive 处于此状态的会话表示不是正在执行的,比如select语句已经完成。我一开始以为,只要是inactive状态的会话,就是该杀,为什么不释放呢。其实,inactive对数据库本身没有什么影响,但是如果程序没有及时commit,那么就会造成占用过多会话。解决inactive的方法最好的就是在oracle中直接设置超时时间,也是有两种方法,区别暂时还不清楚:

    1.修改sqlnet.ora文件,新增expire_time=x(单位是分钟)  
    我的sqlnet.ora位置在D:\oracle\ora92\network\admin

    2.通过ALTER PROFILE DEFAULT LIMIT IDLE_TIME 10; 命令修改,记得重启下oracle。

    ===============

    另外一种解决方法:

    select A.SID,B.SPID,A.SERIAL#,a.lockwait,A.USERNAME,A.OSUSER,a.logon_time,a.last_call_et/3600 LAST_HOUR,A.STATUS,
    'orakill '||sid||' '||spid HOST_COMMAND,
    'alter system kill session '''||A.sid||','||A.SERIAL#||'''' SQL_COMMAND
    from v$session A,V$PROCESS B where A.PADDR=B.ADDR AND SID>6

    -----

    你是不是觉得你的写sql语句时,过了一会儿不写了,你的再写sql语句时,就发现你的登陆失效了?是因为oracle设置了一个时间当你到了这个时间还没有对窗口做响应的话,oracle就把你的登陆退出(这个时间也就是下面提到的session时间,你可以自己设置,就方便了)

    在下面的两个目录下的web.xml中可以设置session存活时间
    D:\app\Administrator\product\11.2.0\dbhome_1\oc4j\j2ee\oc4j_applications\applications\em\em\WEB-INF
    下面是文件内容示例:看到中间用一个60没有?表示60分种,默认值是35 改成60了
    (
    <web-app>  
          <session-config>  
              <session-timeout>60</session-timeout>  
          </session-config>  
          <welcome-file-list>  
              <welcome-file>index.jsp</welcome-file>  
          </welcome-file-list>  
    </web-app>  
    )

  • 相关阅读:
    突破
    leetcode刷题 538~
    leetcode刷题 519~
    Docker练习之镜像更新方法1
    十二 Linux之tar解压缩
    十一 Linux软件包管理yum
    十 Linux指令之grep
    九 linux指令之find
    八 Linux ps指令查看进程和kill杀进程
    七 Linux top命令
  • 原文地址:https://www.cnblogs.com/xd502djj/p/1829188.html
Copyright © 2020-2023  润新知