如何附加sqlldr日志文件?

时间:2017-10-13 13:01:19

标签: bash sql-loader

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

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

感谢

1 个答案:

答案 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