杨建荣的学习笔记

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

  • 博客访问: 12799291
  • 博文数量: 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-06-30 19:25:29

在平时的工作中,desc这个命令可谓短小精悍,可以很方便的查看表结构和not null的情况。今天在生产环境中碰到一个有些奇怪的desc问题。首先是数据迁移组说有一个表的constraint丢了。但是在master中有。这种问题有两种可能,一种就是constraint确实丢了。另一种可能性就是创建的constraint的问题,可以参见: no.........【阅读全文】

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

发布时间:2014-06-29 16:08:31

datapump是从oracle 10g推出的新的数据导入导出工具,可以说是exp/imp的加强版,主要的亮点在于服务端,结合了direct+parallel,而且从datapump的结构上来说也和exp/imp有很大的差别。而老式的exp/imp还有一套自己的数据字典表需要维护,习惯了exp/imp,突然切换到expdp/impdp还有是一些抵触情绪的,因为从之前的感触中没有.........【阅读全文】

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

发布时间:2014-06-28 17:03:09

在测试环境中进行了多轮测试,使用sqlldr批量加载数据,csv文件大概有120G左右,在一致的数据量的情况下,测试环境都在一个小时左右,但是在生产环境中竟然跑了将近2个小时,性能差了一倍。而且生产环境的服务器配置还要好一些。对于这个奇怪的问题,尽管说数据第一轮数据迁移已经完成了,对于之后的数据迁移还是很好的参.........【阅读全文】

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

发布时间:2014-06-27 22:49:45

在测试环境中做了3轮数据迁移的演练,最终到了生产环境中,还是出现了不少问题,经过大半夜的奋战,终于是数据都迁移成功了。1)共享存储的配置问题共享存储使用NFS来共享存储,但是在实际操作中发现配置出了问题,原因是因为两台服务器上的用户不同在,目标机器上没有任何写权限。-rw-r--r-- 1 3160 dba    .........【阅读全文】

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

发布时间:2014-06-26 22:53:29

在生产环境中,做数据迁移需要考虑很多的可能性和场景,尽量排除可能发生的问题。我自己总结了下,大体有如下需要注意的地方。1)充分的测试,评估时间,总结经验,提升性能在生产中进行数据的大批量迁移时,充分的测试时必须的。一方面可以根据这些测试积累一些必要的数据作为生产中使用参考,另外一方面可以基于之前的.........【阅读全文】

阅读(13682) | 评论(1) | 转发(7)

发布时间:2014-06-25 19:26:37

最近做数据批量加载的时候,是通过pl/sql嵌在shell脚本里执行的。脚本运行后生成的日志类似如下的格式Get Dump file for APP_TMP.TESTRESS_NAME_LINK...Elapsed: 00:00:00.64.DB details is accessible from source schema ....DB details is accessible from target schema ....Directory  ext_datapump_dir.........【阅读全文】

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

发布时间:2014-06-24 18:47:20

昨晚对测试环境进行了升级,同步了部分生产的数据。整个过程比较顺利,但是在最后一步启用foreign key constraint的时候报了错误。ora-02298:cannot validate(xxxx.xxxx_fk) -parent keys not found很明显是一部分数据没有同步到,有一部分数据丢失了。和开发做了确认,从生产中根据条件导出了一个dump,关联的表有100多个.........【阅读全文】

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

发布时间:2014-06-23 22:02:12

在升级的过程中,可能需要准备一些额外的脚本,比如说做数据迁移的时候为了考虑性能,需要做如下的额外工作:1.将部分表置为nologging2.将部分index置为nologging3.将部分foreign key constraint置为disable4.将部分trigger 置为disable在完成数据升级后,再置为logging,enable状态。但是在准备脚本的过程中,总是为.........【阅读全文】

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

发布时间:2014-06-21 16:03:24

继昨天发生san存储切换导致io等待异常高的问题后,晚上客户对测试环境的数据库进行了远程启动,因为库比较多,监控process都起来了。客户就发邮件通知测试组继续测试。结果早上测试反馈有一个库怎么都等不了。他们提供的日志如下:sqlplus test3c/xxxx@testdbSQL*Plus: Release 11.2.0.2.0 Production on Sat Jun 21 12.........【阅读全文】

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

发布时间:2014-06-21 09:29:35

在平时的工作中,有时候需要insert一批数据,这些数据可能是临时表,外部表,普通表,子查询等形式,类似下面的格式insert into xxxx (select xxxxx from xxx where xxxxx);如果其中有冗余数据的时候,整个Insert会自动rollback,一条数据也插不进去,错误类似下面的形式。insert /*+ append */into mo1_memo select *fro.........【阅读全文】

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

发布时间:2014-06-20 18:09:04

今天客户说有一个job跑的特别慢。想看看到底是不是数据库这边有什么问题了。使用top来查看,io wait奖金30%,已经算是负载比较重的了。和客户确认从什么时候发现速度开始变慢的,他们说大概是从中午以后。使用sar来看一下,确实是从iowait从:1:00开始有了大量的io 10:40:01AM     &.........【阅读全文】

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

发布时间:2014-06-19 17:41:10

今天查看数据库的负载,发现cpu消耗异常的高。里面有不少dw的进程.但是查看impdp的进程却不存在。查看datapump的进程情况,发现大量的job,但是状态都是not running.select * from dba_datapump_jobs where owner_name='MIG_TEST';SYS_IMPORT_TABLE_01 SYS_IMPORT_TABLE_02 SYS_IMPORT_TABLE_03 SYS.........【阅读全文】

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

发布时间:2014-06-18 20:12:29

今天碰到一个sql语句简化的问题,虽然也不复杂,但是也值得从中学习一些东西SELECT MOD(((SELECT TO_NUMBER(TO_CHAR(LOGICAL_DATE, 'YYYY'))               FROM SMALL_TAB              WHERE LOGICAL_DATE_TYPE = 'R'    &nb.........【阅读全文】

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

发布时间:2014-06-17 19:02:29

今天在做imp和impdp的性能测试时,发现如果表中存在lob字段,加载真是慢的厉害,每秒钟大概1000条的样子,按照这种速度,基本上不用干活了。比如5千万条记录,50000000/1000/60/60=13.89小时,时间是无法接受的。所以尝试使用impdp来看看性能的提升。导出的表里面有9千万条记录,而且做了分区,分区大概有300个。如果使.........【阅读全文】

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

发布时间:2014-06-16 14:40:55

接着续上次提到的sqlldr的性能问题,加载一个表数据400多万条记录,竟然用了6个多小时。最后大家争论不休的时候,我发现应该是网络的问题。http://blog.itpub.net/23718752/viewspace-1182534/今天客户IT的同事把网络做了调整,他们就想看看到底改进有多大。下面是测试的一些记录。 àoriginal logs for issue .........【阅读全文】

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

发布时间:2014-06-15 20:36:06

在数据库维护中,可能对于一个陌生的schema,需要了解它的一些情况,可以使用如下的脚本来很快得到一个报告,里面包含了详尽的信息。用户占用的空间,权限,角色和基本配置信息。NAME=`echo $1|cut -d. -f1`if [ -z "$NAME" ] then  echo -e "User must be provided: \c"; read NAMEfisqlplus -s $DB_C.........【阅读全文】

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

发布时间:2014-06-15 18:50:02

在平时的工作中,需要了解服务器的硬件配置信息,对于cpu的信息查询,在Linux,unix中可能会有一些不同。对于hp-ux来说,有现成的命令machinfo可以直接得到cpu的一些明细信息。对于Linux来说,可能就需要自己去做一些解析了。解析的文件位于/proc/cpuinfo中。可以使用如下的脚本来进行cpu信息的读取。os_type=`uname`i.........【阅读全文】

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

发布时间:2014-06-13 19:30:18

按照计划在周二开始了数据迁移,本来之前也做了不少的准备工作。但是还是在迁移的过程中出现了一些问题。简单做一个总结。1.constraint导致的数据reject在数据加载的时候,报了如下的错误。有一些数据记录被reject了,查看后发现是源库和目标库中表的not null constraint导致的,在源库中没有not null constraint,但是.........【阅读全文】

阅读(8047) | 评论(2) | 转发(5)

发布时间:2014-06-13 18:57:48

最近根据业务需要加载一批数据,在生产环境中不到半个小时就完了,可是到了测试环境,竟然跑了6个多小时,另外测试环境和生产环境的数据情况都基本差不多,主机配置也基本类似。大家的注意力都集中到了sqlldr的加载性能上。等到他们找到我时,已经讨论了不少关于direct,convention加载的各种情况了,看似工作也做了不少了.........【阅读全文】

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

发布时间:2014-06-12 20:40:05

对于数据迁移来说,无论准备工作准备的多么充分,在测试和正式生产环境中,心里还是会对冲突的数据有一些疑虑,心里感觉没底,因为生产的数据也是在不断变化的,要迁移的数据也在做相应的改动,在这样的环境中,其实数据抽取的工作还是顾虑比较少的,只要侧重考虑性能的提升,而在于数据加载的过程中,如果出现主键冲突的字.........【阅读全文】

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

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

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

登录 注册