每次登陆sqlplus,都会有提示信息,如下:
sql*Plus: Release 11.1.0.6.0 - Production on Mon Dec 26 14:21:01 2016 Copyright (c) 1982,2007,Oracle. All rights reserved. Connected to: Oracle Database 11g Release 11.1.0.6.0 - Production
在shell中与sqlplus交互时,这些提示信息往往会破坏数据格式。
SILENT Option
-S[ILENT]
Suppresses all sql*Plus information and prompt messages,including the command prompt,the echoing of commands,and the banner normally displayed when you start sql*Plus. If you omit username or password,sql*Plus prompts for them,but the prompts are not visible! Use SILENT to invoke sql*Plus within another program so that the use of sql*Plus is invisible to the user.
SILENT is a useful mode for creating reports for the web using the UsqlPLS -MARKUP command inside a CGI script or operating system script. The sql*Plus banner and prompts are suppressed and do not appear in reports created using the SILENT option.
翻译:
静默选项 (-S)
sqlplus -S user/passwd@tns
此选项用来抑制所有sql*Plus信息和提示信息,包含命令行提示(sql>),命令回显信息(相当于echo off),和通常在你登陆时显示的提示信息。如果你登陆时省略了用户名和密码,sql*Plus会有提示,但是在静默模式下,提示信息是看不见的。在其他程序里用静默模式调用 sql*Plus,这个用户是看不到sql*Plus的使用情况的。
静默模式是一个非常有用的模式,例如在CGI脚本或者shell脚本里,用sqlPLUS 的MARKUP命令选项来创建基于web的报告。 sql*Plus的欢迎信息和提示信息被移除,就不会显示在用静默选项创建的报告里了。
补充:
When sql*Plus starts,and after CONNECT commands,the site profile
(e.g. $ORACLE_HOME/sqlplus/admin/glogin.sql) and the user profile
(e.g. login.sql in the working directory) are run. The files may
contain sql*Plus commands.
当 sql*Plus启动的时候,在connect命令之后,系统配置文件(例如:e.g. $ORACLE_HOME/sqlplus/admin/glogin.sql)和用户配置文件(例如:工作目录下的login.sql)会自动运行。这些文件里可能会包含一些命令。