开发工具:Oracle SQL Developer与PL/SQL Developer(转)

开发工具:Oracle SQL Developer与PL/SQL Developer
分类: Oracle 学习积累 2011-12-11 13:02 108人阅读 评论(0) 收藏 举报


之前作为一个Oracle Employee,却总是在使用PL/SQL Developer(而且是破解版),这实在有些说不过去,但是如何找到一个合心趁手的能够在有条件的情况下比SQL*PLUS更方便的工具却实在不是一件简单的事情,以前期待tora被Quest收购以后会有长足发展,可惜,并没有看到最终的结果。

之前曾经说过,PL/SQL Developer对于我最难以割舍的是completioninsight功能,当你记不住表、性能视图或者存储过程、函数的全名,PL/SQLDeveloper将会在你输入了几个字母之后自动提示。TOAD发展了那么多年,却一直没有提供相类似的功能。

但是现在完全免费的替代产品出现了,这就是Oracle SQL Developer,Oracle官方出品的开发工具,当然这个工具并不是今年才推出的,现在最新版本已经是1.5.1.54.40,但是,最早的1.0版本并不是那么好用,而现在,我可以郑重地推荐它了。

请注意,这个工具是完全免费的,可以通过这个链接下载。

以一个普通使用者(甚至说是一个并不是着重在开发上的数据库管理员)的身份比较一下Oracle SQL Developer和PL/SQL Developer。

1. 格式化的结果输出。
这一点任何一个第三方工具都做得不错,是一个基本功能。

2. 自动提示。
也就是上面提到的Completion Insight功能,可以说,Oracle SQLDeveloper拥有的功能以及速度绝对不亚于PL/SQL Developer,甚至有更人性化的表现。比如当你键入select *from,空格之后,Oracle SQLDeveloper会立刻给出一个当前用户下的所有Table的列表,如果继续键入比如DBA三个字母,那么列表将转换为DBA打头的所有数据字典。而如果你从一行的开头键入exec四个字母,那么当回车以后,Oracle SQL Developer会立刻给出一份所有可以执行的存储过程的列表。
最新版本中对于V$视图的提示有bug,相信很快就可以修改。

3. 代码美化功能。
所有使用过PL/SQL Developer的朋友们应该都知道在最近这几版中都有一个PL/SQLBeautifier的功能,可以将一大串SQL语句格式化更容易阅读的样式。同样Oracle SQLDeveloper也提供了这样的功能,称之为Format,快捷键是Ctrl+F7。

4. 显示SQL的执行计划。
在Oracle SQL Developer中快捷键是F6,同时也提供了显示Autotrace的结果,快捷键是F10(最新版本中似乎有点儿小bug,有时候需要按两次F10才能显示)

5. 会话监控。
在PL/SQLDeveloper中我们可以显示当前数据库中的所有会话,点击某一个会话,在下方会显示该会话正在执行的SQL,正在经历的等待事件以及其它一些可以自定义的感兴趣的信息,Oracle SQL Developer同样提供了这个功能,可以在Tools -> MonitorSessions菜单中找到它。

6. 快捷显示对象信息。
比如写了一条SQL语句,其中牵涉到一张表,我们可能会想立刻看到这张表有哪些字段,这张表上有哪些约束哪些索引,如果是分区表有哪些分区,在PL/SQL Developer中我们会选中SQL语句中这张表的名字,然后右键 -> View,同样Oracle SQLDeveloper也提供了这个功能,同样可以鼠标右键选中表名 -> Popup Describe,另外还有快捷键Shift+F4。

7. 编写以及调试存储过程。
我并不有太多的机会去编写一个很长的存储过程,因此这点我不敢对PL/SQL Developer和Oracle SQLDeveloper做过多的比较,但是我知道好几个版本的PL/SQLDeveloper(包括最新版)在编译存储过程的某些特定语句的时候会导致ORA-600错误,而在SQL*Plus里面直接编译则完全没有问题,很多客户出现了这个问题寻求我们的帮助,而我们的回答是,抱歉,这是PL/SQLDeveloper的问题我们不做技术支持,但是如果你要是改用了Oracle SQLDeveloper呢?恭喜你,虽然这是个免费的产品,但是仍然可以得到原厂商的技术支持。

好吧,具有了上述这些功能,至少对于我来说,Oracle SQLDeveloper已经完全具备了日常管理数据库的所有需要点,而且用起来一点儿也不觉得别扭,只是可能快捷键的改变需要适应一下。比如在PL/SQLDeveloper中执行一个SQL是F8,而Oracle SQLDeveloper则是F9,显示执行计划一个是F5而另外一个是F6,但是这都是小问题,不是吗?要知道人生总是在不断变化的,呵呵。

接下来是Oracle SQL Developer的闪光点,这些闪光点会让Oracle SQL Developer更加可爱。

1. 自动更新。
Help -> Check for updates,将会自动将Oracle SQL Developer更新到最新的版本,包括多种插件。

2. 插件。
这是多么令人兴奋的功能,要知道,在浏览器领域的Firefox,在Java开发工具领域的Eclipse,都是因为支持插件(或者称之为扩展)体系,并且有大量丰富的插件才成为了焕然一新的工具,噢,我知道PL/SQLDeveloper也是支持Plugins的,但是这么多年了,Plugins始终只有那几个。而Oracle SQLDeveloper才推出多久,我们已经可以看到像Fourth Elephant的Insider这样强大的扩展了,Insider一眼看上去简直就是一个Quest Spotlight for Oracle,虽然我对这个插件不是那么感兴趣,但是你得承认它确实很强大。

3. 跨平台。
PL/SQL Developer只能在Windows上使用,而Oracle SQL Developer目前已经支持了Windows,MacOS X,Linux,这得益于Java的跨平台特性,好吧,我承认Java用于桌面应用确实速度有些让人不满意,但是对于Oracle SQLDeveloper来说,仅仅是启动速度有些慢而已,实际使用中仍然是行云流水的。而且得益于依靠Java,Oracle SQLDeveloper连接数据库,并不需要安装Oracle数据库客户端,这确实很方便。

4. Reports。
一个新安装的Oracle SQLDeveloper就已经包含了一个Reports标签页,内置了一部分可以用于数据库管理的脚本,并且可以允许使用者自定义自己需要日常使用的脚本,而且支持复杂的父子视图效果,就是类似于SessionViewer的效果,点击父结果中的某一行,能够将更详细的关联信息显示在子结果中。每个DBA都有自己积累的一套SQL,你可以将它们全部放在Oracle SQL Developer中。

5. 多连接。
在同一个Oracle SQL Developer界面里,可以连接多个数据库实例,虽然这不是什么复杂的功能,但是,PL/SQL Developer却做不到。

6. tkprof直观显示。
用Oracle SQL Developer直接打开一个trc文件,将会出现一个图形化的界面,并且包含了几乎所有的tkprof功能,比如可以按照某个指标进行排序。

7. 免费。
有什么东西比免费更吸引人呢?曾经在itpub上做过一个投票调查,目前使用PL/SQL Developer的OracleDBA或者开发人员占据了超过60%,而其中绝大部分都在使用破解版。改为Oracle SQLDeveloper吧,你不用再去辛辛苦苦找最新的破解,你也可以自豪地说我现在用的开发工具是Free的,是正版的。

好吧,我承认Oracle SQL Developer是一个新产品,在很多小功能上确实还没有像PL/SQLDeveloper那样丰富。比如说也许我们需要一个command window,一个类似于SQL*Plus的界面,可以输入诸如archivelog list或者show sga这样的命令,也可以仅仅输入edit 表名就可以弹出更改表结构的界面,输入edit存储过程名就可以弹出编辑存储过程的界面;也许我们需要一个textimport工具,可以方便地通过图形化界面将一个csv文件中的记录插入到一个表中;也许我们需要一个datagernerater工具可以方便地生成测试数据。

但是,这些都是小事儿,没有也就没有吧。另外,请相信Oracle的研发实力,短短的一年时间,Oracle SQL Developer已经开始引人瞩目了,而且Oracle一直在大力地研发这个工具在频繁地发布新版本,所以也许不久的将来这个工具将更好更强大。在这里可以看到大量使用者提出的Feature Request,很多已经被接收,将会出现在下一个版本中。

这篇文章不是一个正规的Oracle SQLDeveloper的产品功能或者说使用介绍,这仅仅是因为我作为一个普通的Oracle数据库顾问发现了一个免费的好用的工具(只不过恰巧这个工具是Oracle推出的而已)而感到欣喜之后的随意而为的文章,我很期待与已经在使用Oracle SQLDeveloper和看到这篇文章转而使用它的各位做更多的经验交流。

用一个使用者的感想做结,这个感想在Oracle SQL Developer的主页上也可以找到。


[size=large][color=red]TIPS:快捷键 Ctrl+F7。[/color][/size]
本人正在用的,很好用,是中文免安装版的,下面是详细介绍: PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。 PL/SQL Developer主要特性:   PL/SQL编辑器,功能强大——该编辑器具有语法加强、SQLPL/SQL帮助、对象描述、代码助手、编译器提示、PL/SQL完善、代码内容、代码分级、浏览器按钮、超链接导航、宏库等许多智能特性,能够满足要求性最高的用户需求。当您需要某个信息时,它将自动出现,至多单击即可将信息调出。   集成调试器(要求Oracle 7.3.4或更高)——该调试器提供您所需要的全部特性:跳入(Step In)、跳过(Step Over)、跳出(Step Out)、异常时停止运行、断点、观察和设置变量、观察全部堆栈等。基本能够调试任何程序单元(包括触发器和Oracle8 对象类型),无需作出任何修改。   PL/SQL完善器——该完善器允许您通过用户定义的规则对SQLPL/SQL代码进行规范化处理。在编译、保存、打开一个文件时,代码将自动被规范化。该特性提高了您编码的生产力,改善了PL/SQL代码的可读性,促进了大规模工作团队的协作。   SQL 窗口——该窗口允许您输入任何SQL语句,并以栅格形式对结果进行观察和编辑,支持按范例查询模式,以便在某个结果集合中查找特定记录。另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。   命令窗口——使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus相同的感观,另外还增加了一个内置的带语法加强特性的脚本编辑器。这样,您就可以开发自己的脚本,无需编辑脚本/保存脚本/换为SQL*Plus/运行脚本过程,也不用离开PL/SQL Developer集成开发环境。   报告——PL/SQL Developer提供内置的报告功能,您可以根据程序数据或Oracle字典运行报告。PL/SQL Developer本身提供了大量标准报告,而且您还可以方便的创建自定义报告。自定义报告将被保存在报告文件中,进而包含在报告菜单内。这样,运行您自己经常使用的自定义报告就非常方便。   您可以使用Query Reporter免费软件工具来运行您的报告,不需要PL/SQL Developer,直接从命令行运行即可。   工程——PL/SQL Developer内置的工程概念可以用来组织您的工作。一个工程包括源文件集合、数据库对象、notes和选项。PL/SQL Developer允许您在某些特定的条目集合范围之内进行工作,而不是在完全的数据库或架构之内。这样,如果需要编译所有工程条目或者将工程从某个位置或数据库移动到其他位置时,所需工程条目的查找就变得比较简单,   To-Do条目——您可以在任何SQLPL/SQL源文件中使用To-Do条目快速记录该文件中那些需要进行的事项。以后能够从To-Do列表中访问这些信息,访问操作可以在对象层或工程层进行。   对象浏览器——可配置的树形浏览能够显示同PL/SQL开发相关的全部信息,使用该浏览器可以获取对象描述、浏览对象定义、创建测试脚本以便调试、使能或禁止触发器或约束条件、重新编译不合法对象、查询或编辑表格、浏览数据、在对象源中进行文本查找、拖放对象名到编辑器等。   此外,该对象浏览器还可以显示对象之间的依存关系,您可以递归的扩展这些依存对象(如包参考检查、浏览参考表格、图表类型等)。   性能优化——使用PL/SQL Profiler,可以浏览每一执行的PL/SQL代码行的时序信息(Oracle8i或更高),从而优化您SQLPL/SQL的代码性能。   更进一步,您还可以自动获取所执行的SQL语句和PL/SQL程序统计信息。该统计信息包括CPU使用情况、块I/O、记录I/O、表格扫描、分类等。   HTML指南——Oracle目前支持HTML格式的在线指南。您可以将其集成到PL/SQL Developer工作环境中,以便在编辑、编译出错或运行时出错时提供内容敏感帮助。   非PL/SQL对象——不使用任何SQL,您就可以对表格、序列、符号、库、目录、工作、队列、用户和角色进行浏览、创建和修改行为。PL/SQL Developer提供了一个简单易用的窗体,只要将信息输入其中,PL/SQL Developer就将生成相应的SQL,从而创建或换对象。   模板列表——PL/SQL Developer的模板列表可用作一个实时的帮助组件,协助您强制实现标准化。只要点击相应的模板,您就可以向编辑器中插入标准的SQLPL/SQL代码,或者从草稿出发来创建一个新程序。   查询构建器——图形化查询构建器简化了新选择语句的创建和已有语句的修改过程。只要拖放表格和视窗,为区域列表选择专栏,基于外部键约束定义联合表格即可。   比较用户对象——对表格定义、视图、程序单元等作出修改后,将这些修改传递给其他数据库用户或检查修改前后的区别将是非常有用的。这也许是一个其他的开发环境,如测试环境或制作环境等。而比较用户对象功能则允许您对所选对象进行比较,将不同点可视化,并运行或保存应用必要变动的SQL脚本。   导出用户对象——该工具可以导出用户所选对象的DDL(数据定义语言)语句。您可以方便的为其他用户重新创建对象,也可以保存文件作为备份。   工具——PL/SQL Developer为简化日常开发专门提供了几种工具。使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。   授权——大多数开发环境中,您不希望所有数据库都具备PL/SQL Developer的全部功能性。例如,数据库开发中您可以允许PL/SQL Developer的全部功能性,而数据库测试中您可以仅允许数据查询/编辑和对象浏览功能,而数据库制作中您甚至根本不希望PL/SQL Developer访问。利用PL/SQL Developer授权功能,您可以方便的定义特定用户或规则所允许使用的功能。   插件扩展——可以通过插件对PL/SQL Developer功能进行扩展。Add-ons页面提供插件可以免费下载。Allround Automations或其他用户均可提供插件(如版本控制插件或plsqldoc插件)。如果您具备创建DLL的编程语言,您还可以自己编写插件。   多线程IDE——PL/SQL Developer是一个多线程IDE。这样,当SQL查询、PL/SQL程序、调试会话等正在运行时,您依然可以继续工作。而且,该多线程IDE还意味着出现编程错误时不会中止:您在任何时间都可以中断执行或保存您的工作。   易于安装——不同于SQL*Net,无需中间件,也无需数据库对象安装。只需点击安装程序按钮,您就可以开始安装从而使用软件了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值