Oracle自适应共享游标——Adaptive Cursor Sharing(上)
Oracle的绑定变量技术,是解决内存SQL语句硬解析过多,防止出现资源争用的重要手段。但是,世上没有万灵药。绑定变量在引入cursor sharing与增加软解析的同时,也带来CBO环境下的bind peeking问题。从Oracle ...
唯一性索引(Unique Index)与普通索引(Normal Index)差异(下)
声明:本篇知识体系受到dbsnake相关文章启发,特此感谢! 本系列的中篇(http://space.itpub.net/17203031/viewspace-700163)中,我们进行了Normal Index的导出和结构分析。分析后,我们发现Normal I...
唯一性索引(Unique Index)与普通索引(Normal Index)差异(中)
声明:本篇知识方法受到dbsnake相关文章启发,特此感谢! 在本系列的前篇(http://space.itpub.net/17203031/viewspace-700089)里,我们探讨了唯一索引和普通索引在应用角度上的差异。实验中,我们发...
唯一性索引(Unique Index)与普通索引(Normal Index)差异(上)
索引是我们经常使用的一种数据库搜索优化手段。适当的业务操作场景使用适当的索引方案可以显著的提升系统整体性能和用户体验。在Oracle中,索引有包括很多类型。不同类型的索引适应不同的系统环境和访问场景...
Oracle实例恢复——说说前滚和回滚
保持数据一致性和完整性,是每一款成功商业数据库软件都必须要做到的基本要求。从故障中恢复,保证ACID原则,保证事务完整性,一直是Oracle数据库核心功能组成部分。本篇主要介绍Oracle实例意外终止(断电或...
从Alert_Log看Oracle数据库启动三阶段
Oracle数据库启动是分为三个不同的阶段的,分别为nomount、mount和open。在不同的阶段,Oracle进行不同的行为,执行不同的操作。在笔者《Oracle启动三阶段》(http://space.itpub.net/17203031/viewspace-684...
object_id与data_object_id浅析(二)
接下来使用truncate命令 SQL> alter session set events '10046 trace name context forever, level 4'; Session altered SQL> truncate table t; Table truncated ...
object_id与data_object_id浅析(一)
我们经常使用的数据字典视图<xxx>_objects(xxx代指dba/all/user)中,有数据列object_id用于标志数据对象。在很多时候,我们习惯于使用该标识进行对象信息跟踪和定位。但是,在该视图中,还包括一个名称data_object...
问题解决——Sqlplus与换行前空格(二)
下面实验,使用Linux客户端,在Linux上执行代码,观察现象。如果现象相同,就证明问题与OS差异无关。 [oracle@oracle11g ~]$ pwd/u01/oracle[oracle@oracle11g ~]$ cd ..[oracle@oracle11g u01]$ m...
问题解决——Sqlplus与换行前空格(一)
声明:本问题的解决过程中,得到了dbsnake老师的帮助指导,特此感谢。 这几天在进行环境同步时,发现一个诡异的现象。原有对数据表字段的comment信息,明明已经同步并且执行过,并且在字面上看...
CBO与动态统计量采样
CBO(基于成本的优化器)是目前Oracle默认使用的SQL优化器方法。优化器的作用在于对输入执行的SQL产生适合的执行路径。 传统的RBO(基于规则的优化器)是依据一系列预定义规则进行SQL执行计划生成,会...
DML操作引起的blocking(二)
2、并行插入相同主键记录 我们尝试构建一个同时插入主键相同的记录,看看Oracle是如何处理这样的情况。这两条数据就是相关数据,因为正常条件下,两条数据是无法并存的。 //session1(s...
DML操作引起的blocking(一)
“Oracle两个同时进行的insert不会被阻塞…..” Oracle是目前支持并行操作处理最好的数据库系统。在开始提供商业化数据库产品的阶段,事务行锁和多版本一致读的特性就奠定了Oracle商业数据库领军的地...
利用闪回拯救我们的数据(四)
闪回机制探讨 下面我们一起来详细研究下,drop闪回的原理。首先,我们构建一个适当的实验环境。 SQL> conn scott/tiger@orcl;Connected to Oracle Database 10g Enterprise Edition Release 1...
说说密码文件Passwordfile(三)
我们的实验分为本地登录和远程登录两个部分探讨。 本地登录数据库服务器就在本地,或者管理人员使用telnet、ssh和远程桌面等远程登录到系统中。这种方式有一个共同的特点,就是需要输入数据库服务器所在操作...
说说密码文件Passwordfile(二)
首先,要说明的问题是,密码文件是驻留在数据库服务器上的一个文件。如果数据库是使用OUI安装的,密码文件是默认生成的。其中维护的具有SYSDBA管理权限的用户信息,也是随着系统运行自动维护的。 一般来说,...
Oracle启动三阶段(二)
mount阶段 mount阶段是启动的第二个阶段。此处,我们说mount的是什么?mount的是数据文件和控制文件,同时对应的日志文件信息也已经获取到。mount阶段下,所有的系统参数已经加载完成,通过参数找到的控制文...
Oracle启动三阶段(一)
Oracle启动是可以分为三个阶段的,分别为:nomount、mount和open。在这三个阶段中,Oracle分别实现了不同的职责和目标,将数据库服务器相关的信息和数据进行加载。 下面就一起来看一下三个阶段的现象...
Kill会话过程分析
在实际开发中,我们常常需要将用户的会话强制断开。比如:事务执行超时、代码出现死循环、死锁或者无意中将数据表锁住。这个使用kill session是很实用的方法。那么,kill session的时候,系统究竟发生了什么呢?&nb...
小议服务进程与会话(三)
共享模式探究 相对于专用模式,共享模式多了Dispatcher组件,还有在Dispatcher下管理的Server Process。 为了进行试验,笔者已经将wilson数据库转换为共享连接模式。 SQL> conn sys/sys@wilson...