Oracle SQLPLUS:立即刷新 SPOOL 输出
Oracle SQLPLUS: immediately flush SPOOL output
我正在将我的 SQLPLUS 会话记录到一个文件中。
SPOOL mylog.txt
但是如果我执行带有短输出的命令
例如
SELECT * FROM DUAL;
它不会立即放入文件中。它需要一些命令。如果它是一个具有大量输出的命令,它会立即发生。
所以我认为这是在写入文件之前需要填充的某种缓冲区。
我试过了
SET FLUSH ON
但没有成功。
如何让 SPOOL 立即刷新缓冲区?
你不能(据我所知)。
数据以 8K 块为单位进行假脱机处理(通常,正如 Ask Tom 所说),因此,在您填满缓冲区(或发出 spool off
)之前,您不会什么都看不到。
我正在将我的 SQLPLUS 会话记录到一个文件中。
SPOOL mylog.txt
但是如果我执行带有短输出的命令
例如
SELECT * FROM DUAL;
它不会立即放入文件中。它需要一些命令。如果它是一个具有大量输出的命令,它会立即发生。
所以我认为这是在写入文件之前需要填充的某种缓冲区。
我试过了
SET FLUSH ON
但没有成功。
如何让 SPOOL 立即刷新缓冲区?
你不能(据我所知)。
数据以 8K 块为单位进行假脱机处理(通常,正如 Ask Tom 所说),因此,在您填满缓冲区(或发出 spool off
)之前,您不会什么都看不到。