SQLPLUS中HELP幫助的安裝與刪除

還不算暈發表於2013-11-18
手工建庫後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.

相關文章