寻道
好久没有更新自己的博客了,我觉得人还是应该有个博客好好写点感悟的,不只局限于分享技术,点滴记录自己的思想,开始积累吧![@more@]
使用命令方式安装DB2
DB2安装有4中方式,傻瓜式的向导安装,稍微高深点的响应文件安装,再稍微高深点的命令安装,到最后最难的有效文件部署,我测试了一下命令安装,简单的跟傻瓜安装也没啥区别了,以下是安装过程,特点只有两个,简单快速。过程。。。。。。[@more@]命令安装很简单:a.创建用户(create_user_group.sh)b.修改密码c.以ROOT登陆 ,解压缩包d.进入文件目录,执行 ./db2_installe.安装license ,进入/opt/ibm/db2/V9.7/adm ,运行 ./db2licm -a /root/expc/db2/license/db2ese.lic ,注意expc是解压后的目录f.安装DAS ,进入/opt/ibm/db2/V9.7/i
一次特别的library cache pin的解决过程
20101231 EDW 故障分析报告,今天异常的出现了大量library cache pin的等待,以下是分析及解决过程:[@more@]一、故障描述l 2010年12月31日早晨上班后接到运维组同事反馈,EMC全部程序都被HANG住,没有继续执行,也没有报错。l 紧接着,项目组尤欣星反应,无法DROP空表,王健反应无法查询表,没有任何明显报错,只是表象一直是执行,一个原本很简单的秒级查询已经运行半个小时。询问西南所有项目组同事,发现所有人都遇到了同样HANG死的问题,是一个大面积的事故。二、故障分析n 根据事件的表象,询问车廷曦近期数据库有何调整,据车廷
两个超大表做关联更新的优化
今天同事给了两个SQL,超级大,一个表8000多万,一个表7800万,原语句如下:[@more@]update CHANNEL_CHENGDU.o_user_CONS partition(p201011) A SET unuser_flag = (SELECT unuser_flag FROM CHANNEL_CHENGDU.o_user partition(p201011) B WHERE A.SERV_ID = B.SERV_ID) where EXISTS (SELECT 1 FROM CHANNEL_CHENGDU.o_user partition(p201011) B WHERE A.SERV_ID = B.SERV_ID);update CHANNEL_CHENGDU.o_user_CONS partition(p201011) A SET BILL_USER_FLAG = (SEL
群里关于parallel的讨论,初始化参数parallel_max_servers限制parallel
今天在群里一个朋友询问并行化的问题,我觉得挺有意义的,也让我把原来不懂的搞的明白了一些。群里朋友问:安徽-宫保鸡丁(175778902) 16:12:18有没有对pdml熟悉的?我用alter session enable parallel dml;之后执...
ORA-12838的问题
今天写了一段PL/SQL代码,极其简单,却让我愣了一下[@more@]begin for i in 1 .. 24 loop insert /*+ APPDEND*/ into ttt_2 select t_seq_2.nextval, a.* from dba_objects a; end loop; commit;end;看似没什么错,对不?其实不是的,当你运行上面的逻辑时,就会出现ORA-12838的错误,原因是加了APPEND以后必须立刻提交,才可以对表进行第二次操作,操作包括SELECT和DML。在循环中,一次循环就是一次DML,24次循环实际上是要做24个DML操作,那么,COMMIT换一下位置就好了。begin for i in 1 .. 24 loop insert /*+ APPD
exists,in,minus的总结,等待补遗
简单测试了一下这三个的特点,总结了一下,也许不太对,等待继续观察和大业务测试。[@more@]1)exists 和 not exists 用法select * from a where exists (select * from b where a.id=b.id); 找A表在B表存在的记录select * from a where not exists (select * from b where a.id=b.id); 找A表不存在于B表的记录看下执行计划:PLAN_TABLE_OUTPUT----------------------------------------------------------------------------------------------------------------------------------------------------| Id | Operation
索引聚簇表ICT测试(Index Cluster Table)
ICT(Index Cluster Table)其实是很好用的,按索引顺序排列数据,简单测试了一下.scott@PRIMARY> create cluster heap_no_cluster 2 (empno number) 3 size 500 4 /簇已...
索引组织表和堆组织表的学习
以下测试用例全部来自于TOM."纸上得来终觉浅,终知此事要躬行"我不喜欢写大片的文章来描述观点,其实很多理解都是靠做实验做出来的,ORACLE入门难,但是一旦入了门,理解起来就容易多了,完全是水到渠成的事.一.IOT和堆...
alter table move 和shrink space的相关测试
scott@PRIMARY> begin 2 dbms_stats.gather_table_stats('SCOTT','HEAP_ADDRESSES',cascade=>true); 3 end; 4 /PL/SQL 过程已成功完成。scott@PRIMARY> col index_name forma...
一个关于redo size的实验
今天一个朋友问我,什么情况下insert不产生redo,这本来是个比较容易回答的问题,直接路径写,可本着任何问题都严谨回答的态度,我还是做了实验,得出来以下结论,试验过程不再赘述,就是比较v$mystat的redo size的...
一个蹊跷的ORA-01034
今天在ITPUB上看到有贴关于ORA-01034的,测试了一下,发现是下面的问题造成:SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) &nbs...
oracle 11g install on OEL
因为windows版em实在太难搞,可能是我网卡DHCP的缘故,装了那个什么虚拟的网卡也配置不成EM,可我的网卡又没有办法改固定IP,网络限制,无奈,VMWARE吧,只能重新装实验环境了。虽说装ORACLE并不是什么难事,无非就是...
oracle 监控磁盘IO的脚本
之前一直怀疑在数据库忙时会出现磁盘瓶颈,但是一直不能有效收集磁盘IO的历史数据以方便制作报表,所以今天粗略了制作了统计磁盘IO的脚本,将数据写入到scott下的表内,定期查询出数据在EXEL中制作报表(生成EXEL的...
9i statspack 自动采集 crontab
今天做了statspack采集脚本,实现自动采集上午9点到下午6点的快照信息。特此备注,方便使用OS:solaris 8DB:oracle 9206先看crontab信息:#statspack collection10 18 * * * /pglobal/cmxp/sprepstat.sh20 18 * *...
oracle RAC测试--failover and balance
2009年6月16日,重新测试了failover and balance,推翻了以前的原稿,以下看到的是修订版.实际上在OCI客户端上的tnsname.ora中的配置,其实可以更简单,简单的不能再简单.RAC相关信息:RAC1:10.10.10.1(vip:10.10.10.1...
2月28日面试后感
今天参加了一次面试,面试企业是我最喜欢的中国十大企业之一,不过,失败了,让自负自满的我一下子清醒过来了,对我来说,着实是一件好事。我虽然现在不会,但是我会努...
修改数据用户的安全性审计
根据公司安全管理办法要求,将修改数据用户的信息尽量审计详细,首先考虑记录表,后发现trace更强大,任何细小的操作都可以跟踪下来,于是就做了以下的触发器:grant ADMINISTER DATABASE TRIGGER to moduser;grant...