SQLPlus的改进
哪个工具是DBA每天最常用的?除了很多DBA使用图形界面的工具外,使用最多的就是SQL Plus这个命令行方式的工具了。
尽管在oracle 10G中由于企业管理器的大大增强可能使SQL Plus的地位有所改变,但这个普遍使用的小工具仍然被保留下来了——它对于初学者和有经验的DBA都适用。我们下面将会探讨一下SQL*Plus 10.1.0.2中一些有用的新特性。但是你必须要有随Oracle 10G软件安装的SQL Plus,而不能使用9i客户端连接10G服务器的9i的SQL Plus。
提示
我当前是以哪个用户登录的?当前身份是什么?在长时间使用9i的sqlplus后,很多DBA会犯这种“迷糊”。你需要通过查询语句来解决这些迷惑。在10g的sqlplus中,你可以通过设置在SQL>提示标识中增加这些信息了:
通过以上设置,你的sqlplus提示标识就成了以下格式了:SQL> set sqlprompt "_user _privilege> "
SYS AS SYSDBA>
这就表明当前的登录帐号是SYS,身份是SYSDBA。请注意在上面语句中使用了两个特殊的预定义道德变量:_user和_privilege,分别定义了当前用户和这个用户的登录
身份(权限)。现在我们再增加一些其他内容。比如我除了想知道以上信息外,还想知道当前的登录时间:
再增加一个连接信息看,这样就可以指出你登录的是哪个服务器的:SQL> set sqlprompt "_user _privilege on _date>" SYS AS SYSDBA on 31-8月 -05>
但是前面的当前时间信息只有日期,如果需要精确到当前的确切时间呢:SQL>set sqlprompt "_user on _date at _connect_identifier>" SYS on 31-8月 -05 at teng>
会话已更改。SYS on 31-8月 -05 at teng>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
SYS on 2005-08-31 16:20:15 at teng>
你只要将上面的内容存在$ORACLE_HOME/sqlplus/glogin.sql中,那每次登录的提示信息都是你所需要的了。
不再需要双引号
自从internal的登录方式在9i当中不再被支持后,很多DBA就抱怨:如何可以不输入sys用户的密码来维护系统的安全?答案就是在操作系统提示符下用双引号的方法进入:
需要多输一对双引号也引起了不少抱怨。而在10g当中你就无需再输入双引号了:$sqlplus “/as sysdba”
增强的文件管理性$sqlplus / as sysdba
在9i中,当你在sqlplus进行操作时,你会希望将一些有用的语句存下来以便以后使用,这时你可以使用save命令。Save命令会将从最后一次执行save开始以后的所有脚本存下来,这样就会将你执行过的脚本存成分散的文件。如:
这样存下来1.sql、2.sql、3.slq三个脚本,三个脚本的内容分别为select 1 …、select 2 …、select 3 …。这样的话你就需要手工将他们再合成一个脚本以便以后使用。SQL> select 1 ... SQL> save 1 Created file 1.sql SQL> select 2 ... SQL> save 2 Created file 2.sql SQL> select 3 ... SQL> save 3 Created file 3.sql