Rownum与Order by(一)
rownum是数据表的一个虚列,是随着select获取到的数据集合而依次生成的数据项目。借助rownum,很多复杂的SQL需求都得以解决。但是,rownum绝不是一个数据列,使用它的时候一定要注意rownum的生成原理和特性。本篇...
预定义错误类型
今天一个朋友在MSN上问一个问题。他在PL/SQL代码的时候,需要捕获主键插入重复异常。他说,有没有类似于“NO_DATA_FOUND”类型的常量信息来指代这种错误,然后好进行错误处理。 这个问题涉及到Oracle PL/SQL...
SQL*PLUS安全(四)
上面的系列中,我们介绍了PUP在SQL*PLUS上的应用。就SQL*PLUS本身而言,也可以通过控制参数,限制登录用户的操作。 SQL*PLUS的-R选项 -R{ESTRICT} {1|2|3}是SQL*PLUS的一个参数选项。参数取值...
SQL*PLUS安全(三)
在上面的两篇系列中,我们介绍了如何使用PUP数据表禁用SQL*PLUS命令。禁用的范围包括SQL语句、SQL*PLUS命令和PL/SQL命令。在本篇里,我们介绍一下PUP的另一种用途,角色ROLE剔除。 角色Role是我们基...
SQL*Plus安全(二)
那么,如果我们使用与sqlplus最接近的产品sqlplusw呢?这种配置项目还有作用吗? SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 2月 9 20:36:01 2011 Copyright (c) 1982, 2005, Oracl...
SQL*Plus安全(一)
SQL*Plus是目前Oracle开发、管理人员最常用的开发管理工具。虽然Oracle在10g、11g新版本中,提供了诸多可视化管理工具,来简化Oracle数据库管理和使用,但是SQL*Plus在多种平台上仍占有不可替代的地位。&nbs...
GetDiffFiled.sql脚本(使用前请修改文件名)
字段类型检测脚本
前段时间一起上线,在批量大作业运行的时候发生了错误,PL/SQL代码错误“字符串长度超出设定值”。这个错误一般是运行中字符串varchar2长度超过的定义长度。但是,经过代码定位,发现是是两个数据表在赋值的...
Oracle数据字典
数据字典是Oracle数据库安装之后,自动创建的一系列数据库对象。数据字典是Oracle数据库对象结构的元数据信息。熟悉和深入研究数据字典对象,可以很大程度的帮助我们了解Oracle内部机制。 Oracle字典...
聊聊索引和SQL优化
和一个朋友聊起索引和执行路径的问题,觉得很有意思,就把一点想法写下来,权当一个记录。 讨论是这样:有一个数据表,其中有字段为月份(使用数字类型)。根据业务的需要,很多搜索都是依据这个月份...
Autotrace工具使用——小工具,大用场
监控SQL语句,获取执行计划和执行成本,是每个Oracle开发人员与DBA所必须具备的能力之一。 当Oracle彻底进入CBO时代,我们面对一种全新的局面。一方面,基于数据统计量的CBO优化器,让SQL语句执行计划...
利用闪回拯救我们的数据(四)
闪回机制探讨 下面我们一起来详细研究下,drop闪回的原理。首先,我们构建一个适当的实验环境。 SQL> conn scott/tiger@orcl;Connected to Oracle Database 10g Enterprise Edition Release 1...
利用闪回拯救我们的数据(三)
在上篇里,我们说明了闪回表的功能和使用。在本篇中,我们先来看一些闪回表的特点。之后一起来分析闪回表的原理。 SYS用户对象不能闪回SYS用户是Oracle系统中的超级用户,肩负着执行数据库启动、关闭...
使用闪回拯救我们的数据(二)
声明:本篇思路和知识点源自eygle老师作品。 本篇是笔者《使用闪回拯救我们的数据》系列之二。在Oracle9i之后,数据库闪回技术逐渐成熟。到10g时,数据库闪回已经成为一套比较完整的数据恢复方...
说说密码文件Passwordfile(三)
我们的实验分为本地登录和远程登录两个部分探讨。 本地登录数据库服务器就在本地,或者管理人员使用telnet、ssh和远程桌面等远程登录到系统中。这种方式有一个共同的特点,就是需要输入数据库服务器所在操作...
说说密码文件Passwordfile(二)
首先,要说明的问题是,密码文件是驻留在数据库服务器上的一个文件。如果数据库是使用OUI安装的,密码文件是默认生成的。其中维护的具有SYSDBA管理权限的用户信息,也是随着系统运行自动维护的。 一般来说,...
Oracle启动三阶段(二)
mount阶段 mount阶段是启动的第二个阶段。此处,我们说mount的是什么?mount的是数据文件和控制文件,同时对应的日志文件信息也已经获取到。mount阶段下,所有的系统参数已经加载完成,通过参数找到的控制文...
Oracle启动三阶段(一)
Oracle启动是可以分为三个阶段的,分别为:nomount、mount和open。在这三个阶段中,Oracle分别实现了不同的职责和目标,将数据库服务器相关的信息和数据进行加载。 下面就一起来看一下三个阶段的现象...
说说密码文件Passwordfile(一)
Oracle数据库系统DBMS是由数据库实例和数据库本身构成的。数据库实例本质上就是一系列Oracle相关的进程外加一块内存区域构成。而数据库本身指的就是保存在物理硬盘上的数据库文件。 数据库文件是由多种类型,...
视图与索引
视图view是我们在开发中经常使用的数据库对象。通过视图,我们可以将复杂查询逻辑屏蔽,向上提供更具有业务含义的数据访问接口。 本质上说,视图是一个SQL语句构成的虚拟表。我们对视图的查询就相当于...