如何附加 sqlldr 日志文件?

How to append sqlldr log file?

我通过 bash 脚本连接到 sqlldr,我想将我的结果记录到现有文件 -${LOGFILE}.log。但是 sqlldr 覆盖了这个文件,而我想追加它。 sqlldr 是否有任何附加选项或一些解决方法?

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

谢谢

不知道它是否适用于 Solaris,但命名管道是 GNU/Linux 下的一个选项:

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

sqlldr 会将其日志写入打开的命名管道,而 cat 在后台将命名管道附加到您的日志文件。重要提示:catsqlldr 终止时终止。因此,您必须在每次调用 sqlldr.

之前重新启动 cat