2010-11-16 58 views
1

我有一個Oracle併發程序調用一個將執行SQL加載程序的UNIX shell腳本。這用於從舊版到Oracle Base表中插入平面文件。從unix shell腳本寫入oracle日誌文件?

我在這裏的問題是,

如何抓住我的自定義消息,驗證錯誤信息等在併發程序的Oracle日誌文件。

在這方面的所有幫助都非常感謝。

+0

這是Oracle Applications(EBS)的問題嗎? – 2010-11-16 11:19:09

+0

不!這是UNIX Shell腳本問題。我需要將所有自定義消息寫入Oracle日誌文件。 – Arun 2010-11-16 11:43:17

+0

「Oracle日誌文件」是否意味着數據庫的警報日誌?或者其他一些文件? – APC 2010-11-16 13:47:48

回答

1

看起來您正嘗試從Oracle Apps啓動SQL * Loader。最簡單的方法是使用SQL * Loader類型的可執行文件,這樣您就可以在併發請求窗口中獲得輸出和日誌文件。

如果要在日誌文件和unix腳本的輸出文件中寫入,可以在FND_CONCURRENT_REQUESTS表(列logfile_nameoutfile_name)中找到它們。您應該將REQUEST_ID作爲參數傳遞給您的腳本。

這些文件應該在$XX_TOP\log,應該叫l{REQUEST_ID}.reqo{REQUEST_ID}.out(應用程序11.5.10)。

+0

這不應該是日誌文件所必需的。腳本的任何輸出都應該放入日誌文件中。我通過併發日誌做了一個快速的處理,發現了一些情況來證實這一點。 – JOTN 2010-11-16 14:56:08

+0

@vincent - 感謝您的幫助。您已指定在哪裏以及如何指定日誌輸出文件。但是,我將如何打印到來自unix的日誌/輸出文件。什麼是用來做同樣的unix命令? – Arun 2010-11-17 05:49:48

+0

你能否確認一下。 – Arun 2010-11-17 05:56:32

0

讓腳本使用sqlplus登錄到oracle,然後插入/更新所需的信息。

+0

是的......正在連接oracle db。 – Arun 2010-11-17 05:48:37

1

您的併發進程是如何定義的?如果它使用「主機」執行方法,那麼輸出應該進入併發日誌文件。如果它是從存儲過程執行的,我不確定它會發生什麼。

+0

+1:寫入日誌文件的簡單而有效的方法 – 2010-11-16 15:17:56

+0

是......正確。我正在使用HOST執行方法。使用unix shell腳本...它將連接到sql db,然後使用db表檢索/驗證平面文件記錄。 – Arun 2010-11-17 05:58:26