oracle-如何手动刷新执行计划plan

简介:

1,根据sql_id查询sql 内存地址及哈希值

select s.SQL_TEXT, s.ADDRESS || ',' || s.HASH_VALUE from v$sqlarea s where sql_id = '5xbtt680gjvht';

2,将该执行计划从shared pool 中清除

exec sys.dbms_shared_pool.purge('0000003E5F821DE8,16313881','c');

3,查询现在的该sql的执行计划

select * from v$sql_plan where sql_id = 'anpn3169dqr0y';

select * from v$sql where sql_id = 'anpn3169dqr0y';

4,查询sql的历史的执行计划

  SELECT s.begin_interval_time,
         s.end_interval_time,
         q.snap_id,
         q.dbid,
         q.sql_id,
         q.plan_hash_value,
         q.optimizer_cost,
         q.optimizer_mode
    FROM dba_hist_sqlstat q, dba_hist_snapshot s
   WHERE q.sql_id = '&SQL' AND q.snap_id = s.snap_id
ORDER BY s.snap_id DESC;

5,查询执行计划内容

set line 200 pagesize 300
select * from table(dbms_xplan.display_cursor('anpn3169dqr0y',0,'ADVANCED'));       
select * from table(dbms_xplan.display_cursor(‘anpn3169dqr0y’,0,'ALLSTATS LAST ADVANCED PEEKED_BINDS'));
参考:
http://blog.itpub.net/69993859/viewspace-2753737/
目录
相关文章
|
1月前
|
SQL Oracle 关系型数据库
Oracle SQL:了解执行计划和性能调优
Oracle SQL:了解执行计划和性能调优
52 1
|
6月前
|
监控 Oracle 关系型数据库
Oracle 12c的Adaptive执行计划:数据的“聪明导航员”
【4月更文挑战第19天】Oracle 12c的Adaptive执行计划是数据库查询的智能优化工具,能根据实际运行情况动态调整执行策略。它像一个聪明的导航系统,不仅生成初始执行计划,还能实时监控并适应统计信息和资源变化,例如自动切换索引或调整并行度。此外,它支持自适应连接和统计信息收集,提升处理复杂查询和变化数据环境的能力。数据管理员应充分利用这一特性来优化查询性能和用户体验。
|
SQL 缓存 监控
Oracle中如何生成有用的SQL 执行计划(译)
漫画戴夫·艾伦(Dave Allen)曾经讲过一个古老的笑话,一个旅行者问路人去某个城镇的路,路人只是说:“如果我是你,我就不会从这里开始。”
165 0
|
SQL 存储 缓存
获取和解读Oracle中SQL的执行计划(译文)
生成和显示 SQL 语句的执行计划是大多数 DBA、SQL 开发人员和性能专家的常见任务,因为它提供了 SQL 语句执行性能相关的信息。执行计划显示执行 SQL 语句的详细步骤,这些步骤表示为一组使用和生成行的数据库运算符。运算符的顺序和实现由查询优化器根据查询转换和物理优化技术来决定。
323 0
|
SQL Oracle 关系型数据库
Oracle优化05-执行计划
Oracle优化05-执行计划
461 0
|
SQL Oracle 关系型数据库
Oracle 性能优化技巧-获取真实执行计划
Oracle 性能优化技巧-获取真实执行计划
279 0
Oracle 性能优化技巧-获取真实执行计划
|
SQL 存储 Oracle
Oracle数据库 | SQL语句执行计划、语句跟踪与优化实例
Oracle数据库 | SQL语句执行计划、语句跟踪与优化实例
338 0
|
SQL Oracle 关系型数据库