
ORACLE优化
文章平均质量分 77
TrsenZhang
这个作者很懒,什么都没留下…
展开
-
ORACLE服务器监控
--按运行时间来查找top10的sqlSELECT sql_id,child_number,sql_text,elapsed_timeFROM (SELECT sql_id,child_number,sql_text,elapsed_time, cpu_time,disk_reads, RANK () OVER(ORDER BY elapsed_原创 2014-04-02 17:41:02 · 658 阅读 · 0 评论 -
index leaf/branch block说明
-----根据索引的object_id来treedump其信息alter system flush buffer_cache;select object_id from dba_objects where object_name='IDX01_T_OBJECTS' and object_type='INDEX';alter system set events ' immediate t原创 2014-11-19 19:29:44 · 1377 阅读 · 0 评论 -
enq:TX-index contention等待事件
此等待事件发生的版本从10.2到11.2,在任何平台都会出现产生的原因:在OLTP RAC系统上,高并发应用下,与表相关的索引会发生很高的TX队列的争用。这通常在所有实例并发应用大量的INNSERT或DELETE操作。因为当插入新行到index块里索引块可能需要做splits动作。事物将会有mode 4的TX lock,直到之前的session做完index block splits为止。原创 2014-11-18 17:23:47 · 8011 阅读 · 0 评论 -
log file sync等待事件
概念:1、REDO组件:redolog buffer=>位于SGA中,是一块循环使用的内存区域,保存数据库变更的相关信息并以重做条目redoentries形式存储,包含DML及DDL语句;LGWR=>通过此进程把redo buffer的内容写到redo log file中;redo log file=>(在归档模式下被ARC n最终写入归档日志)。最少两组重做日志,每组最少一个成员原创 2014-10-30 10:27:14 · 1583 阅读 · 0 评论 -
在OLTP中,索引访问的几种常规操作
在OLTP中,索引访问的几种常规操作1、index(unique scan):唯一索引扫描,即对唯一索引进行单一匹配访问。在唯一索引中,每一个非空健值只会存在一条。主键本身是一个没有null值的唯一索引。------------------------------------------------------------------------------------------|原创 2014-11-13 16:39:17 · 974 阅读 · 0 评论 -
在OLTP中,表访问的几种常规操作
在OLTP中,表访问的几种常规操作1、table access(full):全表扫描,通过扫描全表的方式来访问表,这样的表操作,一般情况下是不想PLAN_TABLE_OUTPUT--------------------------------------------------------------------------------Plan hash value: 139135原创 2014-11-11 16:02:41 · 2388 阅读 · 0 评论 -
HWM&&碎片整理之move操作
针对ASSM segment管理方式的HWM的降法:impdp/expdp,exp/imp,ctas,insert into,move,shrink,在线重定义等方法;前面已经讨论过在线重定义,impdp/expdp的用法,这里不作讨论,至于ctas,不作讨论;前面,已经用tom大师的工具来做hwm的判定了;这里主要说明move用法move操作:SQL> create tabl原创 2014-07-22 16:06:40 · 851 阅读 · 2 评论 -
lock类型介绍
排它锁(exclusive locks,即X锁):当数据对象被加上排它锁时,其他的事务不能对它读取和修改共享锁(share locks,即S锁):加了共享锁的数据对象可以被其他事务读取,但不能修改表级锁TM有5种类型:S,X,RS(SS),RX(SX),SSX(SRX).Value Name(s) Table method (TM lock)0原创 2014-07-18 14:05:12 · 1578 阅读 · 0 评论 -
索引聚簇因子
索引聚簇因子用于测量相对于某个索引值(如雇员姓氏)的行顺序。被索引值的行存储得越有序,则聚簇因子越低。因为我们常用的表是堆表,数据的存储是“无序”存放在磁盘或存储上;如果所查的数据越无序越分散,查询的逻辑IO虽然一样,但是物理IO的代价就可能很高了。如果聚簇因子较高,则在大型索引范围扫描过程中,数据库将执行相对较高数目的I/O。索引条目指向随机表块,因此数据库可能必须一遍又一遍地来回重读索原创 2014-07-18 13:25:13 · 806 阅读 · 0 评论 -
10053事件分析
10053内容:参数区=>初始化参数,隐含参数,这些参数可以左右oracle工作方式sql区=>执行的sql语句,是否使用绑定变量,是否进行了转换操作系统信息区=>操作系统统计信息,cpu主频cpu执行事件io寻址时间、单块读时间、多块读时间数据访问方式=>访问方式不一样计算代价的方法也不一样,全表扫描走索引多表关联代价都不同关联查询=>把每张表都作为驱动表去组合,择优选择“代原创 2014-04-22 13:29:18 · 1087 阅读 · 0 评论 -
insert /*+ append */ into一定会比insert into好吗?
在速度上面大家都清楚直接加载插入数据确实比insert into快多了,但是如果在业务很麻烦的表这样做,估计会付出很大的性能甚至夯机的代价,也许开发追求快,但是作为DB,要考虑在性能的基础上来追求卓越的速度SQL> explain plan for insert /*+ append */ into t_app select * from t_app;Explained.SQL原创 2014-11-26 14:56:33 · 11779 阅读 · 0 评论