`

AuditTrail研究

 
阅读更多

为了将Oracle迁移到MySQL,过程中需要做增量数据的记录。因此想了几种方案:

1. 如果表后面有modifydate这个字段的话,就可以按照这个字段来迁移表,将在dump时间之后修改的数据做迁移

2.在需要做增量迁移的表上建trigger,将insert,update,delete的操作记录下来。

3.用oracle自带的audit trail功能来做

 

接下来详细介绍一下audit trail

参考资料:http://www.oracle-base.com/articles/10g/auditing-10gr2.php

               http://hi.baidu.com/sonmeika/item/7cc5f9311e8731b8633aff16

 

*打开audit trail的功能

SQL> conn /as sysdba
SQL> show parameter audit

SQL> alter system set audit_sys_operations=TRUE scope=spfile;    --审计管理用户(以sysdba/sysoper角色登陆)
SQL> alter system set audit_trail=db,extended scope=spfile;
SQL> startup force;
SQL> show parameter audit

SQL>AUDIT insert,update,delete ON z7admin.service by access;//审计 插入,更新,删除

SQL>update service set license_limit = 200 where id = 0;

SQL>select * from sys.aud$;

 

audit trail相对于我们系统的缺点:

1.需要oracle 10之后才有的功能

2.因为迁移后的系统和以前的系统的表结构可能不同,列的个数有可能有所不同,因此用audit trail会有些错误

3.因为audit trial记录的语句有可能是多表关联的,因此在数据迁移的时候,就可能出现数据不一致的情况

 

经过测试,audit tail的性能和用trigger的性能差不多。

 

因此计划还是不用audit tail

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics