我通过bash脚本连接到sqlldr,我想将结果记录到现有文件-${LOGFILE}.log
。但是sqlldr会覆盖这个文件,而我想要追加它。是否有sqlldr的附加选项或某些解决方法?
${ORACLE_BIN}/sqlldr ${CONNECTION} control=${SCRIPTPATH}/${SQLLDR_CONTROLFILE}.ctl data=${BATCHFILE} log=${LOGFILE}.log
感谢
答案 0 :(得分: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
在后台将命名管道附加到您的日志文件中。重要提示:cat
终止时sqlldr
终止。因此,您必须在每次调用cat
之前重新启动sqlldr
。