CIビルド(例:Hudson)を設定し、かなりバニラのための夜間ビルド/テストサイクルの一部としてOracle 11gスキーマを作成したいJSF/JPAアプリケーション。カタログを断片化せずにCIビルド用にOracleスキーマを設定/解除する
これを行う最も明白な方法は、すべてのテーブルを削除して再作成することです。これはかなり標準的ですが(少なくともHibernate/JPAツールが自動的にあなたのために行うことですが)、私はOracle DBAにオブジェクトの作成/削除サイクルを繰り返すとOracleカタログが断片化すると警告しました。最終的には、SYSTEM表領域のデフラグ/合体ができないため、パフォーマンスの問題が発生します。
私の質問は以下のとおりです。
- は、断片化が本物の関心事である、またはあなたは、一般的なWebアプリケーションの開発環境で心配する必要があるものではないのですか?
- フラグメンテーションが本当に問題になる場合は、DROP TABLE/CREATE TABLEよりもOracleでスキーマを解体して再作成する方が良いでしょうか?
ありがとう!
LMTは、「SYSTEM」テーブルスペースがローカル管理されていると仮定して、誰かが断片化していた懸念を排除すべきです。 ASMが何かを追加することは私には明らかではありません。また、ASMは政治的にも技術的にも争点となっている傾向があります。なぜなら、DBAにストレージ管理タスクをより多く処理させることができるからです。一方、LMTは古いディクショナリの管理対象表領域(DMT)を脳死していることは明らかです。 –
@JustinCave:ヒントのおかげで。私はASMに関するコメントを削除しました(とにかく確かではありませんでした) –