2017-10-13 306 views
0

我通過bash腳本連接到sqlldr,我想將我的結果記錄到現有文件-${LOGFILE}.log。但sqlldr覆蓋此文件,而我想要它追加。 sqlldr有沒有附加選項,或者有一些解決方法?如何添加sqlldr日誌文件?

${ORACLE_BIN}/sqlldr ${CONNECTION} control=${SCRIPTPATH}/${SQLLDR_CONTROLFILE}.ctl data=${BATCHFILE} log=${LOGFILE}.log 

感謝

+0

對於僅限bash的解決方案,我們需要知道您使用的操作系統。 –

+0

@RenaudPacalet Linux,但我也需要它用於Solaris –

回答

0

不知道它是否會在Solaris上工作,但命名管道是GNU/Linux下一個選項:

$ mkfifo a=rw /tmp/sqlldr.pipe 
$ cat /tmp/sqlldr.pipe >> ${LOGFILE}.log & 
$ ${ORACLE_BIN}/sqlldr ... log=/tmp/sqlldr.pipe 

sqlldr將其日誌寫入打開命名管道而後臺的cat會將命名管道附加到您的日誌文件中。重要提示:當sqlldr終止時,cat終止。因此,您必須在每次調用sqlldr之前重新啓動cat

相關問題