shell腳本中,寫文件的路徑一定要寫全路徑。

利用dbms_scheduler包,想創建一個job,program採用可執行腳本(shell腳本),在em中創建job成功。

對腳本所在的目錄也創建了對應的database directory,並且授予了對應的數據庫用戶對該目錄的read、write權限,但是job執行的時候,一直顯示爲failed。百思不得其解。懷疑之處在於,腳本中有文件沒有給出全路徑,會不會造成影響?

爲驗證該問題,於是做了一個實驗:

在/opt/目錄下創建一個shell腳本11.sh,內容如下:

  #!/bin/bash

  echo "xixi" >> 11.txt

 

然後在root用戶的根目錄下執行/opt/11.sh,然後檢查11.txt到底創建在哪個目錄,發現創建在/root目錄。於是判斷:job執行失敗的原因在於shell腳本中文件沒有指定全路徑,導致在當前路徑database 用戶無法讀寫的情況下、報錯。

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