如何利用脚本文件来管理Oracle数据库
2014-09-16来源:易贤网

如可以降低命令的输入量;如可以将调试测试通过的命令保存起来以便于下次需要的时候再次使用;如可以避免输入上的错误等等。虽然说,Oracle数据库提供的SQL*Plus程序编辑工具提供了一定程度的现实、编辑、修改SQL缓冲区命令的功能,但是,其对命令的编辑能力是非常弱小的,操作起来也不如脚本文件那么方便。故很多数据库管理专家喜欢把一些常用的命令制作成脚本文件。在以后需要用的时候,直接调用脚本文件即可。如笔者现在保存的有用脚本文件已有近百个。在需要用的时候,只要把脚本文件拿过来,有的可以直接拿来执行;有的只要稍微根据实际情况修改一下,也可以使用。

所以,笔者觉得脚本文件是Oracle数据库管理中的一个不可缺的工具,其实,利用脚本文件管理Oracle数据库也不是大家想像的那么困难。通过这篇文章,或许大家就可以消除这方面的恐惧感。

第一步:创建脚本文件。

在Oracle数据库重,创建脚本文件的方式很多。如可以直接在记事本中创建脚本文件,也可以通过SQL*Plus工具直接创建。不过,笔者的意见是,在SQL*Plus中直接创建脚本文件的话,比较麻烦。这主要是因为在SQL*Plus工具中,命令编辑能力非常有效。如不能够使用键盘上的箭头键定位输入的位置,不能够使用DEL键删除输入的内容等等。而且阅读起来也比较困难。

笔者喜欢的作法是,现在一些编辑器中,如文本文件中先把脚本语句写好,然后直接复制到SQL*Plus工具中进行测试。若测试通过的话,即就可以把它保存起来,以待下次有需要的时候使用。所以,利用第三方的脚本语句编辑工具,有一个缺陷就是不能够直接对语句进行测试。而需要人工的把它复制粘贴到Oracle环境中进行测试。不过这对于命令编辑来说,这点功夫还是值得的。毕竟在第三方工具中编辑脚本语句,要比在SQL*Plus中,编辑脚本要简单的不知道多少倍。笔者也搞不清楚,像Oracle这么大的数据库管理软件,为什么不开发一个像样的脚本语句编辑器呢。

另外需要说明的一点就是,在SQL*Plus语句中,虽然可以对未测试或者有错误的脚本语句进行保存。不过,这么做的话,只会浪费时间。为了提高脚本语句的可用性,笔者是强烈建议,数据库管理员不要太过于自信,脚本语句编写完成后,一定要进行测试。只有经过测试表明这个脚本语句有用后,才能对其进行归档。

其次,若采用记事本等工具编写脚本语句的时候,为了在Oracle环境中可以直接调用这个脚本文件,最好把脚本文件的扩展名改为SQL。这是Oracle数据库承认的脚本文件扩展名。

还有对于初次接触脚本文件的数据库管理员来说,对于脚本文件的格式要稍微注意一点。大体上,跟普通的SQL语句类似。只是在两个方面要引起注意。一是在脚本文件的最后一行,一定要添加“/”符号。这个符号的作用是,告示数据库现在可以执行这条语句了。二是在SQL语句的最后一条语句中,不要添加“;”号。否则的话,下次运行这个脚本语句的时候,会出现错误。

最后,在编写脚本文件的时候,要注意脚本文件的变量问题。若脚本文件需要外界传入参数,则在执行的时候,SQL*Plus工具,会使用这些外部传入的值替换脚本文件中的替换参数,所以,脚本文件中替换参数的生命方式跟Oracle数据库中函数与过程的变量声明方式有一点区别。在脚本文件中,在使用替换参数的时候,不需要事先声明。而是在要用到的时候,直接利用&1 &2等来表示。

第二步:编辑脚本文件。

在我们使用脚本文件的时候,往往需要根据实际情况,对其进行稍微的调整。对脚本文件进行编辑,也有两种方式。一是通过SQL*Plus工具,二是第三方独立的脚本编辑软件。

对于一些调整不大的脚本文件,我们可以直接利用SQL*Plus工具打开,然后进行编辑。但是,对于需要进行大量修改的脚本文件,则笔者建议数据库管理员采用第三方独立的脚本编辑软件。原因很简单,就如同上面所说的那样,SQL*Plus工具脚本命令编辑功能非常的薄弱。若采用这个工具对现成的脚本语句进行编辑的话,则可能工作量还是重新编写一个来的轻。所以,数据库管理员要根据实际的情况,选择合适的脚本编辑工具。

另外,在编辑的过程中,要注意语法的正确性。特别是要注意,不能够改变其固有的格式。如不要不小心删除了最后的“/”符号结束,等等。笔者现在喜欢用的时微软自带的记事本作为脚本的编辑工具。他比较方便,而且也不用再去网上找专业的脚本编辑工具。即省事,又能够我们数据库管理员的常规需求,何乐而不为呢!

更多信息请查看IT技术专栏

推荐信息