读书笔记-《基于Oracle的SQL优化》-第二章-1
第二章:Oracle里的执行计划2.1 什么是执行计划Oracle用来执行目标SQL语句的这些步骤的组合就被称为执行计划。执行计划可以分为如下三个部分:1、目标SQL的正文、SQL ID和其执行计划所对应的的PLAN HASH VALUE。2、执行计划的主体部分。可以看到Oracle在执行目标SQL时所用的内部执行步骤,这些步...
OCP考试时间和及格线
exp/imp导入导出版本问题和ORA-6550报错
前几天有位同事问到exp/imp是否涉及到版本问题,我认为,只要是软件,都会涉及到高低版本的兼容性问题,Oracle也是软件,自然也是这样。简单的实验:exp工具版本:10g导出的source数据库版本:9ibash-4.1$ exp x/x@x tables=T file=/home/x/t.dmpExport: Release 10.2.0.4.0 - Production on Wed Dec 11 15:17:0...
读书笔记-《基于Oracle的SQL优化》-第一章-3
优化器:1、优化器的模式:用于决定在Oracle中解析目标SQL时所用优化器的类型,以及决定当使用CBO时计算成本值的侧重点。这里的“侧重点”是指当使用CBO来计算目标SQL各条执行路径的成本值时,计算成本值的方法会随着优化器模式的不同而不同。Oracle中,优化器的模式是由参数OPTIMIZER_MODE的值来决定的。...
再次明确Oracle插入与读取的顺序问题
今天老婆问到一个问题:Oracle中,插入多条记录后,读的时候如果不用Order by,那顺序是如何?如果中间涉及UPDATE和DELETE,是否有影响?这个其实之前总结过这个问题,但确实感觉没有深刻理解,才导致不是十分确定,看来还是方法上要改进。之前总结的:http://blog.csdn.net/bisal/article/details/9...
ORA-60死锁的实验
ORA-60死锁的实验创建表:SQL> create table tbl_ora_60 ( id number(5), name varchar2(5) );SQL> insert into tbl_ora_60 values(1, 'a');1 row created.SQL> insert into tbl_ora_60 values(2, 'b');1 row created.SQ...
读书笔记-《基于Oracle的SQL优化》-第一章-2
CBO优化器的基本概念:可传递性:1、简单谓词传递t1.c1=t2.c1 and t1.c1=10,Oracle会自动将t2.c1=10的条件添加。2、连接谓词传递t1.c1=t2.c1 and t2.c1=t3.c1,Oracle会自动将t1.c1=t3.c1的条件添加。3、外连接谓词传递t1.c1=t2.c1(+) and t1.c1=10,Oracle会自动将t2.c1(+)=10的条...
学习笔记-《基于Oracle的SQL优化》-第一章-1
开始学习崔老师的《基于Oracle的SQL优化》,七百多页,虽然可能会比较痛苦,但想必是一个痛并快乐的过程,尽情享受了。。。第一章:Oracle里的优化器优化器是Oracle数据库中内置的一个核心子系统,可以理解为一个核心模块或者一个核心功能组件。优化器的目的是按照一定的判断原则来得到它认为的目...
西班牙游记-连载1
打算分几次,将这次西班牙之行做个记录,一方面做个总结,方便后人查看,另一方面也是重温这次旅行的点点滴滴,确实有意义。《旅行开始前的准备》 说到准备,这次决定到西班牙旅行,也是6月份的时候,听到同事到巴塞罗那开会,碰巧老婆上半年刚从德国出差回来,对欧洲印象很好,...
报错:ORA-07445: exception encountered: core dump [kkqtnloCbk()+111] [SIGSEGV]
今天QQ有问个问题,说有个应用报错3113,按照常规,让其检查了:1、用户profile是否设置了idle_time参数,没有。2、应用与数据库之间有防火墙超时设置,没有。于是又问他是所有应用都报错,还是某个报错,反馈说是一个SQL,用到了full join。我觉得这个是SQL语法问题,和3113连接断开应该没有关系啊?于...
ORA-00060的示例与若干场景
create table eg_60 ( num number, txt varchar2(10) );insert into eg_60 values ( 1, 'First' );insert into eg_60 values ( 2, 'Second' );SQL> select rowid, num, txt from eg_60;ROWID NUM TXT------------------ ------...
关于如何判断与解决deadlock的问题
当前应用时常会出现deadlock的alert记录,关于如何判断与解决deadlock的问题,有一些介绍性的文章值得阅读。How to Identify ORA-00060 Deadlock Types Using Deadlock Graphs in Trace (文档 ID 1507093.1) 当Oracle检测到死锁后,会取消当前检测到死锁的SQL执行,...
一次删除还是分批删除
今天有位同事说“传言一次删除量大,是更慢”,这句话有对的地方,但重要的是问个为什么,只有知道了它的原因才能更好地使用Oracle提供的技术。我个人的理解是:删除量大小主要受限于UNDO表空间,因为执行DELETE每条...
Oracle官方文档下载与旧版本下载
非常著名的Oracle官方文档汇总的下载地址:http://tahiti.oracle.com/另外,对于10g以前的若干安装版本当前官网已经没有提供下载地址了,但可以通过提交一个SR来寻求帮助。...
应用长时间未调用后再次调用出现hang的情况
之前某应用就存在长时间不调用,再次调用时处于hang,等待10分钟返回3113的连接错误。今天正好同事也问了个相同的问题,也是应用长时间不调用就出现这种情况。 &nb...
How to Tell if the I/O of the Database is Slow - 2
IO的类型:平均响应时间直接关联到具体的IO类型:1. 读或写2. 单块或多块 单块IO,指一次只读一个块。例如,当一个session等待一个单块IO时,典型的等待事件就是“db file sequentia...
How to Tell if the I/O of the Database is Slow - 1
系统变慢的原因有很多,有时是因为SQL,有时是因为硬件,有时又可能是系统,就如前几篇文章介绍的,AWR是一个查找问题原因的重要手段,同时OSWatcher等工具也是排查系统问题必不可少的方法。当然系统变慢,也需要知...
Waiting Too Frequently for 'db file sequential read'
昨天有篇“db file sequential read”的介绍,还有一篇类似的:Resolving Issues Where Application Queries are Waiting Too Frequently for 'db file sequential read' Operations (文档 ID 1475825.1)诊断“db fi...
High Waits on 'Db File Sequential Read'
最近某些系统AWR的top 5中“Db File Sequential Read”占据的时间百分比非常大,通常这种等待事件是一种正常的。但当前系统性能是有些问题的,并发量大,有些缓慢,因此需要判断这种等待事件是否能够减少。MOS有几篇...
"log file sync"等待事件-2
“log file sync”有三个参数:P1 = buffer#P2 = 未使用P3 = 未使用buffer#这个buffer编号(在日志缓冲区中)的所有改变必须刷新到磁盘,写操作的完成保证了交易COMMIT的执行,即使实例crash也会保证COMMIT。因此LGWR...