由于统计量失真造成SQL执行计划错误一例
在Oracle CBO时代,统计量(Statistic Data,包括系统统计量和对象统计量)是最优SQL执行计划生成的基础。在我们的实际工作中,大部分CBO执行计划效率问题,都是与过期统计量或者异常统计量有关。可以说,把...
使用OPatch给Oracle打补丁
任何软件都会存在这样或者那样的缺陷、Bug,Oracle也不例外。对于生产运维人员来说,定期升级系统、打补丁是日常工作中不可缺少的部分。 相对于过去的版本,Oracle打补丁的方式已经变得比较简单,处...
How to compare the CBO estimate Row-Source and Actual Row Returned
Compared with the outdated RBO, one significant feature of CBO is that the SEP (SQL Execution Plan) is generated based on Data Object statistic and CBO internal Cost formula. Different SEPs ha...
Online Redo Log损坏处理实验(下)
最后我们一起来看一下非一致性关闭条件下当前日志组删除的处理。 6、非一致性关闭当前日志组处理 我们回到10g Windows版本进行实验。 SQL> select group#, archiv...
Online Redo Log损坏处理实验(中)
下面我们进行更复杂情况的处理,就是非一致性关闭的情况下日志损坏的情况。这种情况是很有实际意义的。因为在出现错误的时候,Oracle可能不会允许一致性关闭。没有经验的处理人员往往会贸然的强制关闭,我们获得到...
Online Redo Log损坏处理实验(上)
Oracle核心文件包括:控制文件、数据文件和在线重做日志(Online Redo Log)。Online Redo Log和Control File分别采用数据冗余的策略进行多重路径保护。无论是Control File还是Online Redo Log Group Member...
Applying “Incremental Statistic” for Oracle Big Partition Table
In CBO, Statistic is critical important for Optimizer. Precise and timely statistics will truly reflect the data distribution and volume, and generate wiser SQL Execution Plan (SEP). After yea...
简述Oracle IOT(Index Organized Table)(下)
下面我们讨论一下由于数据存储为索引而带来的Rowid、Secondary Index问题。 6、Logical Rowid & Secondary Index 在IOT的环境下,我们是不能保证一个固定的物理Rowid的。 堆表(Heap T...
简述Oracle IOT(Index Organized Table)(中)
上篇中我们简单介绍了一下IOT的基本知识和概念。本篇继续来介绍IOT相关的内容。 4、IOT日常维护 相对于堆表heap结构,索引组织表最大的特点在于将数据行全部内容作为叶子节点保存在索引结构中...
简述密码文件的两个特性
Oracle密码文件Password File是对sysdba和sysoper等高系统权限用户密码进行管理的一个载体。对我们来说,password file是在数据库之外的一个密码驻留点。本篇一起来讨论一下关于password file的一些特征和要...
再说Oracle Listener动静态注册
监听器Listener是Oracle Client Process和实例远程建立连接关系的必经之路。借助Listener,Client Process可以实现和一个特定的Server Process建立连接关系,开启Session会话,操作Oracle Instance。 ...
简述Oracle IOT(Index Organized Table)(上)
对关系型数据库产品(RDBMS)而言,一个重要特性就是:数据信息都被组织为二维数据表,信息的表达可以通过一系列的关联(Join)来完成。具体数据库产品在实现这个标准的时候,又有千差万别的特点。就是一个特...
浅析Oracle三层全球化支持(NLS)
作为一个成熟的商业数据库软件,Oracle对全球化(Global Support)有着全面的支持和解决方案。Oracle在国际化支持方面主要体现在几个方面:ü 全球化字符集支持;目前,Oracle支持所有主流的字符集样式。通过N...
谈谈Oracle日志文件的INVALID状态(下)
上篇中我们着重讨论了Log File的Invalid状态,现在我们研究一下这种状态如果进行处理,会对数据库有何种影响。 4、Invalid状态日志对Startup作用 Online Redo Log对于数据库启动起到至关重要的作用。...
谈谈Oracle日志文件的INVALID状态(上)
在Oracle数据库中,三大文件(Data File、Control File和Online Redo Log)扮演着极其重要的地位和作用。其中,Redo Log和Oracle Redo Log机制更是Oracle正常、安全运行的保证。 Oracle Online Redo ...
从共享游标shared cursor角度看forall批量绑定
在Oracle PL/SQL代码的编写中,我们一直倾向于利用forall批量绑定来替代传统的for循环语句。这样做的目的在于提高PL/SQL代码的处理效果。 那么,这么做我们可以获取到什么好处呢?从官方文档上的陈述...
WM_CONCAT函数在11g上的变化
Oracle数据库每一个版本的提升,都伴随着一些新特性的推出和原有功能的修改。这就导致我们在进行应用开发,特别是高级特性、函数使用的时候,版本因素往往是需要考量的内容。 中午一个同事过来咨询一...
角色权限(Role)和系统权限(System)的几个澄清实验
数据库安全是一个内容丰富的体系结构,其中访问控制和操作控制是安全体系的重要内容。Oracle数据库作为目前最成熟的商用数据库产品,其安全访问体系是行业界普遍接受的标准。 Oracle数据库权限体系是...
Oracle数据表默认值列添加与行迁移(Row Migration)
在笔者之前的文章中,已经探讨过给一个数据表添加有默认值列是一项非常“危险”的事情,特别是在在线生产环境下。给一张大数据表添加有默认值列,最直接的有下面几个严重危害: ü 系统高负荷...
谈谈“&”替换标志的一些特性
在Oracle客户端,我们可以使用“&”来进行SQL语句指定内容的替换。当我们使用Sqlplus等基于Oracle客户端的工具时,“&”标号可以帮助我们实现一些功能。在本篇中,笔者准备探讨一下标号的基本特性和深层特点...