计算机专业复习资料.doc_第1页
计算机专业复习资料.doc_第2页
计算机专业复习资料.doc_第3页
计算机专业复习资料.doc_第4页
计算机专业复习资料.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、触发器触发器是一种特殊类型的存储过程,当触发表执行DML操作时被Oracle系统自动执行。触发器可以实现复杂的数据完整性规则,达到保护触发表中数据的目的。1、触发器的类型(1)按触发事件的不同,触发器可以分为插入型(INSERT)、更新型(UPDATE)和删除型(DELETE)触发器。(2)根据指定的事件和触发器执行的先后次序,触发器可以分为BEFORE型和AFTER型触发器。如果在指定的事件(INSERT、UPDATE或者DELETE)之前执行触发器,这类触发器称为BEFORE触发器,若在指定的事件之后执行触发器,则称这类触发器为AFTER触发器。(3)根据触发的级别的不同,触发器可以分为行触发器和语句触发器。对于行触发器受触发器事件的影响的每一行都将引发触发器的执行;而对于语句触发器,触发事件只触发一次,即使有若干行受触发事件的影响,也只执行一次触发操作。2、创建触发器注意事项Oracle提供了SQL Developer和PL/SQL语句两种方式创建触发器。创建触发器时,在触发器内可以包含各种PL/SQL语句,但以下情况除外:触发器不可以在定义它的表上执行DML操作;触发器不可以执行COMMIT、ROLLBACK或者SAVEPOINT语句,而且也不可以调用包含这些语句之一的存储过程或者函数;不可以在触发器中声明LONG或者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 TRIGGER SCOTT.TRG_ADDCUSTOMER1AFTER INSERTON SCOTT.CUSTOMERBEGIN DBMS_OUTPUT.PUT_LINE(欢迎新客户注册!);END TRG_ADDCUSTOMER1;-输入下面的INSERT命令验证结果:INSERT INTO CUSTOMER (CUSTID, CUSTNAME)VALUES(C080113002, 陈莉);(2)为用户方案SCOTT的客户表CUSTOMER创建删除型触发器,当删除客户信息时,显示删除客户记录的信息。CREATE OR REPLACE TRIGGER TRG_REMOVECUSTOMERBEFORE DELETEON CUSTOMERFOR EACH ROWBEGIN DBMS_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 触发器名,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)修改触发器TRG_ADDCUSTOMER1:CREATE OR REPLACE TRIGGER TRG_ADDCUSTOMER1AFTER INSERTON CUSTOMERFOR EACH ROWBEGIN DBMS_OUTPUT.PUT_LINE(欢迎您, | :NEW.CUSTNAME);END TRG_ADDCUSTOMER1;(2)添加数据记录,执行触发器:INSERT INTO SCOTT.CUSTOMER(CUSTID,CUSTNAME)VALUES(C080113001, 张春明);6、使用PL/SQL删除触发器DROP TRIGGER用户方案.触发器名;例:删除用户方案SCOTT的触发器TRG_ADDCUSTOMER。DROP TRIGGER SCOTT. TRG_ADDCUSTOMER;二、备份数据库1、数据库故障分类 用户错误 语句故障 进程故障 介质故障2、备份的类型1)逻辑备份 导出方式是数据库的逻辑数据备份。2)物理备份 脱机备份和联机备份是物理数据备份。 脱机备份 当数据库正常关闭时使用脱机备份,需要备份下列文件:所有数据文件;所有控制文件;所有联机重做日志;init.ora文件(可选)。 联机备份:联机备份包括将每一个表空间设为备份状态,接着备份其数据文件,最后再将表空间恢复为正常状态。当数据库处于运行状态时,执行联机备份,备份以下文件:所有数据文件;所有归档的重做日志文件;一个控制文件。3、使用命令方式执行数据库备份3.1 完全数据库备份在执行完全数据库备份之前,应该确定备份哪些文件,通过查询V$DATAFILE视图可以获取数据文件的列表:Select name from v$datafile;通过查询V$LOGFILE视图可以获取联机重做日志文件的列表:Select member from v$logfile;获取控制文件名称:Show parameter control_files;实现完全数据库备份,通常包括实现一致的完全数据库备份和检验备份两个步骤:(1)实现一致的完全数据库备份在备份之间要先关闭数据库,实现步骤如下:先关闭数据库,命令如下(任选其一):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|feedback=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)备份联机数据文件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: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:orabackupctrlbakcf.bak;2)备份控制文件到跟踪文件Alter databaseBackup controlfile to trace;二、恢复数据库恢复类型:实例恢复、崩溃恢复和介质恢复。1、热备份恢复步骤:1)使用带offline选项的alter database命令将出现故障的表空间脱机。如:Alter databaseDatafile e:oracleproduct10.2.0oradatamydbusers01.dbf offline;2)使用操作系统自带的命令或其他方式将表空间的备份文件复制到原来的位置,并覆盖原文件。如:Copy e:orabackuptsbak0users01.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 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:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论