首页>计算机>Oracle认证>学习教程>正文
ORACLE认证基础:ORACLE系统概述

www.zige365.com 2008-8-18 15:46:06 点击:发送给好友 和学友门交流一下 收藏到我的会员中心
 2) 卸下数据库

    停止数据库的第二步是从实例卸下数据库。在数据库卸下后,在计算机内存中仅保留实例。在数据库卸下后,数据库的控制文件也被关闭。

    3) 停止实例

    停止数据库的最后一步是停止实例。当实例停止后,SAG是从内存中撤消,后台进程被中止。

    3. 初始化参数文件

    在启动一个实例时,ORACLE必须读入一初始化参数文件(initialization parameter file),该参数文件是一个文本文件,包含有实例配置参数。这些参数置成特殊值,用于初始ORACLE实例的许多内存和进程设置,该参数文件包含:

    一个实例所启动的数据库名字

    在SGA中存储结构使用多少内存;

    在填满在线日志文件后作什么;

    数据库控制文件的名字和位置;

    在数据库中专用回滚段的名字。

    四、数据字典的使用

    数据字典是ORACLE数据库的最重要的部分之一,是由一组只读的表及其视图所组成。它提供有关该数据库的信息,可提供的信息如下:

    ORACLE用户的名字;

    每一个用户所授的特权和角色;

    模式对象的名字(表、视图、快照、索引、聚集、同义词、序列、过程、函数、包及触发器等);

    关于完整性约束的信息;

    列的缺省值;

    有关数据库中对象的空间分布及当前使用情况;

    审计信息(如谁存取或修改各种对象);

    其它一般的数据库信息。

    可用SQL存取数据字典,由于数据字典为只读,允许查询。

    1. 数据字典的结构

    数据库数据字典是由基本表和用户可存取的视图组成。

    基本表:数据字典的基础是一组基本表组成,存储相关的数据库的信息。这些信息仅由ORACLE读和写,它们很少被ORACLE用户直接存取。

    用户可存取视图:数据字典包含用户可存取视图,可概括地方便地显示数据字典的基本表的信息。视图将基本表中信息解码成可用信息。

    2. 数据字典的使用

    当数据库打开时,数据字典总是可用,它驻留在SYSTEM表空间中。数据字典包含视图集,在许多情况下,每一视图集有三种视图包含有类似信息,彼此以 前缀 相区别,前缀 USER、ALL和DBA。

  前缀为USER的视图,为用 视图,是在用户的模式内。

  前缀为ALL的视图,为扩展的用户视图(为用户可存取的视图)。

  前缀为DBA的视图为DBA的视图(为全部用户可存取的视图)。

    在数据库中ORACLE还维护了一组虚表记录当前数据库的活动,这些表称为动态性能表。动态性能表不是真正的表,许多用户不能存取,DBA可查询这些表,可以建立视图,给其它用户授予存取视图权。

    五、事务管理

    1. 事务

    一个事务为工作的一个逻辑单位,由一个或多个SQL语句组成。一个事务是一个原子单位,构成事务的全部SQL语句的结果可被全部提交或者全部回滚。一个事务由第一个可执行SQL语句开始,以提交或回滚结束,可以是显式的,也可是隐式的(执行DDL语句)。

    在执行一个SQL语句出现错误时,该语句所有影响被回滚,好像该语句没有被执行一样,但它不会引起当前事务先前的工作的丢失。

    2. ORACLE的事务管理

    在ORACLE中一个事务是由一个可执行的SQL语句开始,一个可执行SQL语句产生对实例的调用。在事务开始时,被赋给一个可用回滚段,记录该事务的回滚项。一个事务以下列任何一个出现而结束。

    当COMMIT或ROLLBACK(没有SAVEPOINT子句)语句发出。

    一个DDL语句被执行。在DDL语句执行前、后都隐式地提交。

    用户撤消对ORACLE的连接(当前事务提交)。

    用户进程异常中止(当前事务回滚)。

    1) 提交事务

    提交一事务,即将在事务中由SQL语句所执行的改变永久化。在提交前,ORACLE已有下列情况:

    在SGA的回滚段缓冲区已生成回滚段记录,回滚信息包含有所修改值的老值。

    在SGA的日志缓冲区已生成日志项。这些改变在事务提交前可进入磁盘。

    对SGA的数据库缓冲区已作修改,这些修改在事务真正提交之前可进入磁盘。

    在事务提交之后,有下列情况:

    对于与回滚段相关的内部事务表记录提交事务,并赋给一个相应的唯一系统修改号(SCN),记录在表中。

    在SGA的日志缓冲区中日志项由LGWR进程写入到在线日志文件, 这是构成提交事务的原子事务。

    在行上和表上的封锁被释放。

    该事务标志为完成 。

    注意:对于提交事务的数据修改不必由DBWR后台进程立即写入数据文件,可继续存储在SGA的数据库缓冲区中,在最有效时将其写入数据文件。

    2) 回滚事务

    回滚事务的含义是撤消未提交事务中的SQL语句所作的对数据修改。ORALCE允许撤消未提交的整个事务,也允许撤消部分。

    在回滚整个事务(没有引用保留点)时,有下列情况:

    在事务中所有SQL语句作的全部修改,利用相应的回滚段被撤消。

    所有数据的事务封锁被释放。

    事务结束。

    当事务回滚到一保留点(具有SAVEPOINT)时,有下列情况:

    仅在该保留点之后执行的语句被撤消。

    该指定的保留点仍然被保留,该保留点之后所建立的保留点被删除。

    自该保留点之后所获取的全部表封锁和行封锁被释放,但指定的保留点以前所获取的全部数据封锁继续保持。

   该事务仍可继续。

    3) 保留点

    保留点(savepoint)是在一事务范围内的中间标志,经常用于将一个长的事务划分为小的部分。保留点可标志长事务中的任何点,允许可回滚该点之后的工作。在应用程序中经常使用保留点;例如一过程包含几个函数,在每个函数前可建立一个保留点,如果函数失败,很容易返回到每一个函数开始的情况。在回滚到一个保留点之后,该保持点之后所获得的数据封锁被释放。

    六、数据库触发器

    1. 触发器介绍

    数据库触发器(database trigger)是存储在数据库中的过程,当表被修改时它隐式地被激发(执行)。在ORACLE中允许在对表发出INSERT、UPDATE或DELETE语句时隐式地执行所定义的过程,这些过程称为数据库触发器。触发器存储在数据库中,并与所相关表分别存储。触发器仅可在表上定义。在许多情况中触发器用于提供很高级的专用数据库管理系统,来补充ORACLE的标准功能。触发器一般用于:

    自动地生成导出的列值;

    防止无效的事务;

    实施更复杂的安全性检查

    在分布式数据库中实施跨越结点的引用完整性;

    实施复杂的事务规则;

    提供透明事件日志;

    提供高级的审计;

    维护同步表复制;

    收集关于存取表的统计。

    注意:数据库触发器与SQL*FORMS触发器之间的差别。数据库触发器是定义在表上,存储在数据库中,当对表执行INSERT、UPDATE或DELETE语句时被激发,不管是谁或哪一应用发出。而SQL*FORMS触发器是SQL*FORM应用的部分,仅当在指定SQL*FORMS应用中执行一个指定触发器点时才被激发。

    触发器和说明性完整性约束都可用于约束数据的输入,但它们之间有一定区别:

    说明性完整性约束是关于数据库总是为“真”的语句。一个完整性约束应用于表中已有数据和操纵表的任何语句。

    而触发器约束事务不可应用于在定义触发器前已装入的数据,所以它不能保证表中全部数据服从该触发器的规则。触发器实施瞬时约束,即在数据改变时实施一约束。

    2. 触发器的组成:

    一个触发器有三个基本部件:触发事件或语句、触发器的限制、触发器动作。

    触发事件或语句:为引起触发器激发的SQL语句,是对指定表INSERT、UPDATE或DELETE语句。

    触发器限制:为一布尔表达式,当触发器激发时该条件必须为TRUE。触发器的限制是用WHEN子句来指定。

本新闻共5页,当前在第4页  1  2  3  4  5  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
我当时初学ORACLE认证时写的一些笔记
国外公司的Oracle DBA试题
Oracle常用函数列表速查
启动Oracle常见疑难问题分析
Oracle数据库中的“锁”学习小结