摘要: Library Cache主要用于存放SQL游标,而SQL游标最大化共享是Library Cache优化的重要途径,可以使SQL运行开销最低、性能最优。 1 SQL语句与父游标及子游标 在PL/SQL中,游标(Cursor)是数据集遍历的内存集合。而从广义上讲,游标是SQL语句在Library Ca 阅读全文
posted @ 2018-03-05 15:15 杨哥哥 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 本文由我和公司同事问心共同测试分析完成。很多时候我们会有这样一个误区,语法错误或者对象不存在应该在语法语义检查这个步骤就结束了,怎么还会存在共享池里面呢?带着这个几个问题我们做几个简单的测试。我们先了解下什么是解析失败的 SQL?1、SQL语法错误2、访问的对象不存在3、没有权限那么怎么证明有哪些解 阅读全文
posted @ 2018-03-05 14:48 杨哥哥 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 通过关联x$kglcursorx$kglcursor_child_sqlid视图; 通过使用Oracle10035Event事件可以找到解析失败的SQL; 通过oraclesystemdump也可以找到解析失败SQL; 以下我们来看看这个精彩的案例分享。 背景介绍客户的一套重要生产系统,出现了性能问 阅读全文
posted @ 2018-03-05 14:41 杨哥哥 阅读(1363) 评论(0) 推荐(0) 编辑
摘要: 从 v$fixed_view_definition 视图中可以看到 性能视图所依赖的基表 SELECT view_definition FROM v$fixed_view_definition WHERE view_name='GV$SQL'; SELECT view_definition FROM 阅读全文
posted @ 2018-03-05 14:17 杨哥哥 阅读(760) 评论(0) 推荐(0) 编辑
摘要: 一、概述 library cache(库缓存)是shared pool中的一块内存区域,它的主要作用是缓存刚刚执行过的sql语句和pl/sql(包括存储过程、包、函数、触发器)所对应的解析计划、解析树等对象,当同样的sql或pl/sql再次被执行时,就可以直接利用在library cache中的那些 阅读全文
posted @ 2018-03-05 13:46 杨哥哥 阅读(438) 评论(0) 推荐(0) 编辑
摘要: .alter session set events 一、Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件 阅读全文
posted @ 2018-03-05 13:21 杨哥哥 阅读(423) 评论(0) 推荐(0) 编辑
摘要: Oracle Shared Pool 原理 由于shared pool中最重要的是library cache,所以本文主要讲解Library cache的结构,library cache latch,library cache lock,library cache pin。 What is shar 阅读全文
posted @ 2018-03-05 12:27 杨哥哥 阅读(5321) 评论(0) 推荐(0) 编辑