特定のモジュールに関連するデータベースから削除する必要のあるコードがあります。 dba_sourceから直接削除するのは安全ですか?すなわちOracle 10gのdba_sourceテーブルからコードを削除することは可能ですか?
delete from dba_source where name = 'MODULE_NAME';
または、すべてのプロシージャとパッケージ名を取得して具体的に削除する必要がありますか?
特定のモジュールに関連するデータベースから削除する必要のあるコードがあります。 dba_sourceから直接削除するのは安全ですか?すなわちOracle 10gのdba_sourceテーブルからコードを削除することは可能ですか?
delete from dba_source where name = 'MODULE_NAME';
または、すべてのプロシージャとパッケージ名を取得して具体的に削除する必要がありますか?
いいえ、それは安全ではありません。
[dba | user | all] _xxxはすべてビューであり、基礎となる構造はわかりません。 Oracle内部表は正規化されておらず、結果を予期しないものにすることがあります。
これはまったくできないようです。少なくとも、試してみたところ、十分な権限がなかったので、oracleがこの完全な停止を妨げるようです。
個々の行を削除してコードが破損する可能性があるので安全ではないようです。 コンパイルされたコードは再コンパイルされるまでokです。私はammoQによって指摘されているように、コンパイルされたバージョンは削除しないと思います。
ベストドロップパッケージ/手順を実行する...
私はうまくいかないと思います。たとえOracleがそうすることができても、それらのパッケージとプロシージャのコンパイルされたバージョンは削除されません。 –
すべてがパッケージに入っているので、パッケージを削除することができました。 – Matt