第一种考虑,能不能从数据字典视图中找到?...检索不到任何SQL, SQL> select sql_id, sql_text from dba_hist_sqltext where sql_text like '%select object%';...no rows selected dba_hist_sqltext是展示在AWR中采集到的属于共享SQL游标的SQL语句, ?...SQL> select sql_id, sql_text from dba_hist_sqltext where sql_text like '%select object%' 2 and sql_text...not like '%dba_hist_sqltext%'; SQL_ID SQL_TEXT ------------- ------------------------------
) sqt, dba_hist_sqltext st where st.sql_id(+) = sqt.sql_id and st.dbid(+) = 3629726729 and (SELECT sum...) sqt, dba_hist_sqltext st where st.sql_id(+) = sqt.sql_id and st.dbid(+) = 1273705906 and (SELECT sum...) sqt, dba_hist_sqltext st where st.sql_id(+) = sqt.sql_id and st.dbid(+) = 1273705906 order by nvl(sqt.cput...sql select substr(sql_text,1,40), count(*) from v$sqlarea group by substr(sql_text,1,40) having count...(*) > 50; 再执行下面的语句,找出具体的 sql 代码 select sql_text from v$sqlarea where sql_text like 'insert into test
SQL> col sql_text for a100SQL> set line 120 pages 1000 long 100 SQL> select sql_id,sql_text from dba_hist_sqltext...AWR中的执行计划 --SQL 信息>SQL> select sql_id,sql_text from DBA_HIST_SQLTEXT where upper(sql_text) like '%...SQL> @$ORACLE_HOME/rdbms/admin/awrsqrpt.sql STATSPACK SQL 报告 在导入了STATSPACK的系统中,和AWR SQL 报告相似也可以通过STATSPACK...这时候在执行时,需要输入Hash Value 和用于特定SQL执行时间的SNAP_ID。其中,Hash Value 可以通过V$SQL取得。...---通过V$SQL取得hash_value SQL> col sql_text for a100 SQL> set line 120 pages 1000 long 100 SQL>SELECT sql_id
在缺乏的可视化工具来监控数据库性能的情形下,常用的脚本就派上用场了,下面提供几个关于Oracle性能相关的脚本供大家参考。...( SELECT sql_text, sql_id, executions, disk_reads...) x WHERE x.sql_id = dhst.sql_id ORDER BY elapsed_time_sec DESC; 9、SQL语句被执行的次数 --exe_delta表明在指定时间内增长的次数...AS sql_id, sql.executions_delta AS exe_delta, sql.executions_total FROM dba_hist_sqlstat...sql, dba_hist_snapshot s WHERE sql_id = '&input_sql_id' AND s.snap_id = sql.snap_id
概述 本文介绍在SQL问题诊断过程中利用的工具SQLHC。...SQLHC的使用 1.通过V$SQL或AWR(dba_hist_sqltext)找到要收集数据的SQL的SQL_ID 。...SELECT sql_id, hash_value, SUBSTR(sql_text,1,40) Text FROM v$sql WHERE sql_text LIKE '%&An_Identifiable_String...%'; 2.执行sqlhc.sql脚本 SQL> START sqlhc.sql T SQL_ID> SQL> exit 3.执行例 --确认SQL_ID SQL> conn teacherwhat/...SQL> SELECT sql_id, hash_value, SUBSTR(sql_text,1,40) Text FROM v$sql WHERE sql_text LIKE 'select/*+
STREAMS_TRANSACTION; 3) 查询活动事务号 select xid, xidusn, xidslt, xidsqn, mining_status from v$logmnr_transaction...where mining_status = 'ACTIVE'; 4) 查询事务的sql_id及其对应的语句 select distinct sql_id from v$active_session_history...where xid = '001A0003000068FB'; select distinct sql_id from v$active_session_history where xid = '001E000800004D5C...'; select sql_text from dba_hist_sqltext where sql_id in ('8kb1z41samn4u','4apb1v7gt9235'); delete from...在流复制中,大事务的处理会使复制慢到无法接受,所以如果要在源表进行大的事务处理,最好先停止流复制,大事务处理完,重新exp、imp生成目标表,再重新获得表的SCN,最后重新启动流复制。
♣ 题目部分 在Oracle中,coe_xfr_sql_profile.sql脚本的作用是什么?...♣ 答案部分 使用coe_xfr_sql_profile.sql脚本生成sqlprof_attr数据 最麻烦的sqlprof_attr('FULL(t1@SEL$1)')是这里的格式如何写,在Mos上的文章...note 215187.1中的sqlt.zip的目录utl中提供了脚本coe_xfr_sql_profile.sql可以生成这些信息。...sql_text,sql_id,plan_hash_value from v$sql 2 where sql_text like 'select * from scott.test where...,sql_id,plan_hash_value from v$sql 2 where sql_text like 'select /*+ full(test)*/* from scott.test
DISPLAY_AWR - 格式化并显示 AWR 中存储的 SQL 语句的执行计划的内容。 DISPLAY_CURSOR - 格式化和显示任何加载游标的执行计划的内容。...DISPLAY_SQL_PLAN_BASELINE - 显示由 SQL 句柄标识的 SQL 语句的一个或多个执行计划 DISPLAY_SQLSET - 格式化并显示存储在 SQL 调整集中的语句的执行计划的内容...READ 特权 DBA_HIST_SQL_PLAN,DBA_HIST_SQLTEXT 和 V$DATABASE。...--------------------------------------------------------------------------------------------------- SQL_ID...,DBA_HIST_SQLTEXT 和 V$DATABASE 的权限,也是没有问题的,这里就不再演示了。
根据等待事件查会话 ---- 得到异常等待事件之后,我们就根据等待事件去查会话详情,也就是查看哪些会话执行哪些SQL在等待,另外还查出来用户名和机器名称,以及是否被阻塞。...另外如下脚本可改写成根据用户查会话、根据SQL_ID查会话等等。...语句 ---- 根据SQL_ID、HASH_VALUE查询SQL语句。...如果v$sqlarea中查不到,可以尝试DBA_HIST_SQLTEXT视图中查询。...--墨天轮 sql_textselect sql_id,SQL_fullTEXT from v$sqlarea where (sql_id='&sqlid' or hash_value=to_number
根据等待事件查会话 ---- 得到异常等待事件之后,我们就根据等待事件去查会话详情,也就是查看哪些会话执行哪些SQL在等待,另外还查出来用户名和机器名称,以及是否被阻塞。...语句 根据SQL_ID、HASH_VALUE查询SQL语句。...如果v$sqlarea中查不到,可以尝试DBA_HIST_SQLTEXT视图中查询。...--墨天轮 sql_textselect sql_id,SQL_fullTEXT from v$sqlarea where (sql_id='&sqlid' or hash_value=to_number...session s, v$process p WHERE sid='&sid' AND s.paddr = p.addr order by 1;--根据SQL_ID杀会话SELECT /*+ rule
创建SQL AWR的前提是SQL要被采集至AWR中,才能使用awrsqrpt.sql脚本利用sql_id创建SQL AWR报告,创建过程和AWR类似,需要先选择报告格式、实例序号、创建的天数、快照起始和结束...最重要的一步就是输入sql_id,其中sql_id可以从AWR报告,或者dba_hist_sqltext等视图中获取。 ? 当前路径下就会产生这份SQL AWR报告。 ?...这里要说的是我在测试的过程中,曾经想执行一个普通的SQL,然后能创建出SQL AWR报告,却碰见了一个问题:该SQL未被AWR捕获,执行awrsqrpt.sql脚本输入sql_id会提示未找到。...方法2:还可以使用add_colored_sql将指定SQL采集至AWR中, 采集sql_id为fv6c79ub89g75的SQL, exec dbms_workload_repository.add_colored_sql...('fv6c79ub89g75'); 查询执行手工采集的SQL, select * from sys.wrm$_colored_sql; 删除采集到的sql_id为fv6c79ub89g75的SQL,
日常运维中,经常会遇到需要绑定好的执行计划的场景。 简单来说,就是将一个sql_id绑定好的plan_hash_value。如果没有使用到绑定变量,还需要把force_match设置为true。...用到的是MOS文档215187.1提供的系列脚本中的coe_xfr_sql_profile.sql。...PRO SET TERM OFF ECHO ON; WHENEVER SQLERROR EXIT SQL.SQLCODE; -- trim parameters COL sql_id NEW_V sql_id...FOR A30; COL plan_hash_value NEW_V plan_hash_value FOR A30; SELECT TRIM('&&sql_id.') sql_id, TRIM('&...dba_hist_sqltext WHERE sql_id = TRIM('&&sql_id.')
which need to be tuned(which is already running, we can get it from v$sql), and get new sql_id which...AND PAYER.BA_NO = DOC.BA_NO AND doc.DOC_PRODUCE_IND IN ('Y', 'E')) and fetch it from v$..., input sql_id and hash_value....SQL>BEGIN 2 IF :sql_text IS NULL THEN 3 RAISE_APPLICATION_ERROR(-20100, 'SQL_TEXT for SQL_ID...&&sql_id. was not found in memory (gv$sqltext_with_newlines) or AWR (dba_hist_sqltext).'); 4 END
基于CBO优化器的环境中,SQL执行计划的生成依赖于统计信息的真实与完整。如列的离散度,列上的直方图,索引的可用性,索引上的聚簇因子。...1、创建演示环境 --演示环境 scott@SYBO2SZ> select * from v$version where rownum<2; BANNER ----------------------...ADDRESS HASH_VALUE SQL_ID COMMAND_TYPE PIECE SQL_TEXT ---------------- ---------...10 WHERE sql_id = '&input_sql_id' 11* ORDER BY timestamp,id Enter value for input_sql_id: 4hqyjwh7861tp...语句,需要执行snapshot之后,才会被填充到DBA_HIST_SQL_PLAN、DBA_HIST_SQLSTAT、DBA_HIST_SNAPSHOT数据字典中 d、如果你的测试无法获得历史SQL语句及其执行计划
♣ 题目部分 在Oracle中,coe_load_sql_profile.sql脚本的作用是什么?...♣ 答案部分 可以使用coe_load_sql_profile.sql脚本直接固定执行计划,该脚本也可以实现直接把sqlprofile直接迁移到其它库中。...sql_text,sql_id,plan_hash_value from v$sql where sql_text like 'select * from scott.test where object_id...,sql_id,plan_hash_value from v$sql where sql_text like 'select /*+ full(test)*/* from scott.test where...) or AWR (dba_hist_sqltext).'); 4 END IF; 5 END; 6 / SQL>SET TERM OFF; SQL>BEGIN 2 IF
Execute to Parse%是AWR报告中Instance Efficiency Percentages部分中重要的一个性能指标,反应了数据库SQL解析和执行的比率。...另外我们会在pga有一个cursor的拷贝,同时在客户端会有一个statement handle,这些都被称为cursor,在v$open_cursor里面我们可以看到当前打开的cursor和pga内cached...硬解析:SQL语句在library cache无缓存 软解析:SQL语句在library cache找到了执行计划 软软解析:在pga内搜索session cursor cache list列表中找到对应的...同样的情形在Oracle 11.1.1.7上也存在,不过这条SQL在awr报告中没有当前11.2.1.0中突出 以下是metalink上的具体描述 Bug 12318969 : V2301072...SQL_ID az33m61ym46y4 SELECT NULL AS table_cat, o.owner AS table_schem, o.object_name AS table_name
2014-12-25 Created By BaoXinjian 一、摘要 ---- 在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷...缺点 但是这个值的有效性需要结合FIRST_LOAD_TIME来判断,因为VSQLAREA或VSQL中不保存历史数据, 具有一定的时效性,所以如果要查询很久以前的某个SQL执行次数是办不到的。...如何查询 SELECT SQL_ID, SQL_TEXT,FIRST_LOAD_TIME, EXECUTIONS FROM V$SQLAREA WHERE SQL_ID = '497wh6n7hu14f...总结 如果此时清空共享池,那么你会发现V$SQLAREA中对应的SQL的EXECUTIONS次数清零了。...(sql_text, 2000, 18001) SQL_TEXT10 FROM DBA_HIST_SQLTEXT D, DBA_HIST_SNAPSHOT N,
select sql.*, (select SQL_TEXT from dba_hist_sqltext t where t.sql_id = sql.sql_id and rownum=1 ) SQLTEXT...在分析SQL中,还有很重要的信息。 第一个是执行计划。...Oracle在AWR裸数据中也保留了绑定变量: DBA_HIST_SQLSTAT.BIND_DATA 这个栏位里面,保存了绑定变量 通过以下SQL, 可以获取历史绑定变量: select snap_id...不知道大家有没有碰到过这样的情况, 有时候,明明性能瓶颈在SQL,但Top SQL中DB Time(%)指标却很低,前10个加起来也不足20%....就是Top Segments.通常,如果Top SQL中找不到太多信息,我们可以去看看Top Segments: 这是摘自同一个AWR的信息。
根据DG不同步的时间点初步定位是在11-16号这天,我们可以直接根据DBA_HIST_ACTIVE_SESS_HISTORY中的TEMP_SPACE_ALLOCATED字段进一步定位: DBA_HIST_ACTIVE_SESS_HISTORY...上面的查询可以直接加入sql_id字段定位,发现都是同一个SQL导致的: select instance_number, to_char(sample_time,'mm-dd hh24:mi:ss'),...sql_id, sum(TEMP_SPACE_ALLOCATED) from dba_hist_active_sess_history where sample_time > to_date('11-...auyf8px9ywc6j 对应的文本为: select sql_text from dba_hist_sqltext where sql_id = 'auyf8px9ywc6j'; SQL_TEXT...去网络搜索,会发现有人提到过这个SQL_ID,说这是由MMON发起的SQL It looks like something made by a DBA, but it comes from the MMON
sql_text format a60 set linesize 150 set pages 50 select sql_id,sql_text from v\$sql where sql_id in...(select sql_id from v\$session where paddr='$sh_tmp_process' and sql_id is not null ) and rownumsql_id prev_sql_id ,sql_text from v\$sql where sql_id in (select prev_sql_id sql_id from v\$session...在查看了关联的几个达标之后,发现有一个大表的统计信息误差有10%左右,其他的都在1%以内的样子。 这也是一个可能原因,在查看索引的使用情况,都走索引了,没有任何索引失效的情况。...下面是我在最近这一个月左右的时间内现有的awr中找到的。时间浮动还是比较小。