手工建库后SQLPLUS中HELP默认是没有的,下面记录下如何安装及删除SQLPLUS中的HELP命令。
注意:SQLPLUS的HELP命令只有在数据库OPEN时才能使用。非OPEN状态使用HELP也报错:SP2-0171: HELP system not available.
实验如下: 注意:
ORACLE 11.2.0.4环境下实验SYSDBA与普通DBA皆可,但也有说法是需要用SYSTEM用户。
1.使用help报错:SP2-0171: HELP system not available.
SYS@ bys3>
help
SP2-0171: HELP system not available.
SYS@ bys3>?
SP2-0171: HELP system not available.
##################################################
2.在$ORACLE_HOME/sqlplus/admin/help下运行相应的脚本
[oracle@bys3 help]$ ls
helpbld.sql helpdrop.sql helpus.sql hlpbld.sql
安装SQLPLUS的帮助脚本运行顺序是:
首先运行helpbld.sql脚本
第一个提示输入变量名时:在Enter value for 1: 输入/hlpbld.sql脚本所在的绝对路径,这里是/u01/app/oracle/product/11.2.0/dbhome_1/sqlplus/admin/help/ 回车
第二个提示输入变量名时:Enter value for 2: 输入helpus.sql的绝对路径,这里是/u01/app/oracle/product/11.2.0/dbhome_1/sqlplus/admin/help/helpus.sql
观察helpus.sql脚本内容,可以发现里面的语句都是向SYSTEM.HELP表插入数据的。因此
推测,只要具有在SYSTEM用户下创建表权限的用户就可以成功执行此脚本即(
故推测SYSDBA与普通DBA用户都可以,11.2.0.4环境下实验SYSDBA与普通DBA皆可)。
如下:
@表示运行脚本,?表示ORACEL_HOME变量
SYS@ bys3>
@?/sqlplus/admin/help/helpbld.sql
Enter value for 1: /u01/app/oracle/product/11.2.0/dbhome_1/sqlplus/admin/help/
Enter value for 2: /u01/app/oracle/product/11.2.0/dbhome_1/sqlplus/admin/help/helpus.sql
##################################################
3.此时进入SQLPLUS,可以使用帮助:
SYS@ bys3>help
HELP
----
Accesses this command line help system. Enter HELP INDEX or ? INDEX
for a list of topics.
You can view SQL*Plus resources at
http://www.oracle.com/technology/documentation/ HELP|? [topic]
##################################################
4.删除SQLPLUS的帮助--运行$ORACLE_HOME/sqlplus/admin/help下的helpdrop.sql
SYS@ bys3>help
HELP
----
Accesses this command line help system. Enter HELP INDEX or ? INDEX
for a list of topics.
You can view SQL*Plus resources at
http://www.oracle.com/technology/documentation/
HELP|? [topic]
运行删除脚本:
SYS@ bys3>
@?/sqlplus/admin/help/helpdrop.sql
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@bys3 help]$ sqlplus / as sysdba
SYS@ bys3>select status from v$instance;
STATUS
------------
OPEN
SYS@ bys3
>help
SP2-0171: HELP system not available.
SYS@ bys3>?
SP2-0171: HELP system not available.