【转】查询Oracle正在执行和执行过的SQL语句

标签: oracle sql 语句 | 发表时间:2014-11-17 14:54 | 作者:a25765339
出处:http://www.iteye.com
--查看Oracle数据库字符集: 
select userenv('language') from dual; 

---正在执行的
select a.username, a.sid, b.SQL_TEXT, b.SQL_FULLTEXT
  from v$session a, v$sqlarea b
 where a.sql_address = b.address;

---执行过的 (此方法好处可以查看某一时间段执行过的sql,并且 SQL_FULLTEXT 包含了完整的 sql 语句)
select b.SQL_TEXT, b.FIRST_LOAD_TIME, b.SQL_FULLTEXT
  from v$sqlarea b
 where b.FIRST_LOAD_TIME between '2009-10-15/09:24:47' and
       '2009-10-15/09:24:47'
 order by b.FIRST_LOAD_TIME; 

--其他
select OSUSER,
       PROGRAM,
       USERNAME,
       SCHEMANAME,
       B.Cpu_Time,
       STATUS,
       B.SQL_TEXT
  from V$SESSION A
  LEFT JOIN V$SQL B
    ON A.SQL_ADDRESS = B.ADDRESS
   AND A.SQL_HASH_VALUE = B.HASH_VALUE
 order by b.cpu_time desc;

select address, sql_text, piece
  from v$session, v$sqltext
 where address = sql_address
-- and machine = < you machine name > 
 order by address, piece;

-- 查找前十条性能差的sql.
SELECT *
  FROM (select PARSING_USER_ID,
               EXECUTIONS,
               SORTS,
               COMMAND_TYPE,
               DISK_READS,
               sql_text
          FROM v$sqlarea
         order BY disk_reads DESC)
 where ROWNUM < 10;

--查看占io较大的正在运行的session
SELECT se.sid,
       se.serial#,
       pr.SPID,
       se.username,
       se.status,
       se.terminal,
       se.program,
       se.MODULE,
       se.sql_address,
       st.event,
       st. p1text,
       si.physical_reads,
       si.block_changes
  FROM v$session se, v$session_wait st, v$sess_io si, v$process pr
 WHERE st.sid = se.sid
   AND st. sid = si.sid
   AND se.PADDR = pr.ADDR
   AND se.sid > 6
   AND st. wait_time = 0
   AND st.event NOT LIKE '%SQL%'
 ORDER BY physical_reads DESC;




已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [oracle sql 语句] 推荐:

Oracle sql语句执行顺序

- - 数据库 - ITeye博客
sql语法的分析是从右到左. 一、sql语句的执行步骤:. 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义. 2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限. 3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句. 4)表达式转换, 将复杂的 SQL 表达式转换为较简单的等效连接表达式.

使用ORACLE SQL Tuning advisor快速优化低效的SQL语句

- - CSDN博客数据库推荐文章
ORACLE10G以后版本的SQL Tuning advisor可以从以下四个方面给出优化方案.   (1)为统计信息丢失或失效的对象收集统计信息.   (2)考虑优化器的任何数据偏差、复杂谓词或失效的统计信息.   (3)重新构建 SQL 以优化性能.   (4)提出新索引建议. 1、为SQL_id创建一个STA(SQL Tuning advisor) 分析任务(使用SYS用户执行).

【转】查询Oracle正在执行和执行过的SQL语句

- - Oracle - 数据库 - ITeye博客
'2009-10-15/09:24:47' order by b.FIRST_LOAD_TIME; --其他 select OSUSER,. order BY disk_reads DESC) where ROWNUM < 10; --查看占io较大的正在运行的session SELECT se.sid,.

在Oracle库上几种特殊情况的SQL语句

- - CSDN博客编程语言推荐文章
在Oracle日常维护中,难免会碰到一些特殊情况,这里分享一些例子. --1、查看数据表的数据,然后进行删除. --2、查询一小时以前score表的数据. --3、执行oracle闪回功能,恢复数据. --1、drop表情况. --2、数据库误删除表之后恢复:记得删除了哪些表名. C:oracle如何导入多条数据.

查看Oracle正在执行的sql语句等

- - Oracle - 数据库 - ITeye博客
--查询Oracle正在执行的sql语句及执行该语句的用户.        b.username 登录Oracle用户名,.        spid 操作系统ID,.        sql_text 正在执行的SQL,.        b.machine 计算机名. --查出oracle当前的被锁对象.

oracle sql 优化大全

- - Oracle - 数据库 - ITeye博客
最近遇到了oracle sql优化的问题,找了一下,发现这文章实在不错,跟大家分享一下,如果以后有什么新的改进也会继续补充的. 1     前言… 2 . 2     总纲… 2 . 3     降龙十八掌… 3 . 第一掌 避免对列的操作… 3 . 第二掌 避免不必要的类型转换… 4 . 第三掌 增加查询的范围限制… 4 .

Oracle SQL性能优化

- - 数据库 - ITeye博客
(1)      选择最有效率的表名顺序(只在基于规则的优化器中有效):. ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表. 如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.

ORACLE SQL Performance Analyzer的使用

- - CSDN博客数据库推荐文章
通过 SPA,您可以根据各种更改类型(如初始化参数更改、优化器统计刷新和数据库升级)播放特定的. SQL 或整个 SQL 负载,然后生成比较报告,帮助您评估它们的影响.. 在 Oracle Database 11g 之前的版本中,我必须捕获所有 SQL 语句,通过跟踪运行这些语句,. 然后得到执行计划 — 这是一项极其耗时又极易出错的任务.

查询Oracle 耗资源sql

- - 非技术 - ITeye博客
已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.