如何附加 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
在后台将命名管道附加到您的日志文件。重要提示:cat
在 sqlldr
终止时终止。因此,您必须在每次调用 sqlldr
.
之前重新启动 cat
我通过 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
在后台将命名管道附加到您的日志文件。重要提示:cat
在 sqlldr
终止时终止。因此,您必须在每次调用 sqlldr
.
cat