說說如何做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 無法導出多表。

檢查完之後就代表通過了,就操作線上庫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章