2008-10-05 11 views
7

當您首次查看Oracle數據庫時,首要問題之一經常是「警報日誌在哪裏?」。網格控制可以告訴你,但它往往不適用於環境。如何查找和刪除Oracle警報日誌

我發佈了一些bash和Perl腳本來查找和尾部提醒日誌on my blog某段時間後,我很驚訝地發現該帖子仍然有很多點擊。

使用的技術是從v $參數查找background_dump_dest。但是我只在Oracle數據庫10g上進行了測試。

有沒有比這更好的方法?有沒有人知道這是否仍然適用於11g?

回答

8

確定它能在11g下工作,該參數已經存在了很長時間。

似乎正確的方式找到我。

如果未設置BACKGROUND_DUMP_DEST參數時,將alert.log中被放置在$ ORACLE_HOME/RDBMS /跟蹤

+1

@cagcowboy嘿,感謝會發生什麼,如果該參數沒有設置尖端...我有腳本沒有考慮到這一點 – tardate 2008-10-05 12:36:43

3

一旦你的日誌開放,我會考慮使用File::TailFile::Tail::App顯示它因爲它正在寫,而不是睡覺和閱讀。 File::Tail::App特別聰明,因爲它會檢測到正在旋轉和切換的文件,並會記住您的程序調用之間的位置。

我也想過在使用之前鎖定緩存文件。競爭條件可能不會打擾你,但是有多個人試圖立刻開始你的程序可能會導致誰寫入緩存文件的討厭戰鬥。

然而,這些都是挑剔的。我對代碼的簡短瀏覽並沒有顯示任何明顯的錯誤。

+0

@pjf感謝..好點在Perl拖尾。然而,爲了這個用途,我想保留在Oracle安裝的標準Perl模塊中。目前不包括File :: Tail或File :: Tail :: App我相信。 – tardate 2008-10-10 16:59:22