我希望有一个CI构建(例如,Hudson)设置并拆除Oracle 11g架构,作为一个相当普通的JSF / JPA应用程序的每晚构建/测试周期的一部分.
最明显的方法是删除并重新创建所有表.虽然这感觉相当标准(至少,这就是Hibernate / JPA工具会为您自动完成的),但我已经让Oracle DBA警告我,在重复的对象创建/删除周期后,Oracle目录将会碎片化.最终这会导致性能问题,因为SYSTEM表空间无法进行碎片整理/合并.
我的问题是:
>碎片是一个真正令人担忧的问题,还是在典型的webapp开发环境中你不需要担心的事情?
>如果碎片真的是一个问题,是否有更好的方法来拆除和重建Oracle中的模式而不是DROP TABLE / CREATE TABLE?
谢谢!
不要相信那些DBA
当使用本地管理的表空间(LMT)时,至少有10g及以上,这应该不是问题.
即使这确实导致了任何碎片,我也非常怀疑您是否可以衡量其影响 – 特别是在用于CI的数据库上.