WM_CONCAT函数在11g上的变化
Oracle数据库每一个版本的提升,都伴随着一些新特性的推出和原有功能的修改。这就导致我们在进行应用开发,特别是高级特性、函数使用的时候,版本因素往往是需要考量的内容。 中午一个同事过来咨询一...
Oracle非关键数据文件操作系统误删除处理
对Oracle DBA而言,生产运维环境和数据的安全都是安身立命的根本。很多时候,行事谨慎、凡是先思后行往往比技术水平能力更重要。所有的Oracle使用者,在进行数据库操作,特别是关键操作的时候,一定...
Oracle元数据对象Invalid修复过程
在Oracle的运行过程中,由于操作失误可能会造成内部元数据的损坏,进而影响到系统的一些基础功能和正常处理。一旦发生这种故障,对内部数据字典的重建就是我们需要进行的处理。 本篇从一个损坏故障为...
修改PGA和SGA大小参数引起的启动故障解决
几天前,一个朋友遇到一个故障问题,来电咨询笔者。故障解决后,他将故障解决记录和相关资料发给笔者。虽然不是什么很大的故障点,但是笔者觉得还是一个很好的案例积累。在征得朋友的同意后,就写成此文。 1...
客户端连接故障检查流程手段
最近帮同事解决了几个TNS连接故障,觉得很有代表性。所以打算把一帮常用的处理思路记录下来,权当记录。 每个Oracle的学习者在安装完数据库、客户端之后,对服务器、实例、监听器、本地服务名和服务名...
索引表空间不足的几个处理思路
白天一个朋友来电,咨询这样一个场景:生产环境上一个索引表空间,由于事先规划有问题,出现空间不足。申请额外空间需要走正式流程需要时间,问临时有没有什么好方法? 表空间对应的索引实际上是一张...
数据文件Resize引起的ORA-03297报错
项目组同事在进行海量数据的POC实验,结果发现数据文件增长过快,超过了规划范围。笔者在数据清空之后,要进行文件缩小操作,释放掉占用的空间。 1、 故障现象 首先,我们将数据文件大小约为4G...
由JTA分布式事务Timeout值引发的锁定及解决
声明:本文思路解决受dbsnake老师指点,特此感谢! 分布式系统较传统的单点系统,具有较强的可拓展性和可用性,是目前大型应用系统普遍采用的设计模式。但是较传统系统,分布式系统无论从复杂性还是出...
记一次Windows下启动错误故障
Oracle数据库最早是构建在Unix/Linux环境下,提供企业级应用。所以,其中很多的配置和架构体系都是依存在Unix/Linux思路。 1、 故障症状 一台项目组内部使用的数据库服务器断电停机了,...
诡异的not in
很多时候,我们在SQL语句编写中会遇到很多诡异的情况,明明语义描述无误但是执行结果却是离题千里。面对这些“陷阱”,我们要进行冷静的分析比较,并不断进行知识积累,才能处理好这些问题。本篇主要简述一个...
从一条问题SQL优化看SQL Transformation
Oracle对接受到的描述性SQL语句,要进行一系列的验证处理工作。其中,有一个重要过程称为“SQL Transformation”,作用就是在不改变原有数据集结果的情况下,对SQL语句进行规则化改写,使之可以生成更好的执...
说说临时表空间Temp的异常胀大
笔者接到一个做开发上线的兄弟电话,说正在试运行的系统存储过程突然变慢,而且偶然发现数据库的Temp表空间突然增加到20多G。这位兄弟不知道是不是与存储过程突然变慢有关,而且应该如何处理。 1、 从...
从一个问题讨论到Decode函数返回值
今天在QQ上一个朋友发出问题,说min函数返回错误的取值。详细如下:一个数据表列类型为number(6,2),其中有三行记录,分别为0,0.6和1。用min获取最小值,得到0.6。 min是Oracle SQL的一个基础函数,...
单实例归档空间占满故障模拟实验
归档日志(Archived Log File)是Oracle数据库进行备份还原的重要要素之一。开启归档模式(Archived Log Mode)、指定合理的备份计划是生产数据库环境的必要条件。 Oracle数据库在运行中,会不...
ORA-01591错误与分布式事务
下午,一个开发组长过来找到笔者,说一个数据库表被锁定,不能修改数据。开始以为是简单的数据表锁定,开发阶段由于工具使用的原因,经常发生锁表的事件。查找锁定对象,定位锁定人和机器之后,就可以了。&...
手工修改tnsnames.ora引起的故障一例
Oracle最早是依赖Unix/Linux为基础成长起来,很多时候环境配置中带有一些文本配置的痕迹。我们在进行配置和更改时,一定要注意细节、注意方法,否则可能会引发的一些故障问题。 下午一个开发组同事来...
For Update操作分析——不同Oracle版本之间的差异研究
在《Select For update语句浅析》(http://space.itpub.net/17203031/viewspace-694383)中,笔者详细介绍了for update字句的用法。一个朋友在做实验的时候,说出现一些和文章中结果不同的现象。仔细研究下,...
Processes参数设置引起的故障解决一例
很多情况下,我们是不推荐修改Oracle默认的参数(特别是一些隐含参数)。Oracle的默认值参数可以适应大部分情况,但是一些时候还是要注意进行适当的修改,来适应实际开发的需要。 今天进行数据库例行...
存储过程中DDL错误一例
偶然想到在过去一个项目组写SP时候遇到的问题。不敢说分享知识,就是一起分享下经历而已。 问题概述 开发的一段存储过程代码,在调试中遇到一些诡异的问题。下面是代码片段,用来模拟情...
记一次删除数据用户定位
对数据库而言,最重要宝贵的内容就是其中的数据。数据安全性和完整性是任何商业数据库存在的底线。审计Audit数据变化、数据对象结构变化的功能在Oracle中是一个可选组件。在日常中,我们经常会有跟踪审计数...