1 sqlplus交互界面存在的问题
sqlplus是ORACLE数据库的最重要的官方命令行客户端软件,是DBA的必备工具,使用它可以完成几乎全部的管理任务。然而,sqlplus的交互界面并不是非常友好,输入命令时不具有历史命令记录功能;默认的输出结果更是不堪入目。在易用性方面,sqlplus确实比mysql客户端差了不少。
既然sqlplus交互模式存在这么多的不便,那么不如干脆直接使用非交互模式使用它,再借助操作系统提供的shell工具集来协助完成更复杂的任务。sqlplus本身就是支持非交互式使用的,而且支持的非常好,符合一般的Unix设计哲学:从标准输入读取命令,把结果写到标准输出。
2 sqlplus的两种非交互式使用方式
sqlplus在非交互模式下,可以从两个地方为其提供sql命令:一是通过外部文件,而是通过标准输入。
2.1 通过外部命令文件
sqlplus 用户名/密码@服务器IP/侦听服务名 @命令文件名
下面举一个例子。
命令文件名为 1.sql,内容如下:
select count(*) from dba_obje