Oracle存储函数、触发器、闪回

存储函数
  函数为一命名的存储程序,可带参数,并返回一计算值。函数和过程的结构类似,但必须有一个return子句,用于返回函数值。函数说明要制定函数名、结果值的类型,以及参数类型等。

触发器总结: 触发器可用于以下情况

1
2
3
4
数据确认
实施复杂的安全性检查
做审计,跟踪表上所做的数据操作等
数据的备份和同步

闪回(FlashBack)

1. 错误的删除了数据,并且commit
2. 错误的删除了表drop table
3. 如何获取表上的历史记录
4. 如何撤销一个已经提交了的事务

闪回的类型

1. 闪回表: 将表回退到过去的一个时间上 (9i)
2. 闪回删除:操作Oracle的回收站
3. 闪回版本查询: 表上的历史记录
4. 闪回事务查询: 获取一个 undo_sql
5. 返回数据库: 将数据库回退到过去的一个时间上
6. 闪回归档日志

设置回退的时间间隔

alter system set undo_retention=1200 scope=both;

scope的取值:memoery(只改当前数据库,退出之后恢复),spfile(数据库重启之后也保持不变),both(上面两者的结合)

总结:

  1. 闪回表
    show parameters undo --> 900秒
    SCN 系统改变号
    执行闪回表
    行移动 alter table xxx enable row movement
    系统表(数据字典)不能闪回
    不能跨越DDL
    问题:如何获取离该操作最近的一个时间
    
  2. 闪回删除

    Oracle的回收站:管理员没有回收站
    执行闪回删除
        (1)通过表明闪回删除
        (2)通过回收站中的名字闪回删除
        (3)闪回重名的表
    
坚持原创技术分享,您的支持将鼓励我继续创作!