分类: Oracle
2008-04-23 11:16:52
然而,也有由社区创建的工具符合要求,幸运的是,围绕数据库(特别是Oracle)的开源社区,在过去几年中确实爆发性增长,在OTN上Oracle有一个页面专门详细地介绍了他们涉足的所有项目,和许多社区项目,而且,在SourceForge上搜索时返回52页结果,明确提到Oracle的就有超过500个项目。
有太多的需要筛选了,因此我们将用两篇文章给大家呈现一些比较大的项目。
库和语言接口
如果你正从事软件开发,并处于选择语言和开发平台的阶段,首先你需要知道的事情是支持什么类型的数据库接口,幸运的是,有太多的选择。
DBD::Oracle()
如果你正在编写perl脚本做监控程序或使用mod_perl做web开发,没有比dbd::Oracle,用于Oracle的DBI驱动,更合适的了,他提供了所有重要的特性并让你摆脱OCI的复杂性,连接、解析、执行和提取你的核心内容。
mod_perl()
当你在perl上工作时,你会明确想要取得这个Apache模块,比将你的代码作为一个CGI运行更好,mod_perl使perl解析程序进入Apache内存空间,加速执行,缓存代码和提供持久性。
Apache::OWA()
为pl/sql开发者提供的与mod_perl并行成为伟大的Apache模块,难怪Apache进入熔合中间层?这就是一个暗示。
cx_Oracle()
如果你更喜欢用python编程,你在这里也可以找到合适的。
如果你计划用c++开发一个应用程序,这里有许多打包好的库给你提供OCI功能,从下面为你选择一个。
tinyOcci()
ORA++ OCI库 ()
OCIPlus ()
oci-wrappers ()
最近几年Oracle对php越来越重视,甚至在OTN上还专门开辟了一个php开发中心:,因此在php中对Oracle提供了大量的支持。
OCIPHPSess()
这个库帮助你为Oracle建立可缩放的php代码,通过提供给你共享会话功能实现。
跟踪+分析工具
etprof()
10046是Oracle的扩展跟踪程序,对于诊断和跟踪活动会话精确定位问题非常有用,etprof可以用于扫描、描绘和格式化这些输出文件以让可读性更佳。
Orate()
这个库提供了添加日志消息到你的pl/sql代码相容的方法以便于后面进行代码跟踪,与你在c代码中添加printf非常类似,在你代码中合适的位置可以添加“进入X过程”的消息,以便于后面对问题进行调试。
Hotsos Oracle Instrumentation Library()
Hotsos常常用于跟踪数据定位并隔离数据库中的瓶颈,使用它们附带的开创性的方法,安装这个库到目标数据库以定义,测量和利用SQL跟踪数据。
开发工具
GTKO()
有相当多的工具用于开发,但是我只想说一下值得看的工具,这个工具包括执行计划,语法高亮显示,语句跟踪以及方案浏览。它基于GTK,因此在大多数Linux发行版上都能使用,而且它的更新也比较频繁,因此它的开发还是处于活动状态的。
SchemaDiff()
作为一个顾问,我曾经访问过不少网站,并复审了许多应用曾程序,以及基础的数据库方案,经常有用重复的方案进行不同的登陆,没有人能确定最开始创建的是做什么用的,你不得不小心,在一个生产系统上不要轻易中断任何正在运作的服务,这个SchemaDiff工具可以放在适当的位置,它查看两个Oracle数据库方案并告诉你有哪些列、数据类型是不同的,的确是一款便利的工具,因此最近没有进行更新,因此不能很好地支持10g,对于需要购买的人就要小心点,你需要进行复审,测试并进行适当修改。
下一篇我们将讨论管理、安全、监视和基准测试工具。