在Oracle提供的standard Package中,并没有产生随机数的function或procedure.下面的例子是使用PL/SQL些的一个随机数产生器。
CREATE OR REPLACE package pk_rand
is
/*****************************************************************
* 这个package返回一个0-1之间的随机数,可以通过设置set_rang(low,upper)
*来重新指定返回那个范围的随机 ...
Oracle8i数据库的一个重要特点是在数据库引擎中包含了Java虚拟机(JVM)。该功能使得用户可以在数据库中以与PL/SQL代码平等的地位运行Java代码。Java的简单性和可移植性不仅使Oracle可以很好的工作在Internet上,而且也大大扩展了PL/SQL语言的能力。下面以一个简单的例子来说明这一点。
我们知道,在Oracle PL/SQL的标准内置包中没有提供产生随机数的函数或过程。我们当然可以根据生成伪随机数的数学算法自己编写这样一个随机数产生器,然而,借助于Java,我们却可以以更简便的方法做到这一点。
首先,创建一个Java源对象,其中包含一个产 ...
作者:debuger
软件环境:
1、Windows NT4.0+ORACLE 8.0.4
2、ORACLE安装路径为:C:\ORANT
实现方法:
show和set命令是两条用于维护SQL*Plus系统变量的命令
SQL> show all --查看所有68个系统变量值
SQL> show user --显示当前连接用户
SQL> show error --显示错误
SQL> set heading off --禁止输出列 ...
用户活动报表
使用用户审计表来产生报表可以给作为Oracle数据库管理员得你提供很多重要的信息。我们的第一个报表就是计算总的会话时间。
我们可以创建一个的简单查询来访问我们审计表,用于显示日期、时间、用户ID和用户使用系统的时间。虽然很简单,但是它可以给出每个用户在我们的系统上使用的时间。
这个信息在有不同用户ID使用系统不同区域的时候特别有用。例如,如果这些Oracle用户ID可以直接显示在屏幕上的话,Oracle管理员就可以得知Oracle应用程序每个区域的使用率。下面,让我们来看看另外一种类型的报表。
详细的用户登陆报表
我们也可以使用同样的表来显示在特定时间使用我们 ...
从Oracle8i开始,Oracle引入了特殊的触发器,这些触发器并不是和特殊的DML事件相关联的(DML事件,如,INSERT,UPDATE和DELETE)。这些系统级别的触发器包括数据库启动触发器,DDL触发器和最终用户登陆/注销触发器。
当Oracle提供了这些新的触发器的功能后,却还不清楚该如何使用这些触发器来追踪系统的使用情况。这篇文章描述了我是如何使用创建终端用户登陆/注销的方法来追踪终端用户的活动的。刚开始实行的追踪终端用户系统级触发器是非常新的,就因为它非常的新,所以它在功能上还是不够完善。
虽然用户登陆/注销触发器会告诉你用户登陆和用户注销的准确时间,可是代码却无法获 ...
一、用脚本启动并设置跟踪的示例
我们可以用脚本进行跟踪存储过程,当然要了解这些存储过程的具体语法和参数的含义,至于这些语法和参数含义请查询联机帮助。下面请看一实例:
/*******************************************/
/* Created by: SQL Profiler */
/* Date: 2004/06/ ...
函数是一种有零个或多个参数并且有一个返回值的程序。在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:单行函数、组函数 。
1、SQL中的单行函数
SQL和PL/SQL中自带很多类型的函数,有字符、数字、日期、转换、和混合型等多种函数用于处理单行数据,因此这些都可被统称为单行函数。这些函数均可用于SELECT,WHERE、ORDER BY等子句中,例如下面的例子中就包含了TO_CHAR,UPPER,SOUNDEX等单行函数。
SELECT ename,TO_CHAR(hiredate,'day,DD-Mon-YYYY')FROM ...
循环控制
循环控制的基本形式是LOOP语句,LOOP和END LOOP之间的语句将无限次的执行。LOOP语句的语法如下:
LOOP
statements;
END LOOP
LOOP和END LOOP之间的语句无限次的执行显然是不行的,那么在使用LOOP语句时必须使用EXIT语句,强制循环结束,例如:
X:=100;
LOOP
X:=X+10;
IF X>1000 THEN
EXIT;
END IF
END LOOP;
Y ...
LOB数据类型
LOB(大对象,Large object) 数据类型用于存储类似图像,声音这样的大型数据对象,LOB数据对象可以是二进制数据也可以是字符数据,其最大长度不超过4G。LOB数据类型支持任意访问方式,LONG只支持顺序访问方式。LOB存储在一个单独的位置上,同时一个"LOB定位符"(LOB locator)存储在原始的表中,该定位符是一个指向实际数据的指针。在PL/SQL中操作LOB数据对象使用ORACLE提供的包DBMS_LOB.LOB数据类型可分为以下四类:
. BFILE
. BLOB
. ...
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL/SQL程序。
PL/SQL的优点
从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的优点以及其独有的数据管理的便利性,那么你很难想象ORACLE缺了PL/SQL的情形。PL/SQL 不是一个独立的产品,他是一个整合到ORACLE服务器和ORACLE工具中的技术,可以把 ...
StringBuffer pagingSelect = new StringBuffer(100);
pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");
pagingSelect.append(sql);
p ...
1. 停应用层的各种程序.
2. 停oralce的监听进程:
$lsnrctl stop
3. 在独占的系统用户下,备份控制文件:
...
SQL*PLUS命令的使用大全
Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。
我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。
...
理解和使用Oracle 8i分析工具-LogMiner
理解和使用Oracle 8i分析工具-LogMiner
Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle 重作日志文件(归档日志文件)中的具体内容,特别是,该工具可以分析出所有对于数据库操作的DML(insert、update、delete等)语句,另外还可分析得到一些必要的回滚SQL语句。该工具特别适用于调试、审计或者回退某个特定的事务。
LogMiner分析工具实际上是由一组PL/SQL包和一些动态视图(Oracle8i内置包的一部 ...
oracle概念和术语(转载)
racle数据库系统是一个复杂的软件系统。如果不了解其内部的结构原理及关系,就不可能设计和编写出高质量的应用软件系统,也不可能管理好一个复杂的应用系统。为了给以后章节的打好基础,本章简要给出 ORACLE 8 /ORACLE8i数据库系统结构的描述。
§2.1 术语
l 数据库块(BLOCK)
ORACLE 数据库中的最小存储和处理单位,包含块本身的头信息数据或PL/SQL代码。
ORACLE 块的大小是可以在安装时选择“自定义安装”来指定,也可以在CREATE DATABASE创建数据库实例时 ...
- 浏览: 31174 次

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
私の计划读书列表及导图
恩 厉害 。。。 不过哪些都是大同小异的
-- by wangshu3000 -
大连康博面试题
真的假的,我怎么不知道有这样的题目,
-- by wangzhongjie -
170本应该看的java书(转 ...
看完这些书,我就成仙了
-- by wangx1949 -
恍然大悟!?为什么我们总 ...
事情就是这么的简单,哈哈
-- by zzg810314 -
tomcat简单配置
恩,不错。
-- by leonardleonard






评论排行榜