文章分类 -  oracle

摘要:关于oracle的表空间,分区表,以及索引的总结关键字: oracle, 表空间, 分区表, 索引 上周第一次做数据库测试碰到了很多问题特此总结: 表空间: Oracle的UNDOTBS01.DBF文件太大的解决办法 1、.禁止undo tablespace自动增长 alter database datafile 'full_path\undotbs01.dbf' autoextend off; ... 阅读全文
posted @ 2010-02-03 15:27 PROS 编辑
摘要:select owner,tablespace_name ,sum(bytes)/1024/1024 from dba_segments group by owner,tablespace_name; 阅读全文
posted @ 2010-02-03 14:21 PROS 编辑
摘要:一、何谓数据库审计?数据库审计,就是对数据库的活动做跟踪记录,主要包括数据库连接,SQL语句执行,数据库对象访问这些方面的跟踪记录。二、审记记录的存储方式分为两种:一种是存储在操作系统文件中,一种是存储在system表空间中的SYS.AUD$表中。三、对数据库性能影响的考虑审计必然需要占用CPU,因此,需要综合平衡审计需求与性能之间的平衡性问题,以确定出最好的审许策略。四、审记结果中包含哪些信息前... 阅读全文
posted @ 2010-01-21 17:15 PROS 编辑
摘要:Oracle的安全措施主要有三个方面,一是用户标识和鉴定;二是授权和检查机制;三是审计技术(是否使用审计技术可由用户灵活选择);除此之外,Oracle还允许用户通过触发器灵活定义自己的安全性措施。   一、用户标识和鉴定  在Oracle中,最外层的安全性措施是让用户标识自己的名字,然后由系统进行核实。Oracle允许用户重复标识三次,如果三次未通过,系统自动退出。  二、授权与检查机制  Ora... 阅读全文
posted @ 2010-01-21 15:59 PROS 编辑
摘要:1、什么是审计审计(Audit)用于监视用户所执行的数据库操作,审计记录可存在数据字典表(称为审计记录:存储在system表空间中的SYS.AUD$表中,可通过视图dba_audit_trail查看)或操作系统审计记录中(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/).。默认情况下审计是没有开启的。当数据库的审计是使能的,在语句执行阶段产生审计记录。审计记录... 阅读全文
posted @ 2010-01-21 13:59 PROS 编辑
摘要:我们有两个数据库a,b,分别有两个用户A和B,用户A希望访问B的所有表.第一步:在用户B所在的数据库中新建一个用户c,然后将B的所有表的查询权限赋给c.set pages 999;set heading off;spool run_grant.sqlselect 'grant select on '||owner||'.'||object_name||' to c;'from dba_object... 阅读全文
posted @ 2010-01-11 16:40 PROS 编辑
摘要:为某个表建立序列[代码]为某个表新增动作,建立触发器[代码]在c#开发环境中插入一行,并取得插入行的关键字值.(使用:序列.currval和executescalar)[代码] 阅读全文
posted @ 2010-01-06 16:07 PROS 编辑
摘要:利用REF CURSOR,可以在程序间传递结果集(一个程序里打开游标变量,在另外的程序里处理数据)。也可以利用REF CURSOR实现BULK SQL,提高SQL性能。REF CURSOR分两种,Strong REF CURSOR 和 Weak REF CURSOR。Strong REF CURSOR:指定retrun type,CURSOR变量的类型必须和return type一致。DECLAR... 阅读全文
posted @ 2010-01-04 11:05 PROS 编辑
摘要:create table userTabel( userid number(10), username varchar2(100), constraint PK_USERID PRIMARY KEY(userid) ); commit; insert into userTabel values(1,'Albert'); insert into userTabel values(2,'rebo... 阅读全文
posted @ 2009-12-30 17:28 PROS 编辑
摘要:oracle的存储过程返回记录集,关键之处是要用游标。关于数据库的游标(cursor)大家肯定都接触不少,我们可以通过OPEN,FETCH,CLOSE操作控制游标进行各种方便的操作,这方面的例子我就不在重复了。   我们现在要介绍的是游标变量(cursor variable)。类似游标,游标变量也是指向一个查询结果集的当前行。不同的是,游标变量能为任何类型相似(type-compatible)的查... 阅读全文
posted @ 2009-12-29 13:01 PROS 编辑
摘要:nvl( ) 函数示例 请参阅从两个表达式返回一个非 null 值。语法NVL(eExpression1, eExpression2)参数eExpression1, eExpression2如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eE... 阅读全文
posted @ 2009-12-29 08:43 PROS 编辑
摘要:一、PL/SQL编程规范之大小写 就像在SQL中一样,PL / SQL中是不区分大小写的。其一般准则如下: 关键字(BEGIN, EXCEPTION, END, IF THEN ELSE,LOOP, END LOOP)、数据类型(VARCHAR2, NUMBER)、内部函数(LEAST, SUBSTR)和用户定义的子程序(procedures, functions,packages),使用大写。 ... 阅读全文
posted @ 2009-12-28 11:16 PROS 编辑
摘要:函数是一种有零个或多个参数并且有一个返回值的程序。在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:单行函数、组函数 。  1、SQL中的单行函数  SQL和PL/SQL中自带很多类型的函数,有字符、数字、日期、转换、和混合型等多种函数用于处理单行数据,因此这些都可被统称为单行函数。这些函数均可用于SELECT,WHERE、ORDER BY等子... 阅读全文
posted @ 2009-12-28 11:10 PROS 编辑
摘要:在SQLServer数据库中,本身含有自增字段这种类型。 但Oracle中却没有,我们可以用触发器trigger的功能来实现它: 1、首先建立一个创建自增字段的存储过程create or replace procedure pro_create_seq_col(tablename varchar2,columnname varchar2)asstrsql varchar2(1000);begin ... 阅读全文
posted @ 2009-12-24 17:22 PROS 编辑
摘要:在SQLPLUS下,实现中-英字符集转换alter session set nls_language='AMERICAN';alter session set nls_language='SIMPLIFIED CHINESE'; 主要知识点:一、有关表的操作1)建表create table test as select * from dept; --从已知表复制数据和结构create table ... 阅读全文
posted @ 2009-12-24 17:06 PROS 编辑
摘要:PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL/SQL程序。  PL/SQL的优点  从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的优点以及其独有的数据管理的便利性... 阅读全文
posted @ 2009-12-24 13:54 PROS 编辑
摘要:触发器是一种特殊类型的存储过程,它不同于存储过程。触发器主要是通过事件进行触发而被执行的,触发器的触发事件分可为3类,分别是DML事件、DDL事件和数据库事件,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、 INSERT、 DELETE 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则... 阅读全文
posted @ 2009-12-24 13:39 PROS 编辑
摘要:1.基本结构 [代码]2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子:[代码]3.IF 判断[代码]4.while 循环 [代码]5.变量赋值[代码]6.用for in 使用cursor [代码]7.带参数的cursor[代码] 阅读全文
posted @ 2009-12-24 13:33 PROS 编辑