
ORACLE 之 性能优化
文章平均质量分 87
Rhys-Oracle
!有梦就会红爱拼才会赢兴趣 勤奋 坚持
展开
-
oracle 之数据字典屣履造门。
oracle 之数据字典屣履造门。 今天是2013-06-20,哎,写这篇笔记的时候,我发现我是一个非常懒惰的人,这篇文章本该昨天就完成的,想起了钱鹤滩的《明日歌》,真是“世人若被明日累,春去秋来老将至”。 oracle数据字典包括四部分,分别是RDBMS(X$),数据字典表、动态性能视图(v$)和数据字典视图。1)RDBMS(X$)内部 表:该部分内容是or原创 2013-06-20 22:55:25 · 1698 阅读 · 0 评论 -
oracle如何获得客户端sql执行计划以便优化sql(三)
oracle如何获得客户端的sql以便优化sql 今天是2013-09-25日,继续学习sql优化这一部分,在之前写过怎么获得sql的执行计划两篇笔记。虽然笔记有点粗糙,但是如果耐心看,还是发现点东西的。http://blog.youkuaiyun.com/xiaohai20102010/article/details/11694355http://blog.youkuaiyun.com/xiaohai2原创 2013-09-25 22:08:08 · 1354 阅读 · 0 评论 -
oracle DBMS_SYSTEM
DBMS_SYSTEMA definitive guideJens-Uwe Petersen May 2004 revised for Oracle 10.1 ABSTRACTPresenting the “missing” section from the PL/SQL supplied packages manual. This is not an officia原创 2013-09-25 20:03:42 · 3129 阅读 · 0 评论 -
oracle 11g 之 result cache
oracle 11g 之 result cache 今天是2013-10-12,打算最近时间研究一下shared pool的相关原理以及awr报告分析。今天学习一下在oracle 11g shared pool中新增的一个cache 那就是result cache。从上图可以看出在oracle 11g 的shared pool中存有对sql进行存储、存储sql执行计划、sql解析树等原创 2013-10-12 21:46:40 · 1898 阅读 · 0 评论 -
library cache lock 案例分析!
library cache lock 案例分析! 今天是2013-11-4,早上8点对所维护系统进行巡检,意外的事情发生了,昨天刚刚深入研究了一下library cache lock这个等待事件,今天我的系统居然给我出了这么一个问题。首先查看awr信息如下:可以看到在top5事件中就出现了这个问题。查看sql信息发现 sql 运行事件有一个sql特别的长,而且在进行原创 2013-11-04 11:27:04 · 1780 阅读 · 0 评论 -
cache buffers chains以及热块解决方案
hash backet、cache buffers chains以及热块解决方案 今天是2013-10-10,今天下午我调休了,中午饭过后从14点一直睡到16点,这种感觉真爽。 之前学习过关于buffer cache的cache buffers lru chain的知识,其中说到了lru,dirty list,ws等等,详见:http://blog.youkuaiyun.com/xiaohai2原创 2013-10-10 22:29:07 · 2762 阅读 · 0 评论 -
oracle cursor: pin s wait on x (二)
cursor:pin s on x(二)第二种产生cursor:pin s on x的原因是version countWhat is shared SQL ?The first thing to remember is that all SQL is implicitly sharable. When a SQL statement is entered, the RDBMS will原创 2013-11-12 10:59:01 · 2035 阅读 · 0 评论 -
read by other session 等待事件。
今天是2014-01-06,从今天开始,打算春节之前每天学习一个等待事件,今天就记录一下read by other session这个等待事件笔记。什么是read by other session?This wait event occurs when we are trying to access a buffer in the buffer cache but we find that原创 2014-01-07 00:16:38 · 1446 阅读 · 0 评论 -
latch:cache buffers chain等待事件。
今天是2014-01-07,今天总结一下latch:cache buffer chain等待事件内容。之前我记录过关于cache buffer chain的相关笔记,如下:http://blog.youkuaiyun.com/xiaohai20102010/article/details/12587489 我自认为这张在网络上广泛流传的图,太有内容价值了。什么是latch:cache原创 2014-01-07 22:39:54 · 2211 阅读 · 0 评论 -
db file sequential read等待事件
今天是2014-01-08,继续完成等待事件系列。什么是:db file sequential read:?简单说,就是oracle要读取单块数据,其他会话存在等待,有三个参数p1,是要读的文件,p2是block#,开始读取的数据块号,p3是blocks,一般p3为单块,但是如果是多块那么一般发生在从temporary segment中读的。该类等待事件的出现主要是由于执行对索引,回滚原创 2014-01-08 21:43:39 · 2064 阅读 · 0 评论 -
oracle library cache pin、library cache lock原理分析。
oracle library cache pin、library cache lock原理分析。 今天是2013-11-2,前段时间一直在研究oracle中复杂的component之shared pool,今天也不例外,对library cache lock、library cache pin进行一下深入的研究,另外呢,在后边一篇文章也会通过案例来介绍相应的cursor:pin s原创 2013-11-03 14:49:43 · 3065 阅读 · 0 评论 -
绑定变量转换
今天是2014-01-23, 看到一个同事写的一个sql绑定变量转换挺有意思,再次转载一下:--找到SQL_ID中的最后一个字值select * from v$sql where sql_id='0z25ncfbunafk'--转化对应的绑定变量值SELECT position,value_stringFROM TABLE(DBMS_SQLTUNE.EXTRACT_BI原创 2014-01-23 09:56:35 · 1105 阅读 · 0 评论 -
oracle hints (摘录)
oracle hints 今天是2013-10-08,收藏一下oracle hints应用。呵呵在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL+_ROWS*转载 2014-01-24 14:31:30 · 981 阅读 · 0 评论 -
oracle capability i/o(压力测试数据库服务器i/o性能)
今天是2014-04-21,今天简单只说明一下怎么影响重做数据的一个因素,那就是i/o吞吐量,oracle的介质恢复依赖于i/o,如果i/o存在瓶颈,那么势必会影响备库的介质恢复。 那么i/o stack包含hbas,存储相关的交换机、存储物理磁盘。那么oracle建议在应用程序部署的时候,建议去验证i/o避免存在问题。但是之前有一个很刺手的问题,那就是如何去验证i/o侧吞吐量,换句话说怎原创 2014-04-22 08:21:39 · 2098 阅读 · 0 评论 -
oracle如何产生sql 执行计划(二)
oracle如何产生sql 执行计划(二) 今天是2013-09-23,之前写过一篇笔记是《oracle如何产生sql执行计划(一)》,那么除了这一种方法以外其实还有两种(据我所知)。今天就看看另外另种:一、explain plan sql该语句可以对sql直接执行计划,执行的计划存储在表plan_table这张表中,但这太繁琐了,每个表的字段需要自己定义。我习惯使用db原创 2013-09-23 23:43:34 · 1585 阅读 · 1 评论 -
Using Oracle DBMS_SYSTEM.SET_EV and Oracle DBMS_SYSTEM.READ_EV
Using Oracle DBMS_SYSTEM.SET_EV and Oracle DBMS_SYSTEM.READ_EV转自:Burleson‘s blogThere are two useful procedures related to events in the DBMS_SYSTEM package. They are SET_EV, used to set a speci转载 2013-09-24 23:31:51 · 1330 阅读 · 0 评论 -
alter session events(转载)
.alter session set events一、Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系。后台报警日志文件保存BACKGROUND_原创 2013-04-20 22:19:51 · 976 阅读 · 0 评论 -
oracle statspack学习(一)
oracle statspack学习(一)虽然 oracle statspac是在oracle 8 中出现的,statspack是一个强有力的oracle性能分析收集信息工具,指导现在依然有研究价值。在创建statspace之前需要了解两个参数,如下:JOB_QUEUE_PROCESSES:JOB_QUEUE_PROCESSES specifies the maximum nu原创 2013-09-14 21:07:51 · 4611 阅读 · 0 评论 -
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled今天是2013-09-17,在今天学习sql执行计划的是发现如下问题:问题描述:在rhys用户下开启sql语句计划报如下错误:SQL> set autotrace onSP2-0618: Cannot find the S原创 2013-09-17 23:11:13 · 1359 阅读 · 0 评论 -
User has no SELECT privilege on V$SESSION
今天是2013-09-20,最近心情一直很差,但是也不能不学习啊,无论怎么样,自己学到 的东西永远都是自己的。加油!使用dbms_xplan.display_cursor function的时候发现如下错误。SQL> select * from amy_dept;DEPTNO DNAME LOC---------- -------------- -------------10原创 2013-09-20 18:07:36 · 2075 阅读 · 0 评论 -
oracle hints
oracle hints 今天是2013-10-08,对于oracle hint有很多,具体可以参考联机手册:http://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements006.htm#BABIJGJFhttp://docs.oracle.com/cd/E11882_01/server.112/e41573/原创 2013-10-08 14:20:23 · 1292 阅读 · 0 评论 -
A list of the Oracle event codes
今天是2013-10-09,在网络上逛的时候发现了一个非常不错的整理的event,收藏一下。呵呵!A list of the Oracle event codes is shown in Table 2.6. Table 2.6 Oracle Event CodesCodeDescription10000Controlfi原创 2013-10-09 10:52:15 · 1475 阅读 · 0 评论 -
hash join、nested loop,sort merge join
今天是2013-09-22,可能是中秋过的有点疲惫,感觉学习有些累了。但是我还是坚持把今晚的任务基本完成了。 在oracle 执行计划中存在三种表的连接方式,hash join、nested loop,sort merge join1、hash joinhash joinA join in which the database uses the smaller of two tab原创 2013-09-22 22:54:25 · 1612 阅读 · 0 评论 -
oracle如何产生sql 执行计划(一)
oracle之sql 执行 计划(一)今天是2013-09-10原创 2013-09-10 23:58:06 · 1139 阅读 · 0 评论 -
oracle sql 执行计划分析(一)
oracle sql 执行计划分析 今天是2013-10-08,时间过的非常快,十月一就这样过去了,回想一下我感觉还是蛮不错的,1号与Amy相约青岛,两个人痛快的玩了两天,我们拍了很多照片,也感受到了彼此的快乐。四号到家开始在家干农活,在昨天的晚上我和我爸妈一直忙到晚上11点才把所有的棒子都剥完了。而现在的我已经正式来到“地狱”,开始我新的奋斗历程。 按照SunnyXu的笔原创 2013-10-08 22:28:56 · 2426 阅读 · 2 评论 -
Why doesn't AlTER SYSTEM SET EVENTS set the events or tracing immediately?
Why doesn't AlTER SYSTEM SET EVENTS set the events or tracing immediately? 今天看到Tanel的blog,说明了此问题: 我们通过alter system 设置events和parameter是不同的,对于设置parameter使用alter system的影响如下:1)对当前的session起作原创 2013-10-09 11:08:28 · 1887 阅读 · 0 评论 -
oracle tkprof 工具详解
select s.sid,s.serial#,s.username,s.logon_time,s.osuser,(select sys_context('userenv','ip_address') from dual) as ipad,s.machine,p.username,p.program,p.spid 2 from v$session s,v$process p 3原创 2013-09-26 15:13:26 · 2874 阅读 · 0 评论 -
sql执行计划解析案例(二)
sql执行计划解析案例(二) 今天是2013-10-09,本来以前自己在专注oracle sga中buffer cache 以及shared pool知识点的研究。但是在研究cache buffer chain的时候发现了一个语句:select * from (select addr,ts#,file#,dbarfil,dbablk,tch from x$bh order by tch d原创 2013-10-10 09:11:26 · 1351 阅读 · 0 评论 -
如何定位占用oracle数据库cpu过高的sql
如何知道占用oracle数据库cpu过高的sql 今天是2013-09-24日,今天在吃饭的时候我的朋友的数据库出现了问题,cpu占用率为97%,当我看到这个问题的时候我就想到了或许是sql导致的此问题,由于忍不住吃饭,暂时没有帮他看这个问题,这是我饭后自己模拟的故障,进行的分析:1)查看一下cpu进程占用情况:看到oracle进程为6331,6517等这几个进程占用cpu过原创 2013-09-24 21:08:47 · 5409 阅读 · 2 评论 -
通过statspack诊断物理dg数据库性能方法
今天是2014-04-23,继续整理一下dg的内容,顺便学习温习。对于物理dg来说,备库在11g是可以以只读模式打开,可以提供报表查询功能,往往我们在分析备库性能的时候需要查询大量的v$视图,那么在11G之后可以在主库获得备库的statspack性能数据,便于分析。现在就看一下如果在主库上存储备用数据的statspack数据信息。 很久之前在创建过statspack,但是随着awr的引原创 2014-04-23 15:34:14 · 2105 阅读 · 0 评论