说说sys_context函数
sys_context函数是Oracle提供的一个获取环境上下文信息的预定义函数。该函数用来返回一个指定namespace下的parameter值。该函数可以在SQL和PL/SQL语言中使用。 sys_context实际上就是一个Oracl...
分布式数据库组件——Database Link
今天我们一起聊聊Database Link。 Database Link(下面简称为DBLink)是Oracle分布式数据构建的一个基石技术。通过DBLink,将两个物理上独立的数据库连接了起来,使得客户端有可能透明的访问两个数据...
从一次故障解决想到的
近日进行开发环境例行检查,发现数据库中某张表多出一个字段。字段命名为过去一个已经被改名的字段名称,类型为number(9,2)(原来的类型为number(13)),没有comments信息。笔者心想:看来又有开发人员打开了J...
谁锁住了我的数据表
实际开发和测试中,经常遇到数据对象有意无意锁住的情况。怎么样最快速准确的定位到锁住对象表的用户和机器呢? 下面是笔者写的一段脚本,可以发现指定对象(特定Schema和特定对象)上所有加锁对象和...
Rownum与Order by(二)
那么,我们是不是要放弃这个SQL结构了呢?笔者从网络上获取一个方案,如果将order by后面字段为主键字段,这种SQL结构是可以返回正确的结果的。下面实验: SQL> alter table t add constraint ...
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和远程桌面等远程登录到系统中。这种方式有一个共同的特点,就是需要输入数据库服务器所在操作...