我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle动态视图v$active_session_history怎么应用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle动态视图v$active_session_history怎么应用

这篇文章主要介绍“Oracle动态视图v$active_session_history怎么应用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Oracle动态视图v$active_session_history怎么应用”文章能帮助大家解决问题。

Oracle动态视图实战之v$active_session_history

先看下官方解释

  • Samples of wait event information are taken once per second and made available using the V$ACTIVE_SESSION_HISTORY view. An active session is one that is waiting on CPU or any event that does not belong to the "Idle" wait class at the time of the sample. The sample information is written to a circular buffer in the SGA, so the greater the database activity, the less time the information will remain available for.

  • 有几个关键点:1秒采集一次,执行时间很快远小于1秒的SQL基本不会采集到,只写入非空闲状态的事件,循环存放活动越多保存的时间就越短。

实际工作中主要应用

v$active_session_history的字段非常丰富,实际工作中主要应用在下面这些情况:

a.应用场景:开发反应2023-03-02 00:22至00:35,数据落盘慢,根据情况查看此时间段的主要活动事件,数量,与sql_id(全局)select count(*), sql_id, event, blocking_session  from gv$active_session_history where sample_time between       to_date('2023-03-02 00:22:00', 'yyyy-mm-dd hh34:mi:ss') and       to_date('2023-03-02 00:35:00', 'yyyy-mm-dd hh34:mi:ss') group by sql_id, event, blocking_session order by 1;(非全局)BLOCKING_INST_ID--被阻塞者, blocking_session--阻塞者select count(*), sql_id, event, BLOCKING_INST_ID, blocking_session  from v$active_session_history where sample_time between       to_date('2023-03-02 00:20:00', 'yyyy-mm-dd hh34:mi:ss') and       to_date('2023-03-02 00:35:00', 'yyyy-mm-dd hh34:mi:ss') group by sql_id, event, BLOCKING_INST_ID, blocking_session order by 1;b.现在我们已经得到两个关键信息:sql_id与阻塞事件,首先根据sql_id我们可以再进一步使用此视图,实际中可以多调整几个较小的时间段,以突出最有代表的信息select count(*),       session_id,       session_serial#,       sql_id,       event,       BLOCKING_INST_ID,       blocking_session  from v$active_session_history where sample_time between       to_date('2023-03-02 00:24:00', 'yyyy-mm-dd hh34:mi:ss') and       to_date('2023-03-02 00:25:00', 'yyyy-mm-dd hh34:mi:ss')   and sql_id = '1xfbtdvu3xb67' group by session_id,          session_serial#,          sql_id,          event,          BLOCKING_INST_ID,          blocking_session order by 3;c.加入等待事件后更清晰select count(*),       session_id,       sql_id,       event,       BLOCKING_INST_ID,       blocking_session  from v$active_session_history where sample_time between       to_date('2023-03-02 00:25:00', 'yyyy-mm-dd hh34:mi:ss') and       to_date('2023-03-02 00:35:00', 'yyyy-mm-dd hh34:mi:ss')   and event = 'library cache lock'   and sql_id = '1j47z0mc6k02b' group by session_id, sql_id, event, BLOCKING_INST_ID, blocking_session order by 1;结论:可以看出大量并发等待,最终是发现有什么阻塞了此SQL语句

结合我们的AWR报告

当然也要结合我们的AWR报告:(两份为同时间段,上一份为有争用,下一份为正常情况,报告太长,只截取了关键点)

Oracle动态视图v$active_session_history怎么应用

Oracle动态视图v$active_session_history怎么应用

Oracle动态视图v$active_session_history怎么应用

Oracle动态视图v$active_session_history怎么应用

Oracle动态视图v$active_session_history怎么应用

Oracle动态视图v$active_session_history怎么应用

Oracle动态视图v$active_session_history怎么应用

Oracle动态视图v$active_session_history怎么应用

关键点

最后关键点a:下面报告里的sql_id与事件与v$active_session_history里查出来的结果相同,进一步证明事件与此SQL的关联性。

Oracle动态视图v$active_session_history怎么应用

Oracle动态视图v$active_session_history怎么应用

  • 总结时间:

我们根据SQL_ID找到相应的SQL语句,从而找到对应的TABLE,最终对应到两张分区表,分别为:AA_BBB_CCCC_DDDD_OUT,AA_BBB_CCCC_DDDD_IN。

#根据dba_objects确定创建时间是否匹配select owner,       object_name,       object_type,       to_char(created, 'yyyy-mm-dd hh34:mi:ss')  from dba_objects where object_name = 'AA_BBB_CCCC_DDDD_OUT'   and created > to_date('2023-03-01', 'yyyy-mm-dd') order by 4; select owner,       object_name,       object_type,       to_char(created, 'yyyy-mm-dd hh34:mi:ss')  from dba_objects where object_name = 'AA_BBB_CCCC_DDDD_IN'   and created > to_date('2023-03-01', 'yyyy-mm-dd') order by 4;

关于“Oracle动态视图v$active_session_history怎么应用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle动态视图v$active_session_history怎么应用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Oracle动态视图v$active_session_history怎么应用

这篇文章主要介绍“Oracle动态视图v$active_session_history怎么应用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Oracle动态视图v$active_session_hi
2023-07-05

Oracle动态视图v$active_session_history实战示例

目录oracle动态视图实战之v$active_session_history先看下官方解释实际工作中主要应用结合我们的AWR报告关键点Oracle动态视图实战之v$active_session_history先看下官方解释Samples
2023-03-08

怎么用Python绘制动态可视化图表

这篇“怎么用Python绘制动态可视化图表”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Python绘制动态可视化图表
2023-06-29

PL/SQL中的视图与物化视图怎么应用

在PL/SQL中,视图和物化视图是用来简化和优化查询的工具。视图是一个虚拟表,可以像普通表一样被查询,但实际上并不存储任何数据,而是通过查询实时生成数据。物化视图则是一个存储在数据库中的表,存储了查询结果,并定期更新以保持数据的最新性。要
PL/SQL中的视图与物化视图怎么应用
2024-05-08

v-for中动态校验el-form表单项怎么用

这篇文章主要讲解了“v-for中动态校验el-form表单项怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“v-for中动态校验el-form表单项怎么用”吧!问题描述在项目开发中,我们
2023-06-30

实例演示oracle数据块状态视图v$bh的用法一 获取oracle对象所占用的数据块

1,创建一个测试表,test,并且插入10000行数据; SQL> create table test (id int); SQL> begin 2 for i in 1..10000 loop 3 i
2023-06-06

iOS11应用视图怎么实现按钮的响应

这篇文章主要介绍iOS11应用视图怎么实现按钮的响应,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!2.使用代码添加按钮实现的响应使用代码添加的按钮,实现响应需要使用到addTarget(_:action:for:)方
2023-06-04

怎么用Python实现动态条形图

这篇文章主要介绍“怎么用Python实现动态条形图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Python实现动态条形图”文章能帮助大家解决问题。目前,官方的API文档只提供了一个条形图的源
2023-07-05

Vue3列表动画和状态动画怎么应用

今天小编给大家分享一下Vue3列表动画和状态动画怎么应用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。概述列表动画和状态动画
2023-07-05

R语言可视化ggplot2怎么绘制24小时动态血糖图

这篇文章主要介绍“R语言可视化ggplot2怎么绘制24小时动态血糖图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“R语言可视化ggplot2怎么绘制24小时动态血糖图”文章能帮助大家解决问题。数据
2023-06-30

Android怎么用动画显示或隐藏视图

这篇文章主要介绍“Android怎么用动画显示或隐藏视图”,在日常操作中,相信很多人在Android怎么用动画显示或隐藏视图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android怎么用动画显示或隐藏视图
2023-06-26

java动态加载类框架怎么应用

Java动态加载类框架可以应用于以下场景:1. 插件系统:动态加载插件,实现功能的扩展和灵活性。可以根据配置或者用户的选择,动态加载对应的插件实现。2. 模块化系统:根据不同的需求,动态加载和卸载模块,实现系统的灵活性和可扩展性。3. 热更
2023-10-10

Android应用中怎么动态显示与隐藏状态栏

这篇文章给大家介绍Android应用中怎么动态显示与隐藏状态栏,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。什么是沉浸式?先来分析一下叫错的原因吧,之所以很多人会叫错,是因为根本就不了解沉浸式是什么意思,然后就人云亦云
2023-05-31

使用css怎么实现动态图片裁剪

今天就跟大家聊聊有关使用css怎么实现动态图片裁剪,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
2023-06-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录