在进行数据库管理的时候,忽然一下记不起命令和语法,特别是给客户做演示,或者是现场实施,有没有办法查手册,没有办法,实在是尴尬,我们使用linux的时候,也是通过大量的命令行命令来进行系统的维护,如此多的命令,难免会对一些命令遗忘,不过linux里的man命令,可以帮我们找到相应命令的大部分的用法描述,根据这个man命令,我们就可以减少开篇碰到的这样的尴尬了。
其实在Oracle里也有这样的一个在线帮助的系统,不过可能是大家么有安装,或者安装的默认的形式,所以不知道Oracle已经提供这样的方式,或者默认的方式功能介绍的太模糊,而慢慢的淡化了这个工具的使用,
今天这里,我就带着大家一起安装开启和扩展我们的Oracle的在线帮助系统
Oracle的在线帮助系统是通过ystem.help这个表来实现的,这个表里储存了Oracle里sql信息
敲入
SQL>desc system.help;
名称 是否为空? 类型
----------------------------------------- -------- --------------
TOPIC NOT NULL VARCHAR2(50)
SEQ NOT NULL NUMBER
INFO VARCHAR2(80)
这里的topic就是帮助主题。
如果有这个表存在,就是你已经安装了Oracle的帮助系统了。
你可以继续看看
SQL>select count(1) from system.help;
COUNT(*)
----------
978
这里你安装的帮助主题是978条(版本不同,这里的数目上有一定的差异,以你的实际数据为准),不过这里太少了, 你没有安装扩展的帮助系统,这里的帮助太少,对我们还是没有实际意义。
不过,虽然是默认的安装,没有安装扩展,不过我们还是可以先试试
SQL>? create index;
或者
SQL>help create index;
这里的?和help就是帮助的命令。
是不是出了帮助信息了,不过好像内容不是很丰富,太少了,对我们没有太多的帮助,下面我就带着大家一起来开启帮助系统,并且安装我这里提供的扩展系统,得到更多的帮助。
在$ORACLE_HOME/sqlplus/admin/help里我们可以找到下面的文件,
helpbld.sql
helpdrop.sql
helpus.sql
hlpbld.sql
这四个文件,
这就是oracle自带的help脚本。可以执行
helpbld.sql来安装oracle默认的help, 。
这里我们需要用system这个帐号登录,并执行这个sql文件, 还是用system来执行,这里会提示你输入两个参数,看了这个源文件,运行时两个参数一个是当前路径,一个是helpus.sql, 执行完就安装了help,
就可以使用我上面的那些方式。这个是默认会安装的。
安装完这里的helpbld.sq也就开启了我们Oracle的帮助系统,但是这里只是默认的安装,主题太少,而且帮助内容太简单。
大家下在我给提供的 help.sql
下载后可以先运行
上面目录里提供的 helpdrop.sql
SQL>@!helpdrop.sql
然后执行SQL>@!helpbld.sql
不过和上面不同的是,这里的第二个参数是你的help.sql的路径, 执行过程中有对象不在的错误,或者是是有一些和默认的有冲突,可以忽略这些错误。 你可以分析一下,应该是没有关系的。
现在我们在来看看帮助吧
成功以后,我们执行一下
SQL> select count(*) from system.help ;
COUNT(*)
----------
5085
多了很多条了
呵呵呵一下多了好多条了哟
SQL> help create database;
CREATE DATABASE
---------------
Use this command to create a database, making it available for
general use, with the following options:
* to establish a maximum number of instances, data files, redo
log files groups, or redo log file members
* to specify names and sizes of data files and redo log files
* to choose a mode of use for the redo log
* to specify the national and database character sets
Warning: This command prepares a database for initial use and erases
any data currently in the specified files. Only use this command
when you understand its ramifications.
.......这里还要好多有关create table的帮助信息,我就不写了。
有了这个帮助系统,要查一个命令的详解,正是太方便叻。
有这样的帮助,我们再也不怕忘记命令的语法的尴尬了。
运行一下? topic就可以了 哟
查一查 topic
比如 我们忘记了有关database link的命令
select distinct topic from system.help where topic like upper('%database%');
DROP DATABASE LINK
CREATE DATABASE LINK
然后根据这里的topic来运行
SQL> ? create database link;
CREATE DATABASE LINK
--------------------
Use this command to create a database link. A database link is a
schema object in the local database that allows you to access
objects on a remote database or to mount a secondary database in
read-only mode. The remote database can be either an Oracle or a
non-Oracle system.
CREATE [PUBLIC] DATABASE LINK dblink
[CONNECT TO user IDENTIFIED BY password]
[USING 'connect_string']
For detailed information on this command, see the Oracle8 Server SQL
Reference.