原因:由於ORA-20100:為FND_FILE創建檔o0003167.tmp失敗。

在請求日誌的錯誤原因中您會找到更詳細的資訊。

 

查找了一些資料,總結了一下出問題的原因。

 

1.查看$APPLPTMP系統內容變數的值,一般是/usr/tmp,需要保證該資料夾是存在的。




2.查看utl_file_dir資料庫參數,其第一個值也應該為/usr/tmp;

 

SELECT * FROM V$PARAMETER V WHERE v.NAME='utl_file_dir'

 

3.查看該資料夾的許可權,該資料夾必須為應用使用者和資料庫使用者都具有讀寫許可權。

 

4.通過exec FND_FILE.PUT_LINE(FND_FILE.LOG, 'THIS IS A TEST');進行測試,查看是否能輸入檔。

 

我做了上面的四個步驟,發現4能正常運行結束,我為什麼請求上會報錯呢?最後終於找到了原因,我是一台伺服器上面裝了兩套環境的應用,環境管理員在刻環境的時候,沒有修改$APPLPTMP的值,導致兩個環境都往/usr/tmp寫東西,在第一個環境的序列比較超前時,它已經在該目錄裡面創建了o0003167.tmp,我再在第二個環境發起請求的時候,它再創建o0003167.tmp的時候就會創建失敗。

 

總結:

 

當一台伺服器上運行了多套環境時,不能使用/usr/tmp作為$APPLPTMP,須定義成各自的目錄。且該目錄須在資料庫參數utl_file_dir中。






另:前面是摘自其它人的博客,後來又問了一下同事,utl_file_dir資料庫參數,其第一個值可以不是/usr/tmp,報這個錯誤也有可能是tmp資料夾滿了的,清空一下就可以了!
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()