日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle不开归档对效率会快吗,关于性能:存档庞大的数据库(oracle),而不会影响向其插入记录的进程...

發布時間:2024/9/3 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle不开归档对效率会快吗,关于性能:存档庞大的数据库(oracle),而不会影响向其插入记录的进程... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們有一個審計數據庫(oracle),它保存部署在應用程序服務器上的服務(大約100個)執行的所有活動的監視器信息。您可能認為審計數據庫非常龐大,因為服務處理的請求數量很大。此數據庫上唯一的寫入事務是實時編寫審計信息的服務。

隨著審計數據庫的開始增長(每天超過一百萬條記錄),查詢所需數據(例如select all errors occurred with service A for requests between start date and end date)很快變得幾乎不可能。

為了解決這個問題,一些"聰明的孩子"決定設置一個批處理作業,將數據從數據庫復制到另一個數據庫(例如,audit_archives)并刪除記錄,以便在審計數據庫中保留僅2天的審計數據。

這看起來很簡潔,但每當"批處理"進程運行時,將數據插入審計數據庫的審計進程開始變得非常慢 - 有時"批處理"進程也因數據庫爭用而失敗。

設計此方案以更有效的方式執行上述歸檔的更好方法是什么,以便對審計流程和批處理產生最小的影響?

您可能希望研究對基表進行分區。

創建鏡像表(作為"歷史"數據的目標)并在該表上創建相同的分區方案(最可能是基于每個日期)。

然后,您可以簡單地將"舊"分區(使用ALTER TABLE the_table EXCHANGE partition)從一個表交換到另一個表。應該只需要幾秒鐘來"移動"分區。實際性能取決于定義的索引(本地,全局)。

這種技術通常用于反過來(準備將新數據輸入數據倉庫環境中的報告表),但也應該用于"歸檔"。

感謝您的答復。 這里有一個問題是,在工作日的24小時之內,我們無法承擔審計表不可用的費用。

@ringbearer:為什么你認為桌子不可用?

ALTER TABLE the_table EXCHANGE partition的副作用?

@ringbearer:不,表不會"不可用"。 鎖定可能存在一些問題,但您需要嘗試一下。 我不確定是否需要鎖定表或鎖定分區。

我輕松的方式。

使用FORALL語句刪除舊記錄部分最佳

用FORALL復制數據部分最好

根據星期幾添加分區

II隊列

使用FORALL語句刪除舊記錄部分最佳

使用審計觸發器填充audit_archives,在觸發器使用隊列中避免長dml

總結

以上是生活随笔為你收集整理的oracle不开归档对效率会快吗,关于性能:存档庞大的数据库(oracle),而不会影响向其插入记录的进程...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。