Oracle session总结 收藏

从上周起,服务器Oracle数据库出现问题,用不到半天,就会报maxsession(150)的问题,肯定是数据库的会话超过最大数了。

由于服务器跑的是文件传输应用,占用的请求和会话肯定很大,因此用户数不大就已经让oracle的会话数达到最大值。

处理方式不外乎两种:扩大oracle最大session数以及清除inactive会话,当然还有,就是从数据库连接池和程序bug上面下手。

从各处收集了一些查看当前会话的语句,记录一下:

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。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25897606/viewspace-705152/,如需转载,请注明出处,否则将追究法律责任。

oracle commit session,Oracle session总结相关推荐

  1. oracle有一百个人围一圈报数,案例:Oracle创建表时报session超过最大值 ORA-00018 证明递归ses...

    天萃荷净 创建表时报session超过最大值 证明递归session存在并不在v$session中显示 我们在数据库的使用过程中,有时候会遇到类似情况,我会话是登录的,但是我进行某种操作,缺报sess ...

  2. oracle会话资源,oracle session 会话

    管理Oracle Session是后台DBMS采用Oracle的信息管理系统的一个重要工作.如果管理不当,会对系统的性能和运行的稳定性产生非常大的影响.Oracle Session是非常宝贵的资源,其 ...

  3. oracle的会话(session)

    会话(session)是oracle服务器对数据库连接用户记录的一种手段. oracle提供了v_$session的视图存储当前数据库的会话,查询时用v_$session 或v$session sql ...

  4. Oracle 之 proces、session 关系

    什么是session: 通俗来讲,session 是通信双方从开始通信到通信结束期间的一个上下文(context).这个上下文是一段位于服务器端的内存:记录了本次连接的客户端机器.通过哪个应用程序.哪 ...

  5. oracle强制关闭session,Oracle终止session

    有时候,oracle终止当前的session是必要的.例如,你想执行一个管理操作,需要终止所有非管理员的session.下面描述的是终止sess 有时候,Oracle终止当前的session是必要的. ...

  6. hibernate 管理 Session(单独使用session,非spring)

    hibernate 管理 Session(单独使用session,非spring) Hibernate 自身提供了三种管理 Session 对象的方法 Session 对象的生命周期与本地线程绑定 S ...

  7. 查看oracle系统信息,查看 ORACLE 系统级信息

    --查看ORACLE数据库中本用户下的所有表 SELECT table_name FROM user_tables; --查看ORACLE数据库中所有用户下的所有表 select user,table ...

  8. Oracle HA 之 oracle 11.2 rac库配置active dataguard

    目录 configing active dataguard for 11.2 rac. 1 一.建组.建用户.配置环境变量.内核参数等... 1 二.配置共享磁盘... 3 1)创建4块共享磁盘并fd ...

  9. oracle有sysdata,Oracle基础

    1.默认事例: 用户名:scott密码:tiger 主机字符串:本机可以为空 2.启动方法: 运行:sqlplusscott/tiger@lhd 3.SQLPLUS基本命令: Desc:显示表.视图结 ...

  10. oracle redo 200mb,Oracle的redo log在各场景下的恢复

    Oracle的redo log非常重要,redo log损坏将导致数据库开法开启或数据丢失,针对redo log在各种场景下如何打开或恢复数据库,特别模拟测试说明: 各场景包括如下(共6个场景): 场 ...

最新文章

  1. 373. Find K Pairs with Smallest Sums (java,优先队列)
  2. jtable如何从表格中定位_Java Swing组件编程之JTable表格用法实例详解
  3. 五、开始Github和码云之旅,新手如何上路
  4. priorityqueue 的 add和offer方法有区别吗_日常在家安吉白茶应该如何去保存?城市与农村存放的方法有区别吗...
  5. Nginx静态资源压缩实战内容介绍
  6. 《网络安全原理与实践》一第1章 网络安全介绍
  7. 策略模式与简单工厂模式区别(转)
  8. bzoj 1042 HAOI2008 硬币购物
  9. 数据模型同学看过来|代码案例实操来袭
  10. 计算机网络—计算机网络核心
  11. bom管理软件,支持版本控制,bom比对
  12. Excel怎么设置下拉选择项
  13. Flutter使用系统相机和相册获取图片
  14. 使用tornado的异步非阻塞
  15. mysql创建子用户代码_mysql创设用户及受权
  16. mysql导入(ibd文件)
  17. 帝国CMS Table '***.phome_ecms_news_data_' doesn't exist
  18. access_token(接口访问凭证)
  19. 如何做成gif动画图片?教你简单三步制作gif动图
  20. 消息模板占位符的使用

热门文章

  1. TCP/UDP网络编程入门教程之二:TCP Server端——socket与文件描述符
  2. ios15之把自己编写的框架上传到CocoaPods里面
  3. Glide加载圆形图片并且带白色边框(绝对实用)
  4. 零c语言txt下载,C语言问题c-0是什么意思
  5. mysql忘记root密码咋办_MySQL忘记root用户密码怎么办?
  6. Android studio中的NDK开发之NDK环境变量的配置(图文教程)
  7. 别给小偷可乘之机!日本山形县警方呼吁民众“锁门”
  8. 使用HttpClient消费ASP.NET Web API服务
  9. 7. 关于IntelliJ IDEA删除项目
  10. TODO:Laravel增加验证码