Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1765775
  • 博文数量: 323
  • 博客积分: 5970
  • 博客等级: 大校
  • 技术积分: 2764
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-03 23:13
文章分类

全部博文(323)

文章存档

2018年(2)

2017年(11)

2016年(10)

2015年(27)

2014年(2)

2013年(30)

2012年(197)

2011年(44)

分类: Oracle

2012-04-13 11:46:45

开启Oracle的帮助系统--不再害怕忘记命令的尴尬

在进行数据库管理的时候,忽然一下记不起命令和语法,特别是给客户做演示,或者是现场实施,有没有办法查手册,没有办法,实在是尴尬,我们使用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的帮助系统,但是这里只是默认的安装,主题太少,而且帮助内容太简单。

大家下在我给提供的 

下载后可以先运行

上面目录里提供的 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.

太好了吧。这样再也不用担心忘记命令了,不过,作为一个熟练的DBA人员,记住大部分的命令,而且熟练的在客户面前敲出来,能获得更好的赞赏哟。所以这个工具是一个以备不时不需的作用,而不要成为你偷懒的工具了哟。

 

阅读(1191) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~