ORACLE_优化
Perry705
OCM
展开
-
如何用 SQL Tuning Advisor (STA) 优化SQL语句
在Oracle10g之前,优化SQL是个比较费力的技术活,不停的分析执行计划,加hint,分析统计信息等等。在10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning Advisor :STA),它是新的DBMS_SQLTUNE包。使用STA一定要保证优化器是CBO模式下。执行DBMS_SQLTUNE包进行sql优化需要有advis转载 2014-10-09 15:56:58 · 276 阅读 · 0 评论 -
CPU and Wait Time Tuning Dimensions
CPU and Wait Time Tuning DimensionsWhen tuning your system, it is important that you compare the CPU time with the wait time of your system. By comparing CPU time with wait time, you can determine how...转载 2018-04-13 16:39:46 · 264 阅读 · 0 评论 -
oracle中的processes,session,transaction参数详解
Oracle数据库中processes,sessions,transactions分别代表进程数、会话数及当前最大允许的交易量。按照官方文档中描述,他们之间是有关系的。以下是11.2.0.4数据库版本(一会儿测试也是11.2.0.4版本)sessions=(1.5*processes)+22transactions=1.1*sessions在10g版本中sessions=(1.1*processe...原创 2018-04-12 17:32:02 · 3755 阅读 · 0 评论 -
Interpreting Explain Plan (10g and Above) (文档 ID 1616894.1)
In this DocumentPurpose Scope Details What is an explain plan? Terminology How does Oracle access data?翻译 2016-10-18 11:19:06 · 506 阅读 · 0 评论 -
Library cache内部机制详解
Library cache是Shared pool的一部分,它几乎是Oracle内存结构中最复杂的一部分,主要存放shared curosr(SQL)和PLSQL对象(function,procedure,trigger)的信息,以及这些对象所依赖的table,index,view等对象的信息。Library cache需要解决三个问题:1.快速定位的问题:Library cach转载 2015-06-25 12:18:25 · 399 阅读 · 0 评论 -
如何通过dba_hist_active_sess_history分析历史数据库性能问题
背景在很多情况下,当数据库发生性能问题的时候,我们并没有机会来收集足够的诊断信息,比如system state dump或者hang analyze,甚至问题发生的时候DBA根本不在场。这给我们诊断问题带来很大的困难。那么在这种情况下,我们是否能在事后收集一些信息来分析问题的原因呢?在Oracle 10G或者更高版本上,答案是肯定的。本文我们将介绍一种通过dba_hist_active_ses转载 2015-04-22 14:03:54 · 872 阅读 · 0 评论 -
Cardinality
The terms “high cardinality” and “low cardinality” are frequently used when discussing table columns. A high cardinality column means that a column has many unique values. For example, a primary key c翻译 2014-12-12 10:19:05 · 881 阅读 · 0 评论 -
oracle的游标和例子
游标-----内存中的一块区域,存放的是select 的结果 游标用来处理从数据库中检索的多行记录(使用SELECT语句)。利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集。 为了处理SQL语句,Oracle将在内存中分配一个区域,这就是上下文区。这个区包含了已经处理完的行数、指向被分析语句的指针,整个区是查询语句返回的数据行集。游标就是指向上下文区转载 2014-12-04 15:18:59 · 313 阅读 · 0 评论 -
Definition of SQL statement execution(parse/execute/fetch)
1) parse - pretty well defined, that is prepareStatement - we do a soft or hard parse, compile the statement, figure out how to execute it. 2) execute - we OPEN the statement. For an update, for a翻译 2014-12-04 13:24:51 · 604 阅读 · 0 评论 -
ORACLE SQL解析流程详解
ORACLE解析流程(SQL Parsing Flow Diagram) 当用户向oracle数据库发送一条sql或者运行匿名或者运行部署在数据库的过程时候,数据库会按照一定的工作机理进行工作,了解此工作机理,可以帮助开发人员编写有效率的代码,或者了解某些运行症状。 Oracle 在它的官方网站metalink给出的这个示意图,我们可以对SQL的处理过程作如下的描述 O转载 2014-12-04 13:28:25 · 1525 阅读 · 0 评论 -
解读Oracle执行计划
下面举例进行解释[html] view plaincopySQL> explain plan for 2 select a.name,b.name 3 from t1 a,t2 b 4 where a.id=b.id 5 and a.id='1'; Explained.原创 2014-10-11 16:55:53 · 1086 阅读 · 0 评论 -
SHOW_SPACE工具
SHOW_SPACE是TOM写的一个小工具,SHOW_SPACE实际上就是一个存储过程,这个存储过程可以用来分析空间按使用情况,十分的方便。以下为SHOW_SPACE的脚本:create or replace procedure show_space( p_segname in varchar2,p_owner in varchar2 default user,p_type i转载 2014-10-01 11:03:19 · 420 阅读 · 0 评论 -
Oracle SQL Trace 和 10046 事件
Oracle SQL Trace 和 10046 事件一. SQL_TRACE当SQL语句出现性能问题时,我们可以用SQL_TRACE来跟踪SQL的执行情况,通过跟踪,我们可以了解一条SQL或者PL/SQL包的运行情况,SQL_TRACE命令会将SQL执行的整个过程输出到一个trace文件中,我们可以读这个trace 文件来了解在这个SQL执行过程中Oracle 都做了哪些操作转载 2014-10-01 11:00:45 · 585 阅读 · 0 评论 -
AWR介绍使用
自动工作负载库(Automatic Workload Repository,AWR)AWR的由来: 10g之前的oracle:用户的连接将产生会话,当前会话记录保存在v$session中;处于等待状态的会话会被复制一份放在v$session_wait中。当该连接 断开后,其原来的连接信息在v$session和v$session_wait中就会被删除;oracle10g转载 2014-10-01 10:59:38 · 366 阅读 · 0 评论 -
Oracle SQL的硬解析和软解析
我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析。在Oracle中存在两种类型的SQL语句,一类为 DDL语句(数据定义语言),他们是从来不会共享使用的,也就是每次执行都需要进行硬解析。还有一类就是DML语句(数据操纵语言),他们会根据情况选择要么进行硬解析,要么进行软解析。 DML:INSERT,UPDATE,DELETE,SELECT转载 2014-10-01 10:59:35 · 278 阅读 · 0 评论 -
常见Oracle HINT的用法
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';转载 2014-10-01 10:57:45 · 288 阅读 · 0 评论 -
Oracle Hint
Oracle HintHint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式。 因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Oracle提供给DBA用来分析问题的工具 。在SQL代码中使用Hint,可能导致非常严重的后果,因为数据库的数据是变化的,在某一时刻使用这个执行计划是最优的,转载 2014-10-01 10:56:54 · 367 阅读 · 0 评论 -
Oracle AWR 介绍
一. AWR 说明 Oracle 10g之前对数据库做性能检测使用statspack工具。 关于statspack的说明,参考我的Blog: statspack安装使用 和 report 分析 http://blog.csdn.net/tianlesoftware/archive/2009/10/16/468转载 2014-10-10 14:31:29 · 244 阅读 · 0 评论 -
Oracle归档日志暴增查找定位
1.查找引起日志暴增对象select * from (SELECT to_char(begin_interval_time, 'YYYY_MM_DD HH24:MI') snap_time, dhsso.object_name, SUM(db_block_changes_delta) FROM dba_hist_seg_stat dhss, ...原创 2019-06-10 14:15:04 · 4524 阅读 · 0 评论