猜测:Oracle ash报告中SQL Text 出现"** SQL Text Not Available **"的原因

今天在做HVR数据同步软件的数据同步测试,由于数据量比较大(1条记录14M,含有lob字段,3000条记录)并且IO很差,因此导致同步(确切的说是HVR的 refresh)很慢。

在hvr同步的过程,生成了awr报告和ash报告,awr报告很闲,如下:

插一句:log file parallel write 这个等待事件的平均每次等待时间为49ms,io实在是太差了。

ash报告的Top SQL Statements部分 出现了"** SQL Text Not Available **" ,如下:

ash报告的Top Sessions部分如下:

然后用如下查询确定这两个session正在执行的sql的sql_id:

SQL>  select sid,serial#,sql_id,event from v$session where (sid=‘1075‘ and serial#=‘364‘) or (sid=‘1074‘ and serial#=‘230‘);

SID    SERIAL# SQL_ID        EVENT

---------- ---------- ------------- ----------------------------------------------------------------

1074        230 9jnsccphbp7a9 SQL*Net message from client

1075        364 bvgbvn8a7313c SQL*Net message from client

SQL>

而此时,查询目的表,是没有记录的,也就是说hvr正在工作,没有提交。

因此,我就猜测:Oracle ash报告中SQL Text 出现"** SQL Text Not Available **"的原因是没有提交。

补充一句:

此时的awr中,用9jnsccphbp7a9和bvgbvn8a7313c这两个sql_id去搜索,是找不到这两个sql的。用top中的操作系统进程id去反查sql,确实能看到9jnsccphbp7a9这条sql。

时间: 2024-11-15 14:31:00

猜测:Oracle ash报告中SQL Text 出现"** SQL Text Not Available **"的原因的相关文章

[ORACLE]Oracle ASH报告生成和性能分析

ASH: Active Session History,ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件.不活动的会话不会采样, 采样工作由新引入的后台进程MMNL完成. v$active_session_history 视图提供了在实例级别抽取会话活动信息.活动会话每分钟会被抽样一次且被存储在sga中的循环缓冲区中.任何被连接到数据库且正等待一个不属于空闲等待事件的会话会被考虑是一个活动的会话.每个会话抽样都是一组行数据且通过v$active_session_histor

oracle ash性能报告的使用方法

活动会话历史报告活动会话历史v$active_session_history视图提供了在实例级别抽取会话活动信息.活动会话每分钟会被抽样一次且被存储在sga中的循环缓冲区中.任何被连接到数据库且正等待一个不属于空闲等待事件的会话会被考虑是一个活动的会话.每个会话抽样都是一组行数据且通过v$active_session_history视图来返回每个被抽样活动会话的行数据,返回最新被抽样会话的第一行数据.因为活动会话抽样是存储在sga中的循环缓冲区中,系统活动越大的,活动时间越少会话的可以被存储在循

Oracle生成ASH报告

1.ASH (Active SessionHistory) ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件.不活动的会话不会采样,采样工作由新引入的后台进程MMNL来完成. v$active_session_history视图提供了在实例级别抽取会话活动信息.活动会话每分钟会被抽样一次且被存储在sga中的循环缓冲区中.任何被连接到数据库且正等待一个不属于空闲等待事件的会话会被考虑是一个活动的会话.每个会话抽样都是一组行数据且通过v$active_session_histo

hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)

hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hibernate.dialect.DB2390Dialect PostgreSQL 8.1 org.hibernate.dialect.Po

Oracle 12c中增强的PL/SQL功能

英文链接:http://www.oracle.com/technetwork/issue-archive/2013/13-sep/o53plsql-1999801.html Oracle 12c增强了一系列定义和执行PL/SQL程序单元的方式.本文覆盖了Oracle 12c几个新特性: 1.为结果缓存条件优化了调用者权限函数 2.可以在SQL语句中定义和执行PL/SQL函数 3.通过ACCESSIBLE BY条件指定一个白名单来限制程序单元的访问 4.可直接授权角色给指定程序单元 调用者权限和P

Oracle配置OneMap中的sql数据库问题及解决方案

报错ORA-00900:无效SQL语句,点确定后报错:ORA--00942:表或视图不存在 分析:prompt在Oracle中是打印功能,如果要在PLsql中执行带有prompt的sql文件就会报上面的错误,在网上查过说是DBA权限执行了这个sql,要用NORMAL才行,但终归失败. 解决方案: 打开CMD,进入SQLPLUS或者直接在客户端的应用程序开发中点击SQLPLUS,输入执行这个sql的用户和密码,进入sql> 输入@ ,再将该sql文件拖入到PLSQL窗口,回车执行. 如下: SQL

SQL Server中char、varchar、text和nchar、nvarchar、ntext的区别 (转)

转:http://blog.csdn.net/jackychu/article/details/4183118 http://www.cnblogs.com/jhxk/articles/1633578.html 很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大手一挥 一把人民币就从他手里溜走了,其实我想不管是做人也好,做开发也好,细节的把握直接决

[转]oracle awr报告生成和分析

转自:http://blog.csdn.net/cuker919/article/details/8767328 最近由于数据库cpu占用非常高,导致VCS常常自动切换,引起很多问题. 最近学习一下数据库awr分析数据库sql执行性能的分析报告.下面将初步讲解一下: 1.先登陆数据库,生成awr报告. linux:~ # su - oracle[email protected]:~> sqlplus '/as sysdba' SQL*Plus: Release 11.1.0.6.0 - Prod

oracle AWR报告

AWR( Automatic Workload Repository )报告是对oracle的性能评定以及发现问题SQL语句的重要手段. AWR报告的原理是基于oracle数据库的定时镜像功能.默认情况下,Oracle数据库后台进程会以一定间隔(一小时)收集系统当前状态镜像,并且保存在数据库中.生成AWR报告时,只需要指定进行分析的时间段(开始镜像编号和结束镜像编号),就可以生成该时间段的性能分析情况.AWR镜像保存在数据库中的时间为一个月左右. 也可以手工生成一个快照: SQL>dbms_wo