`

在Oracle数据库中,用于数据备份的触发器及表结构

阅读更多
对当前的数据表的插入、删除、更新等进行记录,并把操作日期、操作者、原来数据、现在数据都作为备份,以便于在当前备出现问题的时候能够给以恢愎。
当然,最好就是把备份表放在不同的磁盘上不同的数据库中:
1、建立用于数据备份及操作记录的表:
CREATE TABLE AUD_PRGAMD1(
W_ROWID VARCHAR2(50), --行ID
W_ACTION VARCHAR2(1), --操作
DTTM     DATE, --操作日期
OPUSER VARCHAR2(30), --操作者
B$CODE VARCHAR2(10), --原表中的CODE
A$CODE VARCHAR2(10), --现表中的CODE
B$FTY VARCHAR2(1), --原表中的FTY
A$FTY VARCHAR2(1) –现表中的FTY
);

2、建立实际数据表:
create table prgamd
(
code varchar2(20),
fty varchar2(20)
)

2、创建自动备份触发器:
CREATE or replace TRIGGER AUD_PRGAMD_TRIGGER
AFTER INSERT OR UPDATE OR DELETE
ON PRGAMD
FOR EACH ROW
DECLARE
V_ROWID VARCHAR2(50);
V_ACTION VARCHAR2(1);
V_OPUSER VARCHAR(30):='UNKNOW';
BEGIN
IF INSERTING THEN
   V_ROWID:=:NEW.ROWID;
   V_ACTION:='I';
   
 ELSIF UPDATING THEN
   V_ROWID:=:NEW.ROWID; 
   V_ACTION:='U';
   
 ELSIF DELETING THEN
   V_ROWID:=:OLD.ROWID; 
   V_ACTION:='D';   
END IF;
V_OPUSER:=USER;
INSERT INTO AUD_PRGAMD1(
W_ROWID,
W_ACTION,
DTTM,
OPUSER,
B$CODE,
B$FTY,
A$CODE,
A$FTY
)
VALUES(
V_ROWID,
V_ACTION,
SYSDATE,
V_OPUSER,
:OLD.CODE,
:OLD.FTY,
:NEW.CODE,
:NEW.FTY
);
 
END;
注:上面的OLD表示被操作表中原来的数据指向,NEW表示被操作表中现在的数据指向
3、操作测试:
 
insert into prgamd 
values('x','x');
select * from AUD_PRGAMD1 
select * from prgamd;
 
update prgamd set code='m1' where fty='x';
commit;


注:这是当初在那个论坛上看到的,因为时间的关系,现在已经想不起来了,如果您是原作者,请告知一下,以便我把名暑上。
分享到:
评论

相关推荐

    Oracle数据库对象管理及备份与恢复.pdf

    首先,关于Oracle数据库对象管理,主要包括创建和修改表结构、管理索引、维护表分区、创建和管理视图及序列等操作。创建表(CREATE TABLE)是数据库管理中最基础的操作,涉及到数据类型、存储参数和数据块管理等特性...

    Oracle数据库表定时备份表 表名动态拼接时间戳存储过程

    2、备份表结构和数据,还备份索引、序列、触发器等对象,提高了备份速度。但需要手动备份原始表的序列。 3、备份策略是存储过程,方便执行,每次备份表都有时间戳。 4、若备份文件过大,可以考虑增加备份频率或分批...

    Oracle数据库体系结构( 中文详细版)

    以上是对Oracle数据库体系结构的基本介绍,深入学习还包括对Oracle的SQL语法、存储过程、触发器、视图、约束、分区表等特性的理解和应用。通过理解这些核心概念,可以更好地管理和优化Oracle数据库,提升系统的稳定...

    把mysql数据库中的数据导入到oracle数据库中

    - 当前MySQL数据库的备份文件为`.sql`文件,每个表一个文件,需要将这些文件的数据导入到Oracle数据库中。 #### 二、MySQL数据恢复 为了确保数据的完整性和准确性,首先需要将MySQL的备份文件恢复到一个测试数据库...

    Oracle数据库培训.ppt

    数据备份工具 Import 和 Export 是 Oracle 数据库中的数据备份和恢复工具,用于实现数据的安全备份和恢复。 九、数据导入工具 Sql*Loader Sql*Loader 是 Oracle 数据库中的数据导入工具,用于将外部数据导入 ...

    oracle数据库题库.pdf

    Oracle数据库备份和恢复是指将数据库数据备份到外部存储设备,并在需要时恢复数据库。Oracle数据库提供了多种备份和恢复方法,包括冷备份、热备份、incremental backup、redo日志备份等。 6. Oracle数据库索引和...

    MySql 和Oracle 数据库结构导出Word

    在实际应用中,导出数据库结构也有助于数据库备份、迁移和版本控制。例如,在升级数据库版本或迁移至其他平台时,Word文档可以作为参考,确保新环境与旧环境的结构一致性。同时,这也方便非技术团队理解数据库设计,...

    oracle向达梦数据库迁移

    这一步涉及复制Oracle数据库中的表结构,包括表名、字段、数据类型、主键、外键、唯一性约束、非空约束等,并在DM8中重建。同时,迁移索引以保持查询性能,以及字段的注释和序列,用于自增字段。 四、删除键,约束...

    oracle数据库备份恢复策略

    综上所述,Oracle数据库的备份和恢复策略涉及多个层面,从全备份、增量备份、EXP导出到恢复步骤的规划,都需要精确操作和谨慎管理,以确保在数据丢失或系统故障时能快速有效地恢复服务。同时,定期检查和更新备份...

    oracle数据库编程pdf文档教案

    在Oracle数据库编程中,首先会涉及到SQL(结构化查询语言),这是与数据库交互的基础。Java_oracle01.pdf可能涵盖了SQL的基本概念,如SELECT语句用于数据查询,INSERT用于插入新记录,UPDATE用于更新现有记录,以及...

    ORACLE数据库 ORACLE数据库

    - **SQL**:结构化查询语言,是用于管理关系数据库的标准语言,Oracle数据库支持SQL的多种扩展。 - **表空间**:存储数据的逻辑单位,包含一个或多个数据文件。 - **数据文件**:实际保存数据的物理文件,存在于...

    Oracle数据库系统应用与开发

    Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,它在企业级数据管理和应用程序开发中扮演着核心角色。本资源“Oracle数据库系统应用与开发”深入探讨了Oracle数据库的使用和开发技术,特别关注...

    Oracle基于日志的数据备份

    在ETL(提取、转换、加载)流程中,传统的增量抽取通常涉及在数据上添加时间戳、全记录比对或关键字段比对等方法,这些方法可能需要修改原有表结构或大量计算。Oracle 9i引入的CDC功能,直接在数据库层面提供了解决...

    oracle数据库基础知识

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,它在企业级数据存储和管理中扮演着核心角色。Oracle数据库基础知识是每个IT从业者或自学者必备的知识领域。以下将深入讲解Oracle数据库的一些关键概念和操作...

    ORACLE数据库设计与优化

    Oracle数据库是全球广泛使用的大型关系型数据库系统之一,它在数据存储、处理和管理方面具有强大的功能。本主题主要探讨Oracle数据库的设计原则和优化策略,以提升系统的性能和效率。 一、数据库设计基础 1. 规范化...

    oracle 数据库 10g 标准版数据表

    1. **数据表结构**:在Oracle数据库中,数据表是存储数据的基本单元,由列(Columns)和行(Rows)组成。列定义了数据类型和约束,行则代表实际的数据记录。 2. **SQL语法**:创建数据表通常使用`CREATE TABLE`语句...

    ORACLE 数据库体系结构

    毕业设计或源码项目中,可能会涉及到使用Oracle数据库存储和处理数据,例如,设计数据库架构、编写存储过程或触发器,以及构建高效的查询语句。 总的来说,Oracle数据库体系结构是复杂而精细的,理解和掌握其核心...

    oracle数据库高级培训

    Oracle数据库是一种广泛应用于企业级数据管理的高性能关系型数据库系统,其高级特性使得它在处理大规模、复杂的数据操作时表现出色。本培训旨在深入讲解Oracle数据库的高级概念和技术,帮助学员提升数据库管理与优化...

    ORACLe数据库讲义.ppt

    在Oracle数据库的体系结构中,System Global Area (SGA) 是一个重要的内存区域,它包括: 1. **共享池**:存储PL/SQL代码、SQL语句和数据库缓存信息。 2. **数据缓冲区**:缓存从数据文件中读取的数据块,减少磁盘I...

Global site tag (gtag.js) - Google Analytics