分类:
2008-10-16 19:10:12
作为一个DBA,你肯定有大量的软件、脚本和应用程序来帮助你完成日常的操作,其中一些可能是你自己编写的,另外一些可能是提供了大量的对你帮助非常大的特性的商业解决方案。
然而,也有由社区创建的工具符合要求,幸运的是,围绕数据库(特别是)的开源社区,在过去几年中确实爆发性增长,在OTN上有一个页面专门详细地介绍了他们涉足的所有项目,和许多社区项目,而且,在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,对于需要购买的人就要小心点,你需要进行复审,并进行适当修改。
围绕数据库(特别是Oracle)的开源社区,在过去几年中确实爆发性增长,本文将涉及到在Oracle管理,,基准和监视开源工具的讨论。
管理工具
JoraStat()
这个工具可以帮助你预测数据库需要的改变,如果你在你的数据库中绘制了趋势图,你就可以抢先一步对其做好规划,使用java作为前端,使用过程将其集成到数据库中,在sourceforge上的项目页面还是活动的,因此你可以十分正式地查看其修改和更新内容,它仍然处于beta阶段。
EasyStandby for Oracle()
上个月我在Database Journal上写了一篇关于在Oracle标准版上手工创建一个standby数据库的文章,正常情况下需要Oracle企业版,它包括了DataGuard,它才是完整的Oracle standby解决方案,但是价格因素也需要考虑,企业版每处理器的价格是标准版的10倍,尽管不能从Oracle获得支持,足够的测试,但这个工具被证明对你的织是有用的和有帮助的,检查一下代码,在你的沙盒开发环境中测试几个月,如果它符合你的需求,那么你就走运了。
[1]