Returning Into子句研究(一)
在对数据表进行dml操作(Insert、Update和delete)的时候,有时会需要获取到进行操作的数据。最简单的方法就是在DML操作之前或者之后进行一下select操作,将数据获取到。此外,还可以使用一种更为简洁的方法,就是...
记一次删除数据用户定位
对数据库而言,最重要宝贵的内容就是其中的数据。数据安全性和完整性是任何商业数据库存在的底线。审计Audit数据变化、数据对象结构变化的功能在Oracle中是一个可选组件。在日常中,我们经常会有跟踪审计数...
问题解决——Sqlplus与换行前空格(二)
下面实验,使用Linux客户端,在Linux上执行代码,观察现象。如果现象相同,就证明问题与OS差异无关。 [oracle@oracle11g ~]$ pwd/u01/oracle[oracle@oracle11g ~]$ cd ..[oracle@oracle11g u01]$ m...
问题解决——Sqlplus与换行前空格(一)
声明:本问题的解决过程中,得到了dbsnake老师的帮助指导,特此感谢。 这几天在进行环境同步时,发现一个诡异的现象。原有对数据表字段的comment信息,明明已经同步并且执行过,并且在字面上看...
分析索引快速获取索引信息
索引的健康状态是我们非常关注的一个问题。健康的索引可以在保证有效使用空间的基础上,提供很好的搜索性能。同样,一些非健康的索引也会一定程度上影响系统运行的效率。 在一些数据DML操作频...
dbms_utility的两个有用方法
我们在编写PL/SQL代码的时候,经常遇到一些常用代码功能,比如进行字符串转化、获取当前CPU时间等等。这些代码如果自己编写,不但消耗时间而且效率和正确性也得不到保证。 作为一门成熟的开发语言,PL...
最大取值数据列行获取
一个同事问起如果获取一个数据列最大取值所在的一行记录,感觉是一个有趣的问题。一般看起来很简单的问题,解法可能有多样,我们选择的路径可能有多种方式。 环境准备 原始问题是:获取数据表...
CBO与动态统计量采样
CBO(基于成本的优化器)是目前Oracle默认使用的SQL优化器方法。优化器的作用在于对输入执行的SQL产生适合的执行路径。 传统的RBO(基于规则的优化器)是依据一系列预定义规则进行SQL执行计划生成,会...
数据表创建参数介绍(四)
ü FREELISTS Freelists与Freelist Group都是涉及到段对象空间分配的机制。分配给数据段的空闲空间包括两个部分,高水位线HWM以上空闲块和HWM以下空闲块。...
数据表创建参数介绍(三)
PART2、存储结构相关参数 在storage关键字里,包括了存储上对数据对象空间分配的一些重要参数。其中的核心内容控制了Oracle如何给这个数据表对象分配空间。 在这里,我们需要说明一下数据表空间Tables...
索引列的usable和visible(三)
下面我们回到遇到的索引失效后,不能更新DML操作的问题。 经过分析,笔者感觉问题的原因可能处在索引IND_STKTESTONHAND_COMP0的unique特性上。下面进行如下实验。 -- Create/Recreate i...
索引列的usable和visible(二)
上篇我们讨论了unusable的原理和使用,设置为unusable的索引,连带的DML操作会如何呢? 注意下面的实验,笔者发现,如果此时对数据表进行DML操作,数据库会报错拒绝。 SQL...
索引列的usable和visible(一)
索引是Oracle数据库中一个重要的组成部分。Oracle优化和处理很多方面都是围绕索引进行的。在Oracle11g中,索引添加了一个visible属性,来加强对索引的控制能力。今天我们来一起聊聊这个新加入的visible属性和...
数据表创建参数介绍(二)
ü COMPRESS压缩参数 Compress参数含义很清楚:就是在存储数据表数据的时候是否启用压缩选项。压缩使用的级别是数据块block级别。Oracle对数据块的压缩采...
数据表创建参数介绍(一)
创建数据表create table是我们对数据库进行的常见操作。我们一般使用create table之后,指定了数据列信息和主键等约束信息,其他就交给Oracle使用默认值了。今天我们一起来看看这些默认值。说明:本片只关注...
同义词Synonym的一个小实验
今天看到secooler的一篇关于同义词的文章(http://space.itpub.net/519536/viewspace-687959),觉得很有意思。于是想做一些延展性的测试。 secooler的文章是从同义词相关的错误ORA-00980进行...
自定义PL/SQL异常
在PL/SQL代码中,我们除了可以使用Oracle预定义的Exception,还可以自定义属于自己的异常。但是,使用自定义异常要注意的是,异常的声明、定义和抛出场景,都是要编写者手工自己完成。 声明异...
对象、同义词和公有同义词顺序选取
笔者开发的项目中,广泛使用公有同义词技术。通过公有同义词,消除不同数据源对象之间访问的差异,做到数据逻辑和物理上的分布。 突然想到一个问题:在一个schema下,如果存在自身对象、私有同义词和...
DML操作引起的blocking(二)
2、并行插入相同主键记录 我们尝试构建一个同时插入主键相同的记录,看看Oracle是如何处理这样的情况。这两条数据就是相关数据,因为正常条件下,两条数据是无法并存的。 //session1(s...
DML操作引起的blocking(一)
“Oracle两个同时进行的insert不会被阻塞…..” Oracle是目前支持并行操作处理最好的数据库系统。在开始提供商业化数据库产品的阶段,事务行锁和多版本一致读的特性就奠定了Oracle商业数据库领军的地...