工作中遇到一个问题,某报表运行时间特别长,通过操作系统可以看到一个oracle进程消耗资源比较大,如何能够通过该操作系统进程找到具体SQL呢。记录如下:

1、查看Linux系统进程号

可以通过top动态查看某进程的资源使用情况,也可以通过ps aux查看某进程的相关信息。

2、通过v$process查看oracle中对应的进程

SQL> select * from v$process where spid = '';

ADDR                    PID SPID                     PNAME USERNAME           SERIAL# TERMINAL                       PROGRAM                                          TRACEID                                                                          .......
---------------- ---------- ------------------------ ----- --------------- ---------- ------------------------------ ------------------------------------------------ -------------------------------------------------------------------------------- .......
0000000358BE4CD0 78 25802 oracle 158 UNKNOWN .......

3、通过v$session查看具体的会话

SQL> select sql_id,status from v$session where paddr = '0000000358BE4CD0';

SQL_ID        STATUS
------------- --------
akjssv2gwa7jf ACTIVE

4、通过dbms_xplan.display_cursor查看执行计划

SQL> select * from table(dbms_xplan.display_cursor('akjssv2gwa7jf'));

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
SQL_ID akjssv2gwa7jf, child number 0
------------------------------------- .....有删减......

通过以上步骤就可以通过操作系统的某个进程ID确定到某个sql,然后查看执行计划,进行优化了。其中dbms_xplan.display_cursor这个包还有很多地方需要学习。另起一篇吧。官方文档在这里

Oracle—通过操作系统进程查看数据库sql语句的更多相关文章

  1. oracle 查看并行sql语句的并行数量和如何开并行

    1.执行sql:select /*+ parallel(a,4) */ * from tf_f_user a where rownum<100000; 2.如何查看该sql语句的并行数量: se ...

  2. 数据库 数据库SQL语句五

    集合运算 union 并集(两个集合如果有重复部分,那么只显示一次重复部分) union all 并集(两个集合如果有重复部分,那么重复部分显示两次) intersect 交集 minus 差集 -- ...

  3. [独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  4. MySQL 数据库SQL语句——高阶版本2

    MySQL 数据库SQL语句--高阶版本2 实验准备 数据库表配置: mysql -uroot -p show databases; create database train_ticket; use ...

  5. oracle 查询最近执行过的 SQL语句(转载)

    oracle 查询最近执行过的 SQL语句 (2014-06-09 18:02:43) 转载▼   分类: Database oracle 查询最近执行过的 SQL语句 select sql_text ...

  6. oracle 查询最近执行过的 SQL语句

    oracle 查询最近执行过的 SQL语句 select sql_text,last_load_time from v$sql order by last_load_time desc;   SELE ...

  7. 使用C# 操作存储过程,执行sql语句通用类

    如何使用C# 操作存储过程,执行sql语句? 闲话不多说,直接上代码:     /// <summary>    /// Sql通用类    /// </summary>    ...

  8. Oracle查询最近执行过的SQL语句

    oracle 查询最近执行过的 SQL语句 select sql_text,last_load_time from v$sql order by last_load_time desc; SELECT ...

  9. MySQL 数据库SQL语句——高阶版本1

    MySQL 数据库SQL语句--高阶版本 实验准备,数据表配置 mysql -uroot -p show databases; create database train_ticket; use tr ...

随机推荐

  1. 关于基于LinphoneSDK通话项目开发中遇到的相关问题

    在之前小学期的项目开发当中,我们小组进行的是使用网上开源的LinphoneSDK来开发一款Android端的VOIP电话APP. 因为网上关于这个SDK在安卓端的开发文档相当少,所以我们只能根据少量的 ...

  2. Selenium 工作原理

    Selenium是ThoughtWorks公司研发的一个强大的基于浏览器的开源自动化测试工具,它通常用来编写web应用的自动化测试.早期也即Selenium1.x时期主要使用Selenium RC(S ...

  3. eclipse中访问不了tomcat首页server Locations变灰无法编辑

    eclipse中访问不了tomcat首页server Locations变灰无法编辑 2014年07月25日 14:37:21 wuha0 阅读数:19139更多 个人分类: servlet   解决 ...

  4. Windows7上安装Ubuntu双系统

    零.前言 最近不小心把Ubuntu系统搞崩了打不开了,在网上找了找方法,从最初的步骤开始安装,本文是安装Ubuntu16.04,不过安装啥版本步骤都一样,下面逐一介绍. 一.如何卸载Ubuntu(第一 ...

  5. Legal or Not ,图的拓扑

    ACM-DIY is a large QQ group where many excellent acmers get together. It is so harmonious that just ...

  6. better-scroll

    better-scroll会将默认事件阻止掉,如果自己写的部分需要有点击事件,需要在参数里加上click:true. 同时,在PC上或某些手机端,由于未成功将touchend事件move掉,点击事件会 ...

  7. Hadoop学习------Hadoop安装方式之(三):分布式部署

    这里为了方便直接将单机部署过的虚拟机直接克隆,当然也可以不这样做,一个个手工部署. 创建完整克隆——>下一步——>安装位置.等待一段时间即可. 我这边用了三台虚拟机,分别起名master, ...

  8. dos3章

    FOR命令中有一些变量,他们的用法许多新手朋友还不太了解,今天给大家讲解他们的用法! 先把FOR的变量全部列出来: ~I          - 删除任何引号("),扩展 %I     %~f ...

  9. [工作日志] 2019-04-16 入参是list

    入参 {"vehicleList":[{"vehicleNo":"赣K81057","plateColor":" ...

  10. SVN配置(服务器端及客户端)

    版本控制工具,在前几年一直用的SVN,从去年后半年开始本人开始使用GIT.为了避免后期再次使用SVN过程中出现生疏,在此将SVN服务端及客户端配置方式罗列出来. 本人使用的SVN版本为 服务端: Vi ...