对于oracle对session进行跟踪的分析
跟踪 session 的活动,Oracle提供了很多种手段,不仅可以对当前连接的 session 进行跟踪, 也可以对其他用户的 session 进行跟踪;通过对 trace 档的分析,不仅可以掌握该 session 的活动, 也可以找出这个 session 中的瓶颈所在,对 session 的跟踪是 DBA 进行系统调优、故障诊断的常用方法。
对当前会话的活动进行跟踪及停止跟踪:
alter session set sql_trace=true/false
对任意的 session 进行跟踪及停止跟踪:
exec dbms_system.set_sql_trace_in_session(&sid,&serial#,&sql_trace); alter session set events '&event trace name context forever,level &level'; alter session set events '&event trace name context off'; exec dbms_system.set_ev(&sid,&serial#,&event_10046,&level_12,''); oradebug event 10046 trace name context forever,level 12
利用 Event、SQL Trace 工具等可以收集 SQL 的性能状态数据并把这些数据记录到跟踪文件中,这个跟踪文件提供了许多有用的信息,如解析次数、执行次数、CPU 使用时间、物理读、逻 辑读等,这些信息是判断 SQL 性能优劣的依据。
user_dump_dest 参数说明了生成跟踪文件的目 录,设置 SQL Trace 首先要在 init&sid.ora 中设定 timed_statistics 为 true,这样才能得到那些重要 的时间信息,由于 SQL Trace 生成的 trace 文件读起来很困难,最好用 TKPROF 工具对其进行解释。
总结
本文有关oracle对session进行跟踪的分析的内容就到这里,希望对大家有所帮助。感兴趣的朋友可以继续浏览:oracle 虚拟专用数据库详细介绍 、Oracle分页查询性能优化代码详解 、Oracle创建带有参数的视图代码介绍等。感谢大家对本站的支持。
相关推荐
-
Oracle中的Connect/session和process的区别及关系介绍
Session:在计算机中,尤其是在网络应用中,称为"会话". Session:在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间. Connect.session.process的区别: 一个数据库的Connect可以有一个或多个session,同时connect也可以有一个或多个process. 在专业服务器连接方式中,一个session对应一个process,在共享服务器方式中,一个process可以
-
ORACLE 如何查询被锁定表及如何解锁释放session
ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作 复制代码 代码如下: --锁表查询SQLSELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id =
-
Oracle中查看引起Session阻塞的2个脚本分享
用户A执行删除,但是没有提交. 复制代码 代码如下: SQL> delete from test where object_id<10; 已删除8行. 用户B执行删除或者更新id<10的记录,则被阻塞. 复制代码 代码如下: SQL> update test set flag='N' where object_id<10; 遇到这种阻塞,首先需要确定问题.可以使用以下脚本. 复制代码 代码如下: select t2.username,t2.sid,t2.serial#,t2.
-
oracle ORA-00031:session marked for kill(标记要终止的会话)解决方法
今天碰到一个问题,有一张表不能操作,很可能是被锁了,首先想到的是kill session,于是执行了下列的脚本找到是哪个session有问题: 查看表是否被锁 SELECT /*+ rule*/ a.sid, b.owner, object_name, object_type FROM v$lock a, all_objects b WHERE TYPE = 'TM' and a.id1 = b.object_id; 根据上面查询出的sid,找出对应的serial#: SELECT sid,se
-
对于oracle对session进行跟踪的分析
跟踪 session 的活动,Oracle提供了很多种手段,不仅可以对当前连接的 session 进行跟踪, 也可以对其他用户的 session 进行跟踪:通过对 trace 档的分析,不仅可以掌握该 session 的活动, 也可以找出这个 session 中的瓶颈所在,对 session 的跟踪是 DBA 进行系统调优.故障诊断的常用方法. 对当前会话的活动进行跟踪及停止跟踪: alter session set sql_trace=true/false 对任意的 session 进行跟踪及
-
spring 整合mybatis后用不上session缓存的原因分析
因为一直用spring整合了mybatis,所以很少用到mybatis的session缓存. 习惯是本地缓存自己用map写或者引入第三方的本地缓存框架ehcache,Guava 所以提出来纠结下 实验下(spring整合mybatis略,网上一堆),先看看mybatis级别的session的缓存 放出打印sql语句 configuration.xml 加入 <settings> <!-- 打印查询语句 --> <setting name="logImpl"
-
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
最近由于项目开发需要,手机客户端和网页端统一使用一套接口,为保证 会话(Session) 能够正常且在各类情况下兼容,我希望能够改变 SessionID 的获取方式.默认情况下,所有网站都是通过 HTTP 请求的 Header 头部中的 Cookie 实现的,通过 Cookie 中指定的 SessionID 来关联到服务端对应数据,从而实现会话功能. 但对于手机客户端,可能并不会支持原始的 Cookie,亦或者根据平台需要而屏蔽,因此开发中要求通过增加一个请求头 X-Session-Token
-
oracle定时任务定时无效的原因分析与解决
目录 创建oracle定时任务定时任务并没有按时执行 创建定时任务JOB(63)定时任务并没有执行 原因分析: 解决方案: 总结 创建oracle定时任务定时任务并没有按时执行 由于项目需要同步其他系统数据库数据库,在创建完dblink,存储过程后,新建了一个dbm_job任务,满心期待的可以早点下班时,却发现定时任务并没有按照时间执行. 创建定时任务JOB(63)定时任务并没有执行 原因分析: 可能数据库对于JOB的功能并没有开启,于是引着这个方向去寻找解决方法. 解决方案: 通过查阅资料发现
-
PHP中cookie和session的区别实例分析
cookie和session是PHP程序设计中非常重要的技巧.深入理解并掌握cookie和session的应用是进行PHP程序设计的基础.本文就以实例形式来分析一下二者之间的区别.具体分析如下: 1.Cookie cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制. PHP在http协议的头信息里发送cookie, 因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似. 1.1 设置cookie: 可以用
-
Android调用堆栈跟踪实例分析
本文实例讲述了Android调用堆栈跟踪的方法.分享给大家供大家参考.具体如下: Android开发中,我们也会经常遇到段错误,也就是SIGSEGV(11),这个时候libc的backtrace会打印出对应的堆栈信 息,而你看到的仅仅是一对数字,好像无从查起. 如下面这一从串断错误: ActivityManager( 1105): Displayed activity com.android.browser/.BrowserActivity: 2460 ms (total 2460 ms) I/
-
jsp编程中session的用法实例分析
本文实例讲述了jsp编程中session的用法.分享给大家供大家参考,具体如下: TTP协议是无状态的,即信息无法通过HTTP协议本身进传递.为了跟踪用户的操作状态,ASP应用SESSION对象.JSP使用一个叫HttpSession的对象实现同样的功能.HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面.Session的信息保存在服务器端,Session的id保存在客户机的cookie中.事实上,在许多服务器上,如果浏览器支持的话它们就使用cook
-
深入ORACLE迁移到MYSQL的总结分析
这两个星期里一直都在忙于一件事儿,就是数据库的迁移问题.没有做的时候感觉这是一件十分轻松的事儿,可是等到实实在在去做去实现的时候,自己傻眼了.这种纠结啊, 在这里先说下遇到的问题:1.数据库的表结构问题:数据类型不同需要解决varchar2------varchar.number-----int.date----datetime,建表的sql语句字段默认值.注释怎么解决. 2. oracle中没有所谓的敏感字段,可是mysql表中的敏感字段有好多.当时出错的时候很奇怪不知道是哪里错了.原来有个d
-
PHP实现cookie跨域session共享的方法分析
本文实例讲述了PHP实现cookie跨域session共享的方法.分享给大家供大家参考,具体如下: 做过web开发的小伙伴们都了解cookie和session,cookie是存储在客户端的,session是存储在服务器的. 本篇主要通过一些实践中的案例和大家分享一下踩到坑,重点说明了cookie跨域问题和session服务器共享问题,以php语言为使用语言进行说明. 先聊聊cookie 设置cookie无效 setcookie("sso", "e589hR6VnO8K1CNQ
随机推荐
- Javascript面向对象之四 继承
- Linux常用命令全集(超全面)
- JavaScript过滤字符串中的中文与空格方法汇总
- 详解在Vue中有条件地使用CSS类
- Swift自定义iOS中的TabBarController并为其添加动画
- ajax+jsp草稿自动保存的实现代码
- c#并行任务多种优化方案分享(异步委托)
- 深入浅析Android坐标系统
- 详解C#用new和override来实现抽象类的重写区别
- MySQL Order By Rand()效率分析
- 域名和cookie问题(域名后缀)
- SQL Server数据库安装时常见问题解决方案集锦
- CentOS下RPM方式安装MySQL5.6教程
- 解析四则表达式的编译过程及生成汇编代码
- 浅谈DOCTYPE对$(window).height()取值的影响
- Android中获得手机屏幕大小实现代码
- Android图片识别应用详解
- 使用sockets:从新闻组中获取文章(三)
- Android音乐播放器制作 点击歌曲实现播放(二)
- Js+DVML很酷漂亮实用的右键弹出菜单