调优之浅析“会话管理开销”

 

【简单介绍】

       在调优的过程中,对于会话的管理是比較普遍的问题,由于维护会话的开销相对是比較高的。

【过程表现例如以下】

       客户请求(sid)→监听接收到→监听派生出新的进程(systemprocess id)→客户进程

凝视:

SPID:system process id。表示该serverprocess在OS层面的Process ID(操作系统进程ID);

PID:oracle process id。能够理解为Oracle自身使用的进程ID;

SID:session标识,在连接其他列时使用

【操作过程】

SQL> select sid from v$mystat whererownum=1;

--当前会话的sid

      SID

----------

      159

SQL> select p.spid

 2  from v$process p,v$session s

 3  where p.addr=s.paddr ands.sid=159;

--通过sid(session标识)找到对应的serverprocess

--spid(system process id)serverprocess在OS层面的Porcess ID,即操作系统进程ID

--pid(oracle process id)oracle进程ID

--查询条件为进程地址等于会话里的进程地址,而且会话sid为159

--查询出为sid159服务的system processid为426192

SPID

------------

426192

$ps -ef |grep 426192|grep -v grep  

--查看system process id(serverprocess id)为426192的进程,而且把grep进程本身排除掉

   oracle 426192 303338   0 09:29:21      - 0:02 oraclemetro (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

--查看到spid为426192的oracle进程。这是一个专有模式连接的进程

--以上查询表明维护一个会话的开销是比較高的

【情景举例】

       如果操作人员登陆一个系统时。会将sql发送给应用server。符合验证后会反馈回来,此时数据库链接断掉。一段时间后操作人员想依据ID查询对应数据时,会又一次发送一个链接,这次把信息返回后,又会断掉。这就是一个比較糟糕的会话链接,循环往复,由于在不停的创建链接、终结链接、创建链接、终结链接......将这样的情况体如今oracle上面,成本就会比較高了。

       在实际生产环境下,对于应用server(B\S结构)会建立长链接(或链接池)以解决前面的问题。比方说,以weblogic作为应用server。创建了很多链接对象连接到oracle数据库,连上以后就不再断开了。之后。前端的应用须要使用数据库的时候,会先连接到应用server,应用server分配一个链接池里的空暇链接给这个应用请求使用。这个链接用完之后不会中断,而是把它变成空暇的状态再放回链接池。这个过程就是有效的降低了会话的数量。

oracle调优 浅析“会话管理开销”的更多相关文章

  1. oracle调优 浅析有效的游标管理

    浅析有效的游标管理 [思路分析] 能够把游标理解成共享的运行计划,当sql不被共享时.常规的解决思路有两个方向: 1.调整共享池的尺寸(共享池的库缓存区中共享运行计划): 2.sql书写时尽量重用绑定 ...

  2. oracle调优 浅析关联设计

    浅析关联设计 [范式] 比較理想的情况下,数据库中的不论什么一个表都会相应到现实生活中的一个对象,如球员是一个对象,球队是一个对象,赛程是一个对象,比赛结果又是一个对象等等,则就是范式. [关联设计] ...

  3. Oracle调优总结(经典实践 重要)

    转载:http://langgufu.iteye.com/blog/1974211 Problem Description:1.每个表的结构及主键索引情况2.每个表的count(*)记录是多少3.对于 ...

  4. Oracle调优总结

    Oracle调优总结(经典实践 重要) https://blog.csdn.net/dtjiawenwang88/article/details/74892245 https://www.cnblog ...

  5. Oracle调优之buffer pool相关

    一个oracle block与data buffer中的一个buffer对应.用户进程(server process)负责读取磁盘上的block到data buffer cache中,DEWn进程负责 ...

  6. Oracle调优之看懂Oracle执行计划

    @ 目录 1.文章写作前言简介 2.什么是执行计划? 3.怎么查看执行计划? 4.查看真实执行计划 5.看懂Oracle执行计划 5.1 查看explain 5.2 explain执行顺序 5.3 访 ...

  7. ORACLE调优深入理解AWR报告(转)

    AWR报告分析可从以下几点入手: (1).Oacle主机资源开销分析及负载情况 (2).oracle top信息分析 Top 10 Foreground Events by Total Wait Ti ...

  8. (转) 【oracle调优】优化全表扫---cache整张表或索引

    情景分析: 1)某查询必须要走全表扫描 2)该查询执行的频率相当高 3)对执行时间的要求也相当苛刻的话 4)数据库的IO比较吃紧 5)数据库的内存比较宽松 6)该表的大小没有大到离谱 以上情况下,可以 ...

  9. JAVA程序性能分析及调优浅析

    1.性能分析本质 寻找系统的性能瓶颈(木桶理论/短板效应),并处理系统的性能瓶颈 2.性能分析主要指标负载.响应和服务器CPU\MEM等的使用率 3.性能分析主要工具 LoadRunner Visua ...

随机推荐

  1. MPS添加管理设备实例NS的过程

    MPS添加管理设备实例NS的过程 MPS添加实例NS设备节点: > show snmp community Done > > add snmp community public al ...

  2. Hadoop中maptask数量的决定因素

    刚开始接触hadoop平台的时候 部分初学者对于mapreduce中的maptask的数量是怎么确定的 可能有点迷惑,如果看了jobclient里面的maptask初始化的那段源码,那么就比较清楚了, ...

  3. [codeforces] 526D [51nod] 1554 欧姆诺姆和项链

    原题 KMP 方法一: 听说是ex-kmp--来自学姐 ex-kmp是处理两个串s和t之间,t的每一个后缀在s中的最长前缀的长度的一个算法. 它很像manacher(至少我和学姐这么认为),记录了一个 ...

  4. BZOJ1004 [HNOI2008]Cards 【burnside定理 + 01背包】

    题目链接 BZOJ1004 题解 burnside定理 在\(m\)个置换下本质不同的染色方案数,等于每种置换下不变的方案数的平均数 记\(L\)为本质不同的染色方案数,\(m\)为置换数,\(f(i ...

  5. python注解(装饰器)的用法

    带参数的要用三层def,第一层写注解里的参数,第二层写函数,第三层写具体逻辑. 如果是不带参数的注解,直接使用后两层即可 def needPermission(permissionstr): def ...

  6. 图表绘制工具--Matplotlib 3

    ''' [课程3.] 表格样式创建 表格视觉样式:Dataframe.style → 返回pandas.Styler对象的属性,具有格式化和显示Dataframe的有用方法 样式创建: ① Style ...

  7. 封装removeClass()

    <div class="box haha xixi">123</div> <script> function removeClass(eleme ...

  8. jsp的九大内置对象及EL表达式的隐含对象

    九大内置对象: request         request对象具有请求域,即完成客户端的请求之前,该对象一直有效. response       response对象具有页面作用域,即访问一个页面 ...

  9. Linux Mint---开启桌面三维特效

    其实系统默认已经安装好了compiz,我们只需要切换就可以了 menu->control center->desktop setting->window 开启compiz的时候,由于 ...

  10. Linux查看进程堆栈信息命令

    jps -lvm #查看进程IDjstack -l <进程ID> # 查看进程堆栈信息