代码改变世界

随笔档案-2016年09月

关于数据库学习进阶的一点体悟

2016-09-29 23:14 by 潇湘隐者, 2595 阅读, 收藏, 编辑
摘要: 收到李华荣邀请,写一篇关于数据库方面的学习经验和感悟心得的文章,最初有点诚惶诚恐,因为自己技术上也只能算个半吊子,无奈他不嫌弃,那就硬着头皮分享一下自己数据库方面的一些学习经验以及心得体会吧,希望对刚入门的同行有所帮助。 关于学习方法,个人感觉因人而异,有些方法不见得适合所有人。个体不同,学习方式与学习效率也各有不同。找到适合自己的学习方法才是最重要的。所以关于这方面,大家秉承取其精... 阅读全文

IO is frozen on database xxx, No user action is required

2016-09-23 13:57 by 潇湘隐者, 3372 阅读, 收藏, 编辑
摘要: 最近遇到一起关于"I/O is frozen on database xxx. No user action is required. However, if I/O is not resumed promptly, you could cancel the backup."的案例。 出现问题的时候,我去执行一个非常简单的SQL语句,执行时间非常长,检查没有阻塞。正常情况下,应该是几秒就OK。后... 阅读全文

ORACLE等待事件:enq: TX - row lock contention

2016-09-19 23:26 by 潇湘隐者, 16568 阅读, 收藏, 编辑
摘要: enq: TX - row lock contention等待事件,这个是数据库里面一个比较常见的等待事件。enq是enqueue的缩写,它是一种保护共享资源的锁定机制,一个排队机制,先进先出(FIFO)。enq: TX - row lock contention等待事件,OACLE将其归类为application级别的等待事件。有些场景是因为应用逻辑设计不合理造成的。下面我们看看enq: TX ... 阅读全文

SQL SERVER中隐式转换的一些细节浅析

2016-09-08 15:32 by 潇湘隐者, 6063 阅读, 收藏, 编辑
摘要: 其实这是一篇没有技术含量的文章,精通SQL优化的请绕道。这个缘起于在优化一个SQL过程中,同事问了我一个问题,为什么SQL中存在隐式转换,但是执行计划没有变? 我思索了一下,觉得这个问题也有点意思,说不定有些对隐式转换了解得不深入的同学都有此疑问,那么下面结合上下文场景做一个细节方面的解答。 我们一个系统中使用了ORMLite框架,粗心的开发人员弄出了不少下面这样的SQL语句,都存在隐式转换问题,... 阅读全文

ORACLE等待事件: log file parallel write

2016-09-07 15:09 by 潇湘隐者, 5268 阅读, 收藏, 编辑
摘要: log file parallel write概念介绍 log file parallel write 事件是LGWR进程专属的等待事件,发生在LGWR将日志缓冲区(log_buffer)中的重做日志信息写入联机重做日志文件组的成员文件,LGWR在该事件上等待该写入过程的完成。该事件的等待表示重做日志所处的磁盘设备缓慢或存在争用。下面看看官方一些资料是如何解释log file parallel w... 阅读全文

ORACLE调整SGA_TARGET值耗费时间长案例

2016-09-04 23:59 by 潇湘隐者, 6012 阅读, 收藏, 编辑
摘要: 在一数据库版本为(标准版)Oracle Database 10g Release 10.2.0.4.0 - 64bit Production 的服务器上调整 sga_target时,遇到命令执行了非常久都没有执行完成的异常情况,觉得非常诧异、不解,因为一般调整sga_targt命令非常快速,检查了告警日志,并没有任何异常错误,等了好几分钟都没有执行完成,于是执行了CTRL+C命令结束了SQL命令,... 阅读全文

为什么忘记commit也会造成select查询的性能问题

2016-09-02 23:53 by 潇湘隐者, 4476 阅读, 收藏, 编辑
摘要: 今天遇到一个很有意思的问题,一个开发人员反馈在测试服务器ORACLE数据库执行的一条简单SQL语句非常缓慢,他写的一个SQL没有返回任何数据,但是耗费了几分钟的时间。让我检查分析一下原因,分析解决过后,发现事情的真相有点让人哭笑不得,但是也是非常有意思的。我们先简单构造一下类似的案例,当然只是简单模拟。 假设一个同事A,创建了一个表并初始化了数据(实际环境数据量较大,有1G多的数据),但是他忘... 阅读全文