2009-07-15 2 views
1

Nachdem Sie einen Code gefunden haben, der aus einer Datenbank entfernt werden muss, die sich auf ein bestimmtes Modul bezieht. Ist es sicher, es direkt von dba_source zu entfernen? d. h.Ist es sicher/möglich, Code aus der Tabelle dba_source in Oracle 10g zu löschen?

delete from dba_source where name = 'MODULE_NAME'; 

Oder muss ich alle Verfahren und Paketnamen greifen und diese speziell fallen lassen?

+2

Ich denke, es wird nicht funktionieren; Selbst wenn Oracle dies erlaubt, werden die kompilierten Versionen dieser Pakete und Prozeduren nicht entfernt. –

+0

Es stellt sich heraus, dass, da alles in einem Paket ist, ich das Paket einfach fallen lassen konnte. – Matt

Antwort

5

No. Es ist nicht sicher.

Alle [dba | user | all] _xxx sind Ansichten und Sie kennen die zugrunde liegende Struktur nicht. Manchmal sind Oracle interne Tabellen nicht normalisiert und die Ergebnisse der Änderung sind unerwartet.

0

Es sieht so aus, als könnten Sie das überhaupt nicht machen. Wenigstens, als ich es versuchte, hatte ich unzulängliche Privilegien, also scheint Orakel dich davon abzuhalten, diesen Punkt zu machen

Es scheint unsicher, dass du einzelne Zeilen löschen und möglicherweise den Code beschädigen könntest. Obwohl der kompilierte Code in Ordnung wäre, bis er neu kompiliert wurde. Ich denke, und wie von ammoQ aufgezeigt, würden Sie die kompilierten Versionen nicht entfernen.

besten ein Drop-Paket/Verfahren zu tun ...

Verwandte Themen