说说如何做oracle的SQL审核呢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了说说如何做oracle的SQL审核呢相关的知识,希望对你有一定的参考价值。

说说如何做oracle database 的sql审核:

1. 如何做到预先的语法检查呢

         首先要熟悉繁杂的oracle语法规范,并能提前报错(这不是问题)

2. DDL 语句列的检查,索引的检查这些是直接执行才会发现的,难道要把表的结构全部导出来,操作检查一遍吗

(貌似可行) 那么要准备一个存储其他库表结构的 oracle database

3.DML 语句如何检查数据冲突呢?

        可以使用不提交事物的方式检查,但如果碰到大量数据的操作呢?会造成锁的

4. 如何记录回滚语句?

            能否解析日志呢,日志先写入redo,logminer 会降低oracle性能
            可不去回滚DDL 语句,和insert ,delete 语句,
            主要预防update 语句,那么提前把update前 语句的数据select 备份起来,而不直接生成回滚update.

5. 这个工作流程是什么样子的呢?

a. 目标库的元数据备份到审核库
b. 外部传参给 审核程序,参数包括(ip,port,username,password,sql,  backip,backport, backuser,backpass)
c. 审核程序先在审核库预执行,看看是否有语法错误,对于DDL 语句就直接更新了,对于insert 语句就直接执行了,
d. 对于delete语句检查句法,因此,delete 之前要先备份   导入到审核库,无法检查数据是否存在,
e. 对于update语句,先要导入到备份库,只能检查语法,因为对于多表依赖的update 无法导出多表。

检查完之后就代表通过了,就操作线上库

以上是关于说说如何做oracle的SQL审核呢的主要内容,如果未能解决你的问题,请参考以下文章

重命名时Oracle 12C审核触发器

说说plist如何做企业分发

Navicat For Oracle如何修改表中的数据呢

如何在 Toad for Oracle 中使用自定义代码片段?

oracle用sql语句插入数据,为啥老是显示正在运行

如何在没有性能和可扩展性问题的情况下审核数据库活动?