杨建荣的学习笔记

每天坚持一点点,个人微信公众号: jianrong-notes, 个人邮箱:jeanrock@126.com

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

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

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(1365)

文章存档

2017年(299)

2016年(358)

2015年(360)

2014年(278)

2013年(48)

2012年(21)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题

发布时间:2014-07-21 21:29:37

在linux中有经常做文件的操作,今天有个同事在生产环境统计数据,发现有很多日志文件都是空的,文件太多了,他想查看一下有哪些文件不是空文件。而且还不想使用脚本,就想用一个命令来搞定,确实够懒的一个人。简单模拟了下。我只想查看e.lst 因为它的大小不是空的。DUM1102 /oravl01/oracle> ll *.lst-rw-r--r-- &nb.........【阅读全文】

阅读(8092) | 评论(0) | 转发(3)

发布时间:2014-07-20 19:14:58

通过v$sql_monitor能够实时采集可能存在的sql性能问题,但是每次问题发生的时候采取采取措施就有点“晚”了,我们需要防患于未然,把一些潜在问题提前发现,并加以解决。如果有些sql执行很频繁,我们需要得到一个执行的报告,但是因为sql执行很频繁,每次都生成一个报告就显得有些过于消耗资源了。现在想达到的目标就是.........【阅读全文】

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

发布时间:2014-07-18 17:01:55

生产环境有一条sql语句执行比较频繁,占用了大量的cpu资源。在一次排查中引起了我的注意,决定看看cpu消耗到底在哪儿?sql语句是比较简单的,通过查询SUBSCRIBER_FA_V是一个视图。在视图中关联了几个和业务核心表。SELECT TO_CHAR(SUBSCRIBER_NO) SUBSCRIBER_ID,       SUB_STATUS,    .........【阅读全文】

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

发布时间:2014-07-17 19:44:04

全表扫描 vs 索引......【阅读全文】

阅读(5737) | 评论(0) | 转发(3)

发布时间:2014-07-17 16:51:58

oracle的sql monitor是一个很有用的工具集。但是通过sql命令和反复去调用dbms_tune来传入参数等等操作感觉挺费事的。可以通过如下的脚本来定位sql monitor中的性能sql,发现一些潜在的性能问题。这个脚本可以定位正在sql monitor监控范围内的sql语句。MONITOR_OWNER=`sqlplus -silent $DB_CONN_STR@$SH_DB_SID <<ENDse.........【阅读全文】

阅读(7295) | 评论(0) | 转发(10)

发布时间:2014-07-17 13:35:23

并行特性在数据库里对于性能的提升很有帮助,尤其是大批量的数据处理。今天对于并行的性能情况进行了简单的图表分析。为了能够比较合理的比较数据,对数据库里的2张大表进行了比对分析。测试的场景有以下两个。1.并行生成dump文件,比如一个大表有100G,使用并行,并行度为50 ,那么很可能会生成50个dump文件,每个dump.........【阅读全文】

阅读(9356) | 评论(0) | 转发(4)

发布时间:2014-07-17 10:36:49

使用sql*loader是大型项目中数据迁移的利器。如果是外部系统,其他数据库到oracle的数据迁移,使用文本式文件是最兼容的方式。sqlldr的加载效率是很高的,同时在oracle 10g以后推出的oracle_loader效率也不容小视。sqlldr提供了额外的功能来生成external_table的创建和insert脚本,不过control file是关键,今天尝试的时.........【阅读全文】

阅读(10252) | 评论(0) | 转发(3)

发布时间:2014-07-16 18:15:27

针对之前在生产环境中使用sql*loader的性能问题,最近一直在想使用外部表的oracle_datapump来替代它。昨天下午做了大量数据的测试,比较了这两种方案。最后发现在一定的限定条件下,从很多细节来看 oracle_datapump要更胜一筹。首先使用sql*loader对于clob,blob的数据相比普通表的处理要一些额外的工作,但是这些限制或者.........【阅读全文】

阅读(6327) | 评论(0) | 转发(3)

发布时间:2014-07-15 13:01:30

今天需要在测试环境中做一些性能测试,为了不影响原有的数据,准备创建一个临时的schema。但是创建的时候报了如下的错误。SQL> create user mig_perf identified by mig_perf;create user mig_perf identified by mig_perf*ERROR at line 1:ORA-28003: password verification for the specified password failedORA-2.........【阅读全文】

阅读(4959) | 评论(0) | 转发(3)

发布时间:2014-07-14 18:39:12

对于clob的数据,很多场合中都使用xml的格式,但是对于数据的查取和处理总是感觉力不从心。在条件允许的情况下,如果能够巧妙的使用xmltype来做数据处理,无意中是对于clob的一个处理利器。简单说下需求。数据库里存放的clob类似下面的格式<ObjectInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://.........【阅读全文】

阅读(7324) | 评论(0) | 转发(3)

发布时间:2014-07-13 10:33:22

继续昨天的部分,上一篇的链接为:http://blog.itpub.net/23718752/viewspace-1217012/对这条大sql的性能瓶颈进行了分析。主要瓶颈在于一个很大的业务表,数据量在亿级。如果通过时间条件来过滤,会有5%以内的数据被过滤出来。但是没有时间相关的索引字段,所以会走全表扫描,在目前的产品线中,这个大分区表的索引时严.........【阅读全文】

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

发布时间:2014-07-11 18:12:03

SELECT   DISTINCT CA.L9_CONVERGENCE_CODE AS ATB2,                CU.CUST_SUB_TYPE AS ACCOUNT_TYPE,                CST.DESCRIPTION AS ACCOUNT_TYPE_DESC,                SS..........【阅读全文】

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

发布时间:2014-07-11 08:58:04

在sql调优中,对于sql语句的实时监控显得尤为重要,如果某条sql语句的性能比较差。可能从前端的直观感觉就是执行时间比较长。对于dba来说,可能关注的相关因素需要多一些.1)可以通过top命令来监控sql的性能情况,查看cpu使用率较高的oracle process,然后通过查看session和process得绑定得到对应的session,然后得到对应的.........【阅读全文】

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

发布时间:2014-07-10 09:09:18

SQL>  create table t1 as select object_id,object_name from dba_objects where rownum create table t2 as select * from dba_objects;  Table created.SQL> create index t2_idx on t2(object_id);Index created.SQL>  exec dbms_stats.gather_tabl.........【阅读全文】

阅读(13242) | 评论(0) | 转发(8)

发布时间:2014-07-08 17:42:43

目前做数据迁移,有8套不同的环境,为了保护环境,每个环境中的表,视图等开发都不能修改,只能通过连接用户去查询。每个环境中可能含有表,索引,序列,存储过程,函数等,所以一个一个写是不现实的,写了下面的动态脚本来自动生成相应的权限,然后创建对应的同义词。脚本会生成两个sql脚本,一个是owner用户赋予权限使.........【阅读全文】

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

发布时间:2014-07-08 11:38:06

现在有一个需求,需要开放一些"特殊“的权限给开发组。具体的背景是这样的:有三个数据库用户,tabowner, tabconn, tab_temp三个用户tableowner是owner用户,里面存放着表,索引,序列,存储过程等。tabconn是一个连接用户,在这个用户里面建立了一些同义词,可以直接通过这个用户来进行数据的增删改查。tab_temp是一.........【阅读全文】

阅读(4783) | 评论(0) | 转发(3)

发布时间:2014-07-07 14:15:32

今天早上收到邮件,说有一个很紧急的问题,是关于sequence的。错误日志里面还有ORA的错误-----        ... 7 more Causedby: java.sql.SQLException: ORA-08004: sequence TRX_1SQ.NEXTVAL exceedsMAXVALUE and cannot be instantiated 猛一看就是sequence的值越界了。导致这个问题的原因主要.........【阅读全文】

阅读(8943) | 评论(0) | 转发(3)

发布时间:2014-07-06 11:22:38

现在有一个需求,输入一串数,输入的数个数还不固定,需要得到最小的那个数和对应的下标如果说传入的数的个数固定,直接用for循环来得到最值 其实也不难。使用编程语言java,c等都可以实现。使用动态变量可以很方便的初始化多个变量,对传入的数进行统计和比较。动态变量的初始化有如下几种形式:param_no=$##初.........【阅读全文】

阅读(5539) | 评论(0) | 转发(4)

发布时间:2014-07-04 16:29:40

在oracle的数据类型中,long类型算是一个比较另类的典型,早就不建议使用了,但是在数据字典里还是能看到long 类型的影子。如果在一些工作中碰到long type就让人感觉long 类型像是被封杀了,会碰到不少的问题。比如数据字典user_constraints中包含了long类型的列。SQL> desc user_constraints Name     &.........【阅读全文】

阅读(5109) | 评论(0) | 转发(4)

发布时间:2014-07-04 14:35:46

今天在生产中发现一条sql语句消耗了大量的cpu资源。  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                     &.........【阅读全文】

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

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:公司不让上网,想发都没条件。

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

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

登录 注册