杨建荣的学习笔记

每天坚持一点点,个人微信公众号 jianrong-notes

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

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

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(1254)

文章存档

2017年(186)

2016年(358)

2015年(360)

2014年(278)

2013年(48)

2012年(21)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题

发布时间:2014-07-31 23:22:55

现在得到一个需求,需要把生产环境的多个schema下的表结构复制到测试环境中的一个schema下。生产环境和测试i环境的表空间配置都不一样。目前可以考虑用如下的几种方式来实现。1)使用exp/imp来做表结构的导出导入。2)使用dbms_metadata.get_ddl来生成对应的ddl语句。3)使用expdp/impdp来做表结构的导入导出。因为.........【阅读全文】

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

发布时间:2014-07-30 10:41:04

在linux中有些命令可能功能强大,方便快捷,但是同时这些命令在测试环境中有些可以用,但别在生产上挑战。有些命令一敲,可能你的职业生涯由此转折。关于rm -rf  对于这个命令真没什么好说的,最好的挽救措施就是备份,可能在有些环境中这类命令都是禁用的,但是不管怎么样,注意备份。&.........【阅读全文】

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

发布时间:2014-07-29 17:10:40

在系统升级的过程中,准备了大量的脚本,分成几个窗口来分别执行。在碰到问题的时候,一定要很细心和冷静,不经意的错误可以需要几倍,几十倍的努力来挽回。准生产环境中有一个表。TREATMENT_ACTIVITY,现在需要从另外一个临时的schema中insert一部分数据。 Name              .........【阅读全文】

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

发布时间:2014-07-28 21:33:55

生产系统中有一条sql语句,目前执行的时间有点长了,SELECT COUNT(1)  FROM (         SELECT /*+ leading (payment_temp_table payment PAYMENT_DETAILS account memo) use_nl (payment_temp_table ar1_payment PAYMENT_DETAILS account memo) index (payment payment_pk) index (P.........【阅读全文】

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

发布时间:2014-07-27 22:08:50

有些linux命令看起来极其简单,只包含2个字符,确有很强的功能性。而且看起来还是有些陌生的命令,在工作中别忘记它们的存在。 ab 这条命令式做为性能测试所广泛用到的一下子就有了一种高大上的感觉,来一个例子,对百度的某一个网页执行并发100,时长5秒,发送10000次请求的测试 [ora11g@.........【阅读全文】

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

发布时间:2014-07-26 23:27:31

在数据迁移中,经常会碰到null值的问题,比如在源库中,某些列可能是null值,但是在目标库中,却有非空约束。这样在数据的迁移过程中就会发生问题。为了更好的对数据的非空问题进行判断,我写了如下的脚本来生成检查的脚本,基本的思路就是生成动态sql,类似 select count(1) from xxx where xxx is null,如果输出结果不为.........【阅读全文】

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

发布时间:2014-07-25 16:53:18

今天在从生产环境中做一个数据抽取,为了提高效率,加了并行。发现了一些小的细节。首先,抽取数据时,对于并行度的指定我是设定200M为一个单位,如果表有1G,那么就需要启5个并行,结果有一个表有40G,按照这个单位,需要200个并行。但是在实际中,ddl的执行并行度,数据库不一定会买账,首先从数据库实例层面有一些参数.........【阅读全文】

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

发布时间:2014-07-24 19:58:03

在生产系统中有些时候需要保证一些表的只读特性,不允许表的数据被轻易修改。可能有一下的场景比较适用。1) 一些系统中有一些类似数据字典信息的表。这些表的信息基本都是稳定的,不会轻易的改变。2) 可能需要从一些外部系统中拷贝一些数据做比对和参考,不希望这些“临时”表的数据被认为修改。3) 系统的核心表.........【阅读全文】

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

发布时间:2014-07-24 19:34:00

今天在生产环境中,开发人员提交了一个脚本,是做update操作的,但是update操作的时候过滤条件有些大,本来预计修改的数据只有5000条,结果这个语句运行下来更改了500万条数据。对生产系统来说算是一个数据灾难,赶紧和开发确认了问题发生的时间,结果说是在半夜11点多,刚好在后半夜才开始做数据备份,这样这个变更也同时影.........【阅读全文】

阅读(6956) | 评论(1) | 转发(3)

发布时间:2014-07-23 22:54:01

设计模式中的很多思想还是很有意思的,刚毕业的时候接触设计模式感觉有点高深,坐而论道,感觉还是有些虚,平时做的小练习还能自己捣鼓一番,自己使用一下设计模式,然后大刀阔斧的改动代码,随心所欲,写完以后还能热乎劲上来高兴几天,时间长了就忘了很多的东西,只是感觉设计模式就是抽象,自己感觉也抽象。如果死磕着问.........【阅读全文】

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

发布时间:2014-07-22 18:33:28

今天在生产环境中发现一条sql语句尽管走了主键索引,但是查询还是很慢。sql语句类似下面的形式:SELECT /*+ index (bl1_cyc_payer_pop BL1_CYC_PAYER_POP_PK) */ T_TAX.BA_NO, T_TAX.TOTAL_TAX_AMT, T_TAX.TAX_RELATION, T_TAX_ITEM.TAX_ITEM_SEQ_NO, T_TAX_ITEM.TAX_SEQ_NO, T_TAX_.........【阅读全文】

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

发布时间:2014-07-22 14:45:02

生产中有一条sql语句消耗了大量的cpu资源,执行时间在18秒左右,Session:PRODBUSER (1560:61133)SQL ID:1hg2wcuapy3y3SQL Exec.........【阅读全文】

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

发布时间:2014-07-21 21:48:25

append data from MIG_TEST.MO1_MEMO_EXT_2 to MIG_TEST.MO1_MEMO1936470 rows created.Elapsed: 00:01:01.53Commit complete.Elapsed: 00:00:00.03append data from MIG_TEST.MO1_MEMO_EXT_3 to MIG_TEST.MO1_MEMO873897 rows created.Elapsed: 00:00:22.67Commit complete.Elapsed: 00:00:00.02append data f.........【阅读全文】

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

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

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

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

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

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

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

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

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

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

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

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

阅读(5571) | 评论(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.........【阅读全文】

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

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

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

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

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

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

阅读(9996) | 评论(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:公司不让上网,想发都没条件。

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

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

登录 注册