
SQL优化
Demonson
桃李春风一杯酒,江湖夜雨十年灯。
展开
-
oracle解析相关的等待事件(Shared Pool latch/library cache: mutex X/cursor: pin S)
Shared Pool/Library Cache Latch Contention可能的原因sql语句不能被重用,语句没有使用绑定变量,不合适的应用游标缓存大小,频繁的登入或登出,数据库对象上做过ddl操作,共享池太小等在会话级别V$SESSTATparse time CPUparse time elapsedRatio of parse count (hard) / execute count...原创 2018-03-30 16:13:11 · 536 阅读 · 0 评论 -
ORA-12015 不能从复杂查询中创建一个可快速刷新的实体化视图
物化视图的快速刷新物化视图的快速刷新(一) 物化视图有三种刷新方式:COMPLETE、FAST和FORCE。完全刷新(COMPLETE)会删除表中所有的记录(如果是单表刷新,可能会采用TRUNCATE的方式),然后根据物化视图中查询语句的定义重新生成物化视图。快速刷新(FAST)采用增量刷新的机制,只将自上次刷新以后对基表进行的所有操作刷新到物化视图中去。采用FORCE方式,Oracl...转载 2018-08-24 15:02:29 · 4972 阅读 · 2 评论 -
oracle用dbms_workload_repository取AWR报告方法
我们可以使用awrrpt.sql脚本在服务器端生成AWR报告,这里我们说说如何使用DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML生成AWR报告,可以在服务器和客户端使用。取AWR方法1、根据取AWR报告的时间范围,查出快照ID;SELECT * FROM DBA_HIST_SNAPSHOT T WHERE T.END_INTERVAL_TIME...原创 2018-08-03 14:50:13 · 4799 阅读 · 0 评论 -
Oracle查看执行过的SQL
Reference: http://blog.youkuaiyun.com/xiaoxu0123/article/details/38846685 Reference: http://blog.sina.com.cn/s/blog_4a80a5730101oxnk.html Reference: http://blog.youkuaiyun.com/fycghy0803/article/deta...原创 2018-08-03 10:14:18 · 26055 阅读 · 0 评论 -
shared pool之SubPool深度解析
我们知道,从Oracle 9i开始,Shared Pool可以被分割为多个子缓冲池(SubPool)进行管理,以提高并发性,减少竞争。Shared Pool的每个SubPool可以被看作是一个Mini Shared Pool,拥有自己独立的Free List、内存结构以及LRU List。同时Oracle提供多个Latch对各个子缓冲池进行管理,从而避免单个Latch的竞争(Shared Pool...原创 2018-03-29 17:25:31 · 758 阅读 · 0 评论 -
把Autotrace的权限授予Everyone
通过以下方法可以把Autotrace的权限授予Everyone,如果你需要限制Autotrace权限,可以把对public的授权改为对特定user的授权。 D:\oracle\ora92>sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 3 15:16:03 2003Copyright (c) 1982, 2...原创 2018-03-29 13:29:30 · 245 阅读 · 0 评论 -
oracle 查询计划中的基数cardinality概念
CBO(基于代价的优化器)是RBO(基于规则的优化器)的替代品,从9i开始oracle就建议用户使用CBO来进行SQL的优化。CBO大概的优化原理很简单,他通过对象上的统计信息来计算各个执行计划的代价,然后选择代价较小的执行计划来运行。所以对于CBO来说对象(比如表,索引)上的统计信息就显得十分的重要,不仅要有统计信息,还要保证统计信息是准确的,不准确的统计信息可能会带来灾难性的结果。那么orac...转载 2018-03-29 11:06:58 · 1345 阅读 · 0 评论 -
Oracle事件之10053 跟踪的trace文件相关解释
一. 10053事件 当一个SQL出现性能问题的时候,可以使用SQL_TRACE 或者 10046事件来跟踪SQL. 通过生成的trace来了解SQL的执行过程。 我们在查看一条SQL的执行计划的时候,只能看到CBO 最终告诉我们的执行计划结果,但是不知道CBO 是根据什么来做的。 如果遇到了执行计划失真,如:一个SQL语句,很明显oracle应该使用索引,但是执行计划却没有使用索引...转载 2018-03-29 10:53:58 · 2175 阅读 · 0 评论 -
Oracle 11g ASH报告的生成方法
数据库报ORA-600错误Wed Mar 23 15:28:50 2016Errors in file /u01/app/oracle/diag/rdbms/gtfdb/gtfdb2/trace/gtfdb2_ora_8946.trc (incident=135114):ORA-00600: ?????í?ó?ú??, ????: [kolrghte: hash table not exist]...原创 2018-04-04 09:11:44 · 4189 阅读 · 0 评论 -
Oracle深度学习笔记——shared_pool底层知识大集合
1 shared poolhttp://www.360doc.com/content/16/0410/22/31263000_549565302.shtml--Library Cahce锁挣用Oracle引入Shared Pool就是为了帮助我们实现代码的共享和重用。Shared Pool主要由两部分组成,一部分是库缓存(Library Cahce),另一部分是数据字典缓存(Data Di...转载 2018-04-02 16:20:09 · 4599 阅读 · 0 评论 -
在java中使用oracle绑定变量
为什么要使用绑定变量:在JAVA中的SQL 语句的编写方面,没有使用ORACLE 绑定变量,很大程度上降低了数据库的性能,表现在两个方面:1、SQL语句硬分析(Hard Parse)太多,严重消耗CPU资源,延长了SQL语句总的执行时间。SQL语句的执行过程分几个步骤:语法检查、分析、执行、返回结果。其中分析又分为硬分析(Hard Parse)和软分析(Soft P...原创 2018-04-02 14:51:31 · 1246 阅读 · 0 评论 -
关于shared pool的深入探讨:latch free/library cache pin/library cache lock
关于shared pool的深入探讨(一)关于shared pool的设置一直是一个争议较多的内容。很多文章上说,shared pool设置过大会带来额外的管理上的负担,从而在某些条件下会导致性能的下降。那么这个管理上的负担指的是什么内容呢? 本文对这个内容作一定的深入探讨。本文只涉及一个方面,后续的文章将从其他方面继续讨论。 基础知识:我们可以通过如下命令转储shared pool共享内存的内容...转载 2018-04-02 10:04:21 · 2060 阅读 · 0 评论 -
ORACLE分区窗口按月按天自动分区
一、建按月自增分区表:1.1建表SQL> create table month_interval_partition_table (id number,time_col date) partition by range(time_col) 2 interval (numtoyminterval(1,'month')) 3 ( 4 partition p_month_1...原创 2018-10-08 09:48:45 · 4190 阅读 · 0 评论