收藏 分享(赏)

计算机专业复习资料.doc

上传人:wspkg9802 文档编号:7202389 上传时间:2019-05-09 格式:DOC 页数:6 大小:48.50KB
下载 相关 举报
计算机专业复习资料.doc_第1页
第1页 / 共6页
计算机专业复习资料.doc_第2页
第2页 / 共6页
计算机专业复习资料.doc_第3页
第3页 / 共6页
计算机专业复习资料.doc_第4页
第4页 / 共6页
计算机专业复习资料.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、一、触发器触发器是一种特殊类型的存储过程,当触发表执行 DML 操作时被 Oracle系统自动执行。触发器可以实现复杂的数据完整性规则,达到保护触发表中数据的目的。1、触发器的类型(1)按触发事件的不同,触发器可以分为插入型(INSERT) 、更新型(UPDATE )和删除型(DELETE)触发器。(2)根据指定的事件和触发器执行的先后次序,触发器可以分为 BEFORE 型和AFTER 型触发器。如果在指定的事件(INSERT、UPDATE 或者 DELETE)之前执行触发器,这类触发器称为 BEFORE 触发器,若在指定的事件之后执行触发器,则称这类触发器为 AFTER 触发器。(3)根据触

2、发的级别的不同,触发器可以分为行触发器和语句触发器。对于行触发器受触发器事件的影响的每一行都将引发触发器的执行;而对于语句触发器,触发事件只触发一次,即使有若干行受触发事件的影响,也只执行一次触发操作。2、创建触发器注意事项Oracle 提供了 SQL Developer 和 PL/SQL 语句两种方式创建触发器。创建触发器时,在触发器内可以包含各种 PL/SQL 语句,但以下情况除外:触发器不可以在定义它的表上执行 DML 操作;触发器不可以执行 COMMIT、ROLLBACK 或者 SAVEPOINT 语句,而且也不可以调用包含这些语句之一的存储过程或者函数;不可以在触发器中声明 LONG

3、 或者 LONG RAW 变量。3、使用 PL/SOL 创建触发器使用 PL/SOL 中的 CREATE TRIGGER 命令可任意用来创建触发器,其基本语法格式为: CREATE OR REPLACE TRIGGER用户方案.BEFORE|AFTER|INSTEAD OFINSERT |ORDELETEORUPDATE OF 列 1,NON 用户方案 .FOR EACH ROWWHENBEGIN PL/SQL 语句END 触发器名 ;例:1)为用户方案 SCOTT 的客户表 CUSTOMER 创建插入型触发器,当添加新客户信息时,显示“欢迎新客户注册!” 。CREATE OR REPLACE

4、 TRIGGER SCOTT.TRG_ADDCUSTOMER1AFTER INSERTON SCOTT.CUSTOMERBEGINDBMS_OUTPUT.PUT_LINE(欢迎新客户注册!);END TRG_ADDCUSTOMER1;-输入下面的 INSERT 命令验证结果:INSERT INTO CUSTOMER (CUSTID, CUSTNAME)VALUES(C080113002, 陈莉);(2)为用户方案 SCOTT 的客户表 CUSTOMER 创建删除型触发器,当删除客户信息时,显示删除客户记录的信息。CREATE OR REPLACE TRIGGER TRG_REMOVECUSTO

5、MERBEFORE DELETEON CUSTOMERFOR EACH ROWBEGINDBMS_OUTPUT.PUT_LINE(待删除的记录为:);DBMS_OUTPUT.PUT_LINE(:OLD.CUSTID| | :OLD.CUSTNAME);END TRG_REMOVECUSTOMER;-输入下面的 DELETE 命令验证结果:DELETE CUSTOMERWHERE CUSTID = C080113001;4、使用 PL/SQL 查看触发器例:查看用户方案 SCOTT 中所有触发器的名称 ,触发类型,触发事件,所有者和触发表等信息。Select trigger_name 触发器名,

6、Trigger_type 触发器类型,Triggering_event 触发事件 ,Table_name 触发表From user_triggers;5、使用 PL/SQL 修改触发器修改触发器和修改视图类似,虽然 ORACLE 也提供 ALTER TRIGGER 命令 ,但它只用于重新编译或者验证现有触发器。如果需要修改触发器的定义,则仍然使用 create or replace trigger 命令。例:修改用户方案 SCOTT 的触发器 PRC_ADDCUSTOMER1,当在客户表CUSTOMER 中添加新纪录时,显示“欢迎您,XYZ ”(XYZ 为客户姓名)的信息。(1)修改触发器 T

7、RG_ADDCUSTOMER1:CREATE OR REPLACE TRIGGER TRG_ADDCUSTOMER1AFTER INSERTON CUSTOMERFOR EACH ROWBEGINDBMS_OUTPUT.PUT_LINE(欢迎您, | :NEW.CUSTNAME);END TRG_ADDCUSTOMER1;(2)添加数据记录,执行触发器:INSERT INTO SCOTT.CUSTOMER(CUSTID,CUSTNAME)VALUES(C080113001, 张春明);6、使用 PL/SQL 删除触发器DROP TRIGGER用户方案.触发器名;例:删除用户方案 SCOTT 的

8、触发器 TRG_ADDCUSTOMER。DROP TRIGGER SCOTT. TRG_ADDCUSTOMER;二、备份数据库1、数据库故障分类 用户错误 语句故障 进程故障 介质故障2、备份的类型1)逻辑备份 导出方式是数据库的逻辑数据备份。2)物理备份 脱机备份和联机备份是物理数据备份。 脱机备份 当数据库正常关闭时使用脱机备份,需要备份下列文件:所有数据文件;所有控制文件;所有联机重做日志;init.ora 文件(可选)。 联机备份:联机备份包括将每一个表空间设为备份状态,接着备份其数据文件,最后再将表空间恢复为正常状态。当数据库处于运行状态时,执行联机备份,备份以下文件:所有数据文件;

9、所有归档的重做日志文件;一个控制文件。3、使用命令方式执行数据库备份3.1 完全数据库备份在执行完全数据库备份之前,应该确定备份哪些文件,通过查询 V$DATAFILE 视图可以获取数据文件的列表:Select name from v$datafile;通过查询 V$LOGFILE 视图可以获取联机重做日志文件的列表:Select member from v$logfile;获取控制文件名称:Show parameter control_files;实现完全数据库备份,通常包括实现一致的完全数据库备份和检验备份两个步骤:(1)实现一致的完全数据库备份在备份之间要先关闭数据库,实现步骤如下:先关

10、闭数据库,命令如下(任选其一):Shutdown normal;Shutdown Immediate;Shutdown Transactional;然后,备份组成数据库的所有文件,比如:Xcopy d:oracleproduct10.2.0oradatamydb e:orabackup(该命令需要在 DOS 下运行)最后,在备份结束后重新启动数据库:Startup;(2)检验备份语法格式:DbvFile=filename|start=block_address|end= block_address|blocksize=block_size|logfile=logfile_name|feedba

11、ck=n|Parfile=parfile_name|userid=user_id|Segment_idsegment_idHegh_scn=scn如:C:dbv file=e:orabackupsystem01.dbf3.2 联机表空间备份实现联机表空间备份通常包括确定数据文件、标记联机表空间备份开始、备份联机数据文件和标记联机表空间备份结束 4 个步骤。1)确定数据文件Select tablespace_name,file_name from sys.dba_data_files;2)标记联机表空间备份开始Alter tablespace users begin backup;3)备份联机数

12、据文件Copy d:oracleproduct10.2.0oradatamydbusers01.dbf e:orabackuptsbak04)标记联机表空间备份结束Alter tablespace users end backup;3.3 脱机表空间备份1)确定脱机表空间的数据库Select tablespace_name,file_name from dba_data_files;2)使表空间脱机Alter tablespace users offline normal;3)备份脱机的数据文件Copy d:oracleproduct10.2.0oradatamydbusers01.dbf e

13、:orabackuptsbak14)将表空间联机Alter tablespace users online;3.4 控制文件备份1)备份控制文件为物理文件首先,修改数据库。例如,建立一个新的数据文件。Alter databaseCreate datafile d:oracleproduct10.2.0oradatamydbusers05.dbfAs d:oracleproduct10.2.0oradatamydbusers01.dbf;然后,备份数据库的控制文件。例如,备份控制文件到指定的位置。Alter databaseBackup controlfile to e:orabackupctr

14、lbakcf.bak;2)备份控制文件到跟踪文件Alter databaseBackup controlfile to trace;二、恢复数据库恢复类型:实例恢复、崩溃恢复和介质恢复。1、热备份恢复步骤:1)使用带 offline 选项的 alter database 命令将出现故障的表空间脱机。如:Alter databaseDatafile e:oracleproduct10.2.0oradatamydbusers01.dbf offline;2)使用操作系统自带的命令或其他方式将表空间的备份文件复制到原来的位置,并覆盖原文件。如:Copy e:orabackuptsbak0users0

15、1.dbf d:oracleproduct10.2.0oradatamydbmydb3)使用 recover 命令进行介质恢复,恢复表空间。如:Recover datafile d:oracleproduct10.2.0oradataorclmydbusers01.dbf;4)使用带 online 选项的 alter database 命令将表空间联机。如:Alter databaseDatafile d:oracleproduct10.2.0oradataorclmydbuserso1.dbf online;2、基于 cancel 的恢复步骤:1)当遇到数据库错误时,使用 shutdown

16、immediate 关闭数据库,并将备份的数据复制到相应的位置。2)启动数据库。Startup mount;3)恢复数据库。Recover database until cancel;4)使用 RESETLOGS 启动数据库。Alter databaseOpen resetlogs;3、基于时间点的恢复步骤:1)关闭数据库。shutdown immediate;2)启动数据库。Startup mount;3)对数据库基于时间点的恢复。Recover database until time 05-10 月-2011 8:00:00;4)使用 RESETLOGS 启动数据库。Alter databaseOpen resetlogs;4、基于 SCN 的恢复(可以将数据库恢复到错误发生前的某一个事务前的状态)步骤:1)关闭数据库。shutdown immediate;2)启动数据库。Startup mount;3)对数据库基于 SCN 的恢复。Recover database until change 530867106;4)使用 RESETLOGS 启动数据库。Alter databaseOpen resetlogs;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报