毕业设计的小故事
今天晚上正在琢磨该写点什么,站在自己的书架前开始搜索,无意中竟然翻到了自己以前的学习笔记,发现以前还是很认真的。真是好记性不如烂笔头,自己当初记录的一些记录现在看来还是也还是有价值的。就简单说说吧。记得当时的毕业实习是一并在中软参加的,算是边培训边做实习。自己也是意气风发,感觉熟悉了java的基本语法就...
一次ORA-00600问题的排查和分析(下)
继续昨天对于 ORA-00600问题的排查和分析(上)http://blog.itpub.net/23718752/viewspace-1696076/我们发现了一大堆的ORA错误。我们首先排除了deadlock造成的ora-00600错误。从日志的分析的整体情况来说,虽然很多错误在metalink中都有相关的文章说明,但是提供的方案可执行性还是值得商榷的。毕竟一出现问题就是bug,就需...
一次ORA-00600问题的排查和分析(上)
昨天处理了一起ora-00600的错误,其中也经历了各种曲折,真是雾里看花,看透了之后发现很多问题都是有原因的。起初是开发说有一个job运行的时候报错了,数据库版本是11.2.0.2.0等到问题提交到我这,客户已经检查了一些信息了。但是还是没有结论。对于这个问题,我还是照例开始检查数据库日志。在那个时间段内里出现了o...
pl/sql中的forall简单测试
之前写过一篇bulk collect的博文,只是对于bulk collect做了简单的实例。http://blog.itpub.net/23718752/viewspace-1289696/其实不光是bulk collect,forall对于pl/sql的性能的提升也是相当大的。可以参见下面的两个图,可以看到其实在pl/sql中,可能很多时候我们所写的pl/sql代码会在sql引擎和plsql引擎建进行上下文的切...
巧用外部表备份历史数据
在很多的系统中,随着时间的推移,都会沉淀大量的历史数据。一般数据量达到一定程度都会考虑使用分区表来处理。根据业务规则,可能有些历史数据隔一段时间就需要做清理了,这个时候历史数据就需要在分区级进行清理。在不同的系统,不同厂商都有不同的实现方案。但是从数据安全角度来说,都需要做备份工作,也是预防万一。...
半自动化运维之快速连接到指定环境(一)
在大量的分布式环境中,可能存在着大量的主机配置,ip配置,数据库实例配置,甚至操作系统用户,数据库用户密码也不同,这个时候如果记录在10条左右还能应付,但是如果给你几百个这样的环境,每次都需要先查找对应的操作系统用户,主机名或者IP就显得很麻烦,尽管已经设置了ssh信任连接。但是还是需要你知道用户名的前提下...
生活小事20150607
难得一个好周末,自己也偷了偷懒,没有记录技术相关的内容,写了下生活中的一些小事,其实这些事情自己转眼就会忘记,但是写出来再回过头看的时候就别有一番滋味了。-->激情澎湃的考前标语今天是一年一度的高考了,千军万马过独木桥的考试,看着之前新闻比较火的一些考前标语,看了之后也有种热血沸腾的感觉。“就算撞得...
人的力量和大自然的力量
今天晚上在台灯前看书,突然一个一个针尖大小的小虫子飞到了我的书上,我没有打死它,观察了它一会,看着它跟小苍蝇一样捋一捋腿,舒展舒展,就在书上爬了会,然后转瞬飞起消失在我的视野外。本来一个很小的事情,突然和这些天在考虑的一些事情联系起来,感觉还是有必要写点什么,可能见识浅薄,还忘笑纳。这么小的飞虫,...
shell中echo的显示格式
+--------------------------------------------------------------------+ | ` YAFA CONNECT ` &nb...
无法运行的update问题解析
今天有个同事向我反馈一个问题,说是客户在部署他们提供的一个sql语句时,报了ora错误,想让我帮忙看看是什么原因。update sub_errs set error_status = 'READY_TO_RECYCLE' WHERE sub_appl_id = 3008 AND ENTITY_ID = 8336079 AND MASTER_TRX_ID = 202809364 and error_status = 'PENDING_DEPENDENCY' Error report...
半自动化运维之动态添加数据文件(二)
接着上一篇的内容:半自动化运维之动态添加数据文件(一) http://blog.itpub.net/23718752/viewspace-1683250/我们可以通过监控表空间的情况,然后映射匹配文件系统中的挂载点情况,通过随机函数在各个分区中进行筛选,基本保证数据文件的创建能够分散到各个分区中。接下来我们需要根据计算得到的挂载点,匹配创建数...
半自动化运维之动态添加数据文件(一)
在测试环境中,服务器和数据库实例真是多得数不胜数,自己也没有下意识去记住那个数据库实例在哪个服务器上,都是出了问题直接连过去解决。这么多的数据库实例需要管理,表空间的监控是极为重要的,一般来说都会在给表空间设定一个阀值,比如说表空间剩余10%,20%等等,超出了阀值就会自动发送邮件,提醒DBA去做相应的处理...
11g Active DataGuard初探
原本dataguard中日志应用和数据库只读查询是一个互斥的关系,两者不能并存。如果需要应用日志,则数据库只能在Mount状态下 使用recover managed standby database disconnect from session来不断地从后台进行日志应用。如果想查看备库中的数据情况,则只能使用recover managed standby database cancel来取消日志应用,然...
关于网络捐款
今天本来想继续一篇技术贴,但是今天有件事还是让自己印象深刻,觉得还是有必要写点什么,说得不对的地方,还是希望大家拍砖指正。毕竟写出来没有恶意或者针对性,只是说说我的想法。起因是一个初中同学在微信群里发了一个链接,是说某个地方的一个小孩子得了大病,需要得到帮助,然后她也贴了几张自己和当事人的聊天记录...
我身边的一些数据库事故
最近携程的数据事故闹得沸沸扬扬,不管是什么原因,问题终究发生了。在问题发生的时候,更关键的是解决方法和防范措施,一般在升级或者重大的生产演练中,我们都有一个lesson learn,就是总结问题,总结经验,防范规范。一线人员在各种重大活动中都发挥了重要的作用,我还是喜欢那句华为任正非的那句话:让听得见炮声的人指...
一个清理脚本的改进思路
前几天同事问我一个问题,说在unix环境下有个目录下的文件/文件夹太多了,已经报了开始报系统错误了,客户希望能够定时进行这些目录的清理。我连到那个环境去查看,ls都需要等待很长时间没有反应,最后尝试使用find命令,根据文件名来查找的时候反应才相对要快一些。同事计划使用crontab来实现。使用的命令大体如下:59...
关于Oracle中重启数据库的一个bug
关于drop database在oracle中是致命的操作,这个操作自己在测试环境中体验过,会完全删除数据文件,因此这个操作非常敏感但是实用性不强,不过话说过来,这个操作也不是随便就能执行的,除了操作敏感的权限之外,其实还是有一些前提条件的。在数据库open状态,是无法运行这个命令的。SQL> drop database TEST;drop datab...
执行计划中的COLLECTION ITERATOR PICKLER FETCH导致的性能问题
今天开发的同事找到我,让我评估一个sql语句。因为这条语句被应用监控组给抓取出来了,需要尽快进行性能调优。sql语句比较长,是由几个Union连接起来的子查询。xxxxxUNION SELECT /*+ leading (ar1_creditid_tab ar1_unapplied_credit) use_nl (ar1_creditid_tab ar1_unapplied_credit) */ ...
dataguard switchover的自动化脚本实现
data guard的主要功能就是作为备库来同步主库的数据变化,一般使用中物理standby使用的比较多。data guard显示威力的一个场景就是swithover了,即主备切换。这种切换方式执行时间很短,能够在一些灾难场景中极大的提高系统的可用性和稳定性。自己在本地的环境中搭建了一套data guard的环境,开始比较生疏,切换中碰到了不...
曲折的dump导入及问题分析
今天下午的时候得到反馈,说开发在导入一个dump的时候报了错误,他们尝试连接数据库,发现连接都有问题,让我们赶紧看看。这是一个测试环境的库,在服务器上同时还跑着十多个数据库不同应用的数据库实例。> sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Mon May 25 14:28:50 2015Copyright (c) 1982...