WHEN (NEW。job_id = "SA_REP")
BEGIN
IF INSERTING
THEN :NEW。mission_pct := 0;
ELSIF :OLD。mission_pct IS NULL
THEN :NEW。mission_pct := 0;
ELSE
:NEW。mission_pct := :OLD。mission_pct + 0。05;
END IF;
END;
/
3。INSTEAD OF TRIGGER:替换类型触发器
CREATE 'OR REPLACE' TRIGGER trigger_name
INSTEAD OF
event1 'OR event2 OR event3'
ON view_name
'REFERENCING OLD AS old | NEW AS new'
'FOR EACH ROW'
trigger_body
不允许在触发器中进行事务的操作。
4。DDL触发器:
CREATE 'OR REPLACE' TRIGGER trigger_name
timing//
'ddl_event1 'OR ddl_event2 OR 。。。''
ON {DATABASE|SCHEMA}
trigger_body
当用户在数据库中对方案执行 CREATE ALTER DROP 操作时触发。
5。系统事件触发器:
CREATE 'OR REPLACE' TRIGGER trigger_name
第 96 页,共 106 页
…………………………………………………………Page 97……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
timing
'database_event1 'OR database_event2 OR 。。。''
ON {DATABASE|SCHEMA}
trigger_body
在数据库启动后,和关闭前触发。
对数据库权限进行 CREATE ANY,ALTER ANY。。。。。操作时触发。
如果是 ON SCHEMA ,该触发器是当前方案下的触发器,不能在连接其他用户登陆或断开时触发,
ON DATABASE 可以。
sys_context("userenv";"ip_address"/"isdba"/"HOST"/"os_user");
对日期格式的操作只能通过修改环境变量或用 TO_CHAR 来实现;
当触发器代码量大的时候,把触发器体整体放入一个存储过程中。
CREATE 'OR REPLACE' TRIGGER trigger_name
timing
event1 'OR event2 OR event3'
ON table_name
'REFERENCING OLD AS old | NEW AS new'
'FOR EACH ROW'
'WHEN condition'
CALL procedure_name;
CREATE OR REPLACE TRIGGER log_employee
BEFORE INSERT ON EMPLOYEES
CALL log_execution
/
如果能用数据库的功能就用,不能的时候才考虑使用触发器。
CREATE OR REPLACE TRIGGER owner_tri
BEFORE DELETE OR INSERT OR UPDATE ON EMPLOYEES
BEGIN
if sys_context("userenv";"HOST") not in ("305wnj") then
RAISE_APPLICATION_ERROR(…20202;"You cat not do anything on this SCHEMA!");
end if;
if user"HR" then
RAISE_APPLICATION_ERROR(…20202;"You cat not do anything on this table!");
end if;
end;
8、审计
AUDIT INSERT; UPDATE; DELETE
ON departments
BY ACCESS
WHENEVER SUCCESSFUL;
每一次访问都会产生审计信息,记录用户对数据库对象的操作,操作时间和次数。但不会记录
对哪些数据进行操作,
使用触发器完成记录对哪些数据进行操作。
第 97 页,共 106 页
…………………………………………………………Page 98……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
CHECK 约束只能做确切值的比较;
9、数据同步:
stream
CREATE SNAPSHOT emp_copy AS SELECT * FROM employees@ny;
四、backup and recover 备份与恢复
1、备份与恢复概论:
备份恢复的相关问题:
*、防止数据库在运行中可能发生的各种故障
*、增加数据库的连续可用时间 Mean…Time…Between…Failures (MTBF)
*、减低数据库的恢复用时间 Mean…Time…To…Recover (MTTR)
*、最小化数据的丢失
故障类型:
*、语句失败
*、用户进程失败
*、实例失败
*、用户错误
*、介质故障
*、网络故障
引起语句失败的原因:
*、应用的逻辑错误
*、试图在表中存放不合法的数据
*、试图执行无权限的操作
*、试图创建表;但是已经超过了空间配额的限制
*、试图对表执行 INSERT 或者 UPDATE 操作;导致新区的分配;但是在表空间上已经没有足够
的自由空间
解决语句的失败:
*、修改程序的逻辑流。
*、修改并重新执行 SQL语句。
*、提供必要的数据库权限。
*、使用 ALTER USER 命令改变用户的配额。
*、为表空间增加新的空间。
*、Oracle9i给用户了当因空间不足导致应用挂起时;通过分配空间而使挂起程序继续执行的
能力。
用户进程失败的原因:
*、用户异常的断开了会话。
*、用户会话被非正常终止。
*、用户的程序触发了地址异常;导致了会话的终止。
解决用户进程的失败:
第 98 页,共 106 页
…………………………………………………………Page 99……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
*、PMON 进程自动检测用户进程的非正常终止。
*、PMON 自动回滚事务并释放所有被用户占用的资源和锁。
用户错误:
就是连接到数据库的用户有意或无意地做了删除了某些不该删除的数据或更新了某些不该更
新的数据等等不该做的事。
解决用户错误:
*、培训数据库用户。
*、从以前的备份中恢复。
*、从导出的文件中导入表。
*、使用 LogMiner 确定出现错误的时间。
*、执行基于时间的恢复。
*、使用 LogMiner 执行对象级的恢复。
*、使用 FlashBack 察看并修复历史数据。
介质故障的原因 :
*、磁盘驱动器头损坏
*、读写数据文件时遇到了物理故障
*、文件被意外的删除了
解决介质故障:
*、恢复策略依赖于选择了哪种备份方法以及那些文件需要恢复。
*、如果可能;使用从上一次备份开始产生的所有归档重做日志文件执行恢复。
2、定义一个备份、恢复策略:
*、商业需求:
恢复所需时间最少(Mean…Time…To…Recover)
连续无故障时间最长(Mean…Time…Between…Failure)
备份策略的制定是一个持续的过程,需要不断的调整
*、操作需求:
24…hour 的连续操作
能不能在数据库运行时执行策略的测试;有没有完善的备份恢复文档
数据库的数据是不是不断变化的
*、技术上的考虑:
资源方面: 硬件; 软件; 电源; 以及时间
执行操作系统级数据文件的物理影像拷贝
执行数据库对象的逻辑拷贝
数据库的配置
事务的大小也影响着备份的频率
*、灾难恢复的问题:
如?
小说推荐
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 其他
- 最新章:第214章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 其他
- 最新章:第4章
- VC语言6.0程序设计从入门到精通
- -Page 1-Visual C 6.0 程序设计从入门到精通求是科技 王正军 编著
- 其他
- 最新章:第136章
- SQL 21日自学通(V3.0)(PDF格式)
- -Page 1-SQL 21 日自学通(V1.0 翻译人 笨猪目录目录 1译者的话 14第一周概貌 16从这里开始 16
- 其他
- 最新章:第170章
- 深入浅出MFC第2版(PDF格式)
- -Page 1-Page 2-山高月小山高月小 水落石出水落石出山高月小山高月小 水落石出水落石出-Page 3-深入淺出MFC(第版 使用Visual C 5.0 MFC 4.2)Dissecting MFC(Second Edition Using Visual C 5.0 MFC 4.2)侯俊
- 其他
- 最新章:第309章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 其他
- 最新章:第28章
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 其他
- 最新章:第27章
- JSP入门教程(DOC格式)
- -Page 1-jsp 入门教程0.0.1版权(c 2008 叮咚老菜鸟叮咚对文档的任何问题或建议,请给叮咚发邮件或留言。QQ:475784337QQ 群:51239192MSN:lingirl6@hotmail.EMAIL:lingirl6@hotmail.2008-02-28 20:05:061
- 其他
- 最新章:第37章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 其他
- 最新章:第143章