2009-07-15 16 views
1

特定のモジュールに関連するデータベースから削除する必要のあるコードがあります。 dba_sourceから直接削除するのは安全ですか?すなわちOracle 10gのdba_sourceテーブルからコードを削除することは可能ですか?

delete from dba_source where name = 'MODULE_NAME'; 

または、すべてのプロシージャとパッケージ名を取得して具体的に削除する必要がありますか?

+2

私はうまくいかないと思います。たとえOracleがそうすることができても、それらのパッケージとプロシージャのコンパイルされたバージョンは削除されません。 –

+0

すべてがパッケージに入っているので、パッケージを削除することができました。 – Matt

答えて

5

いいえ、それは安全ではありません。

[dba | user | all] _xxxはすべてビューであり、基礎となる構造はわかりません。 Oracle内部表は正規化されておらず、結果を予期しないものにすることがあります。

0

これはまったくできないようです。少なくとも、試してみたところ、十分な権限がなかったので、oracleがこの完全な停止を妨げるようです。

個々の行を削除してコードが破損する可能性があるので安全ではないようです。 コンパイルされたコードは再コンパイルされるまでokです。私はammoQによって指摘されているように、コンパイルされたバージョンは削除しないと思います。

ベストドロップパッケージ/手順を実行する...

関連する問題