• 博客访问: 14083988
  • 博文数量: 1499
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-14 23:24
  • 认证徽章:
个人简介

每日发文,或技术、或总结,偶有日间小事也以为记,谓之学习笔记,成年累月1500多天,中间几乎没有间断,要旨只有一个:学习交流,共同进步 。 学习笔记精华整理,个人新书《Oracle DBA工作笔记》已开售,在京东,当当,亚马逊,淘宝,天猫均有售,欢迎选购。

文章分类

全部博文(1499)

文章存档

2018年(140)

2017年(320)

2016年(356)

2015年(346)

2014年(270)

2013年(46)

2012年(21)

发布时间:2014-12-11 19:30:33

一般在生产环境中,如果某个查询中涉及一个大表,走索引扫描是显然是最值得推荐的方式,但是索引扫描有unique index scan, range scan,skip scan, full scan, fast full scan,这些索引扫描看起来好像很繁杂,但是如果掌握得当,却能够在索引扫描的基础上极速提升性能。关于索引扫描的方式,可以参考。http://blog.itpub.net.........【阅读全文】

阅读(7473) | 评论(0) | 转发(2)

发布时间:2014-12-10 23:25:10

在日常的工作中,空值总是有特殊的身份,对于它的处理有时候也是比较纠结。有时候创建索引的时候会因为空值出现一些奇怪的结果。有时候一个简单的查询因为空值却走不了索引。有时候却因为空值而能走索引。我们来简单的模拟一下这些问题。首先创建一个空表,注意对于id列我们是加了not null的约束的。SQL> crea.........【阅读全文】

阅读(4951) | 评论(0) | 转发(2)

发布时间:2014-12-09 19:50:17

今天生产系统中的一个daemon出现了严重的数据处理延迟,客户需要我们立即给出处理的方案。在综合评估之后,为了不保证在线业务延迟,开发部门给出了临时的解决意见。先停掉了一个应用,然后重启之后那个daemon就没有问题了。等我连上系统,这个问题已经不存在了,但是还是要提供一些更加详细的信息来进一步诊断这个问题。.........【阅读全文】

阅读(7531) | 评论(1) | 转发(1)

发布时间:2014-12-09 18:33:56

在生产环境维护中,如果碰到较长时间的锁等待,很可能会造成各种可能的问题。我们可以使用如下的脚本来实时监控锁的情况。sqlplus -S $DB_CONN_STR@$SH_DB_SID ......【阅读全文】

阅读(7051) | 评论(1) | 转发(2)

发布时间:2014-12-08 18:07:59

awr是生产环境中排查问题的利器,但是有一些问题是awr定位不了的。不如session leak的问题,因为v$session中的数据是实时改变的,一来awr生成快照的频率也有限,二来如果session leak的问题发生,但是系统资源消耗不高,awr也不一定能够马上定位出问题所在。对于session leak的问题,当发生问题的时候,等我们连到系统中的.........【阅读全文】

阅读(7321) | 评论(0) | 转发(1)

发布时间:2014-12-07 20:07:06

在sqlplus中运行sql语句或者pl/sql的时候如果需要统计运行的时间,只需要开启set timing on选项即可。SQL> set timing onSQL> SQL> select count(*)from cat;  COUNT(*)----------       408Elapsed: 00:00:00.15如果在运行pl/sql的时候如果需要计算程序运行的时间.........【阅读全文】

阅读(8674) | 评论(0) | 转发(2)

发布时间:2014-12-06 21:58:21

在上大学的时候,学习操作系统感觉特别枯燥,都是些条条框框的知识点,感觉和实际的关联不大。发现越是工作以后,在工作中越想深入了解,发现操作系统越发的重要。像现在的RHCE市场反响不错,如果想深入地学习,就有很多操作系统的知识需要补补。在实践中结合理论还是不错的一种学习方法。自从接触数据库以后,越来越感觉到.........【阅读全文】

阅读(8192) | 评论(0) | 转发(2)

发布时间:2014-12-04 19:35:22

不可见索引在日常工作中可能实用比较少,自己体验了一把,还是比较实用的功能,在平时的工作中不妨尝试一下。我们来先体验一下,然后再细细的总结一下。测试环境基于11gR2> sqlplus -vSQL*Plus: Release 11.2.0.2.0 Production我们先来创建一个表来看看,然后创建一个不可见索引,来看看索引的访问情况。create tabl.........【阅读全文】

阅读(8371) | 评论(6) | 转发(0)

发布时间:2014-12-03 18:59:45

在看关于shared pool的文档时,必定会提到绑定变量,也能够通过几个简单的例子对绑定变量带来影响有深刻的认识,但是在工作中,可能有时候我们就忘了绑定变量的影响了,其实有时候一个很小的变动就会导致性能几十几百倍的提升。简单用跟一个实例来说明。我们先清空shared pool,排除其它的运行语句带来的影响。SQL>alter.........【阅读全文】

阅读(5253) | 评论(0) | 转发(1)

发布时间:2014-12-02 23:08:01

-->关于shell编程之文件比较可以使用如下的选项来做文件的比较。有了这些选项,文件的比较来说都是游刃有余。-d file        file是否存在并是一个目录-e file        file是否存在-f file        file是否存在并是一个文件-r file     &nb.........【阅读全文】

阅读(8191) | 评论(0) | 转发(5)

发布时间:2014-12-01 18:21:28

对于IMP的问题或者是各类ORA问题,如果碰到的时候使用oerr是一个很不错的参考方案。比如对于ora错误12041的解释如下。> oerr ora 1204112041, 00000, "cannot record ROWIDs for index-organized table \"%s\".\"%s\""// *Cause:  Index-organized tables do not have ROWIDs. Therefore a materialized//   .........【阅读全文】

阅读(4831) | 评论(0) | 转发(0)

发布时间:2014-11-30 20:43:54

shell脚本一直以来就给人呆板枯燥的感觉。如果来点图形的感觉可能大家对shell的感觉就会多加分。其实在linux中已经有人做了不少的工作,目前使用比较多的是dialog,还有很多衍生的版本,比如kdialog,gdialog,zenity等等。都在图形接口上有自己的界面风格和特点。安装dialog,一般Linux中都会默认安装这个包,如果没有可以.........【阅读全文】

阅读(9243) | 评论(0) | 转发(2)

发布时间:2014-11-29 20:27:18

关于查询转换,已经讨论了视图合并和子查询解嵌套,还有谓词推进和物化视图查询重写也是查询转换中不可或缺的部分。-->谓词推进这个术语听起来高大上,有点故弄玄虚的味道。其实在我们的查询中已经潜移默化的使用到了。比如下面的这个查询。我们定义了一个子查询 v,然后在外部的过滤条件中加入了过滤条件e.deptno=10&.........【阅读全文】

阅读(5852) | 评论(0) | 转发(1)

发布时间:2014-11-28 16:55:53

关于查询转换的作用,在之前的一篇博文里面也大概说了视图合并和子查询嵌套的部分。http://blog.itpub.net/23718752/viewspace-1310272/ 今天来举一个实例来分析一下。这条sql语句是在生产环境中运行的,目前执行速度在0.1秒左右。我们来看看从查询转换的角度来看,对于同一条sql语句,反复的变化就能够折腾出不少的.........【阅读全文】

阅读(5852) | 评论(0) | 转发(1)

发布时间:2014-11-27 18:46:10

在实际的项目中可能要访问生产环境是需要各种安全验证和设置的,毕竟客户的数据是最宝贵的资源。一般来说,客户会把一部分访问的权限开放出来。这样在系统出现问题的时候,能够更快更高效的处理问题。下面是一个简单的图表,能够说明一下其中一个项目的网络访问情况。右边的绿色区域是公司内部的环境,其中生产问题复现.........【阅读全文】

阅读(7233) | 评论(0) | 转发(2)

发布时间:2014-11-26 17:28:14

今天发现系统在下午1点左右的时候负载比较高,就抓取了一个最新的awr报告.Snap IdSnap TimeSessionsCursors/SessionBegin Snap:2089226-Nov-14 13:20:1736235.4.........【阅读全文】

阅读(25235) | 评论(1) | 转发(4)

发布时间:2014-11-25 17:31:29

今天一个开发的同事问我一个问题,说在系统中目前需要一个临时的解决方案,定义了一张表,目前想设定为分区表,因为会和外围系统交互产生大量的数据,所以需要按照小时来做分区,按照目前的数据情况,可能每个小时的数据量都在几十万~百万.如果按照常规思路来说,那这个需求基本上时候不可能实现的.一个是分区的限制数,.........【阅读全文】

阅读(6452) | 评论(0) | 转发(1)

发布时间:2014-11-24 20:22:55

如果接触数据库有些时间了,可能会碰到很多关于数据库相关的名字,比如ORACLE_SID,db_name,instance_name,global_name,db_unique_name等等。可能一下子都有些糊涂了,就一股脑儿认为都应该是一致的,其实不然。如果你接触的环境比较单一,可能会有这种错觉。我们来简单对比一下单实例和多实例下的数据库中的这些名词。.........【阅读全文】

阅读(6092) | 评论(0) | 转发(2)

发布时间:2014-11-23 22:15:12

关于shell也多多少少的写了不少文章了。在工作中shell的使用也是相当的普遍了,尤其是基础的学习。今天就简单的总结一下,希望对大家有所帮助。-->查看局部/全局环境变量    printenvenvset查看进程对应的环境变量。比如我们想查看oracle中smon进程对于的环境变量,我们可以使用如下的方法查看。.........【阅读全文】

阅读(11163) | 评论(0) | 转发(5)

发布时间:2014-11-22 22:02:00

关于sysdba,sysoper,dba这些名词在工作中可能接触的比较多,如果接触的环境是服务器端的,sysdba可能是经常用到的。如果是数据库的维护工作,dba就是必备的权限。在oracle的官方文档中给出了sysdba和sysoper的区别。我在这个基础上又加入了一些东西做点补充。标黄的部分是sysdba和sysoper的不同之处。这两个特殊的系统权.........【阅读全文】

阅读(8882) | 评论(0) | 转发(7)
给主人留下些什么吧!~~

dsktt2016-12-30 10:56

lhrbest:建荣博客写了4年了,佩服,我们都是12年申请的,我14年7月开始写,你12年7月开始写

你们都是我佩服的!

回复  |  举报

lhrbest2016-07-09 23:31

建荣博客写了4年了,佩服,我们都是12年申请的,我14年7月开始写,你12年7月开始写

回复  |  举报

jeanron1002015-09-01 10:49

berlits:可怜,公司所有数据都不允许带出办公室。回家发,只能重新写了。

你们确实太严格了,说明你的工作是高危,高机密的工作。

回复  |  举报

berlits2015-09-01 00:20

jeanron100:这个还是可以有的,整理个思路,回家发

可怜,公司所有数据都不允许带出办公室。回家发,只能重新写了。

回复  |  举报

jeanron1002015-08-31 09:28

berlits:公司不让上网,想发都没条件。

这个还是可以有的,整理个思路,回家发

回复  |  举报
留言热议
请登录后留言。

登录 注册