如何在oracle中执行db脚本并输出日志文件

时间:2018-03-15 09:11:40

标签: sql oracle sqlplus

通常在DB2中,如果我想执行db脚本并将执行结果输出到日志文件,我将执行以下操作:

db2 -tvf x.sql > x.log

因此,我可以阅读x.log来检查我的脚本是否正确执行。

Oracle db怎么样?

我知道脚本运行如下:

SQL>@x.sql

但是我怎样才能像在DB2中那样输出执行结果?

请告知。

2 个答案:

答案 0 :(得分:0)

使用SPOOL

SPOOL filename.txt
@x.sql
SPOOL OFF
  

将查询结果存储在文件中,或者可选择将文件发送到打印机

您可以使用的其他选项:

  

CRE [ATE]

     

创建一个具有指定名称的新文件。

     

REP [LACE]

     

替换现有文件的内容。如果该文件不存在,   REPLACE创建文件。这是默认行为。

     

APP [END]

     

将缓冲区的内容添加到指定文件的末尾。

     

OFF

     

停止假脱机。

     

OUT

     

停止假脱机并将文件发送到您计算机的标准   (默认)打印机。某些操作不提供此选项   系统

答案 1 :(得分:0)

看起来像FAQ,尝试使用sqlplus的shell重定向:

sqlplus  your_connect_string_here  @x.sql  1>x.out 2>&1

还要考虑在脚本内部使用set termout onspool命令来进一步调整行为。有关所有详细信息,请参阅Oracle sqlplus文档。