`

【转载】ORACLE_根据PID查询正在执行的sql语句

 
阅读更多
select /*+  ORDRRED  */ sql_text from v$sqltext a
      where (a.HASH_VALUE , a.ADDRESS ) in (
             select decode(sql_hash_value,0,prev_hash_value,sql_hash_value),
                    decode(sql_hash_value,0,prev_sql_addr,sql_address)
             from v$session b
             where b.PADDR = (select addr from v$process c where c.SPID = '&pid'))
             order by piece asc;

----说明:根据 操作系统上 oracle 相关的 进程 PID 查询 此进程正在执行的 sql 语句。
分享到:
评论

相关推荐

    常用SQL如何查看正在执行的语句

    ### 如何在Oracle中查看正在执行的SQL语句及锁信息 #### 一、查看当前锁定情况 在Oracle数据库管理中,了解当前存在的锁是非常重要的,可以帮助我们更好地诊断和解决问题。下面将详细介绍如何查看Oracle中的锁信息...

    oracle dba必备sql语句列表

    ### Oracle DBA必备SQL语句列表详解 #### 监控索引是否被使用 - **命令**: - `ALTER INDEX &index_name MONITORING USAGE;` - `ALTER INDEX &index_name NOMONITORING USAGE;` - `SELECT * FROM V$OBJECT_USAGE...

    Oracle_Kill_Session_终极篇

    可以使用以下SQL查询语句: ```sql SELECT sid, serial#, username, status FROM v$session WHERE status != 'KILLED' AND username IS NOT NULL; ``` 此查询会返回除已标记为“KILLED”状态外的所有session的信息...

    检查Oracle数据库被锁的对象的sql语句

    3. **查询结果**:返回被锁定表的名字、锁定会话的SID和序列号、锁定会话的操作系统用户、进程ID等信息,以及解除锁定的SQL语句。 ### 检查pkg包是否被锁定 第二个SQL查询则用于检查pkg包是否被锁定: ```sql ...

    根据oracle数据库sid及serial#查找操作系统sid号

    - `a.sql_address = c.address(+)`:左外连接`V$SQLTEXT`,获取执行的SQL语句文本。 2. **查询结果**: - **USERNAME**:执行会话的用户名。 - **OS_PID (SPID)**:与会话关联的操作系统PID。 - **MACHINE**:...

    oracle_v$session_v$session_wait用途详解

    - 查询会话的状态 (`ACTIVE` 或 `INACTIVE`),其中 `ACTIVE` 表示正在执行 SQL 语句或等待某些资源: ```sql SELECT status FROM v$session; ``` - **客户端 IP 查询** - 设置触发器以便在用户登录时自动记录...

    dab常用SQL语句

    此SQL语句用于根据会话ID获取正在执行的具体SQL语句文本。首先,通过`v$session`视图和`v$process`视图确定目标会话的SQL哈希值和地址,然后通过`v$sqltext`视图获取完整的SQL语句文本。这对于故障排查和性能优化至...

    ORACLE_日常维护知识大全

    - 使用`v$session`和`v$sql`视图结合查询,找出执行时间较长的SQL语句。 - **6.6. 检查消耗CPU最高的进程** - 通过查询`v$session`视图并排序,找出消耗CPU最多的进程。 - **6.7. 检查碎片程度高的表** - 高...

    经典SQL语句大全

    10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1...

    监控Oracle运行的一些SQL

    这两种查询方式可以帮助我们快速获取正在执行的SQL语句信息,并且可以根据会话的状态(如是否为活动状态)进行筛选,从而更加准确地了解当前数据库的工作状态。 ##### 查找正在执行的SQL语句 如果需要更精确地找到...

    Linux操作系统下Oracle9i数据库SQL语句跟踪、发现、优化方法.pdf

    在没有EM的情况下,针对Oracle 9i数据库,作者找到了通过进程PID来追踪SQL语句的方法。通过监控`top`命令来观察CPU使用率,一旦发现异常高的CPU使用,可以进一步查找对应进程的SID,然后在PL/SQL Developer中利用SQL...

    sqlmonitor for oracle

    在Oracle数据库管理中,了解当前运行的SQL语句和其执行状态是至关重要的。SQLMonitor for Oracle提供了一个直观的界面,让用户能够快速查看各个SQL进程的状态,包括CPU使用率、内存消耗、等待事件等关键指标。这对于...

    SQL执行计划之sql_trace

    SQL Trace 是 Oracle 提供的一种强大工具,用于记录 SQL 语句的执行过程。它能够帮助数据库管理员和开发人员详细了解 SQL 语句是如何被 Oracle 数据库处理的,从而更好地进行性能调优。 #### 二、SQL Trace命令详解...

    ORACLE学习笔记之调节性能优化篇

    在操作系统层面,如果我们知道Oracle进程的PID,可以通过查询`V$PROCESS`、`V$SESSION`、`V$PARAMETER`视图来关联OS进程和DB进程,获取相应的DB信息和执行中的SQL语句。 此外,`TKPROF`工具用于解析跟踪文件,生成...

    Oracle_DBA_管理脚本.pdf

    - 用于识别数据库中处于无效状态的对象,并提供重编译无效对象的SQL语句。 - 第一个脚本可以根据指定的所有者(使用变量`&OWNER`)筛选出需要编译的对象类型(如包或包体)。 - 第二个脚本则是简单地列出所有无效...

    Oracle数据库日常维护诊断Sql

    查询正在运行的SQL语句 ```sql SELECT sess.username, sql1.SQL_TEXT FROM v$session sess, v$sqltext sql1, v$process pro WHERE sess.SQL_ADDRESS = sql1.ADDRESS AND pro.ADDR = sess.PADDR AND pro.SPID = '&...

    oracle递归、迭代

    这条SQL语句的执行结果如下: | ID | PID | IND | NAME | |----|-----|-----|-------| | 1 | 0 | 1 | 地点 | | 2 | 1 | 1 | 一说1 | | 5 | 2 | 1 | 一11 | | 6 | 2 | 2 | 一12 | | 3 | 1 | 2 | 一说2 | | 4 | 1 | 2...

    深入sql oracle递归查询

    对于上述相同的表结构,查询1号节点的所有子节点的Oracle SQL语句如下: ```sql SELECT * FROM aaa START WITH id = 1 CONNECT BY pid = PRIOR id; ``` 除了查询子节点,还可以查询父节点。在SQL Server中,调整...

Global site tag (gtag.js) - Google Analytics