Wie aktualisiere ich das Data Dictionary in Oracle?

8

Ich habe einige meiner Tabellen in Oracle gelöscht

%Vor%

, aber die Primärschlüsseleinschränkung der gelöschten Tabelle befindet sich immer noch im Data Dictionary (all_constraints). Jetzt ist meine Frage, wie man Datenwörterbuch so aktualisiert, dass es Primärschlüssel der gelöschten Tabellen nicht zeigt? Zum Beispiel habe ich diese Abfrage verwendet, um das Stundenschema auszuwählen:

%Vor%

und das Ergebnis ist:

%Vor%

Zeilen mit seltsamen Tabellennamen sind diejenigen, die ich gelöscht habe.

    
jalal rasooly 20.01.2014, 09:26
quelle

2 Antworten

8

Ihr abgelegter Tisch ist im Papierkorb .

Ihre ursprünglichen Constraint-Namen sind nicht sichtbar - Sie können den Namen des Primärschlüssels nicht mehr sehen (in dieser Ansicht; Sie können ihn von user_recyclebin abrufen) - aber die Constraint ist weiterhin intern verfügbar, so dass sie wiederhergestellt werden kann schnell, wenn Sie die Tabelle mit flashback table hr.admin_emp to before drop wiederherstellen.

Die Objekte, die in der Datenwörterbuchansicht als BIN$... angezeigt werden, verschwinden nur, wenn Sie purge der Papierkorb. Aber wenn du das einmal getan hast, sind sie für immer verschwunden und du kannst sie nicht wiederherstellen, ohne die gesamte Datenbank wiederherzustellen, also mach das nur, wenn du wirklich sicher bist, dass du sie nicht mehr willst.

Sie können, sollten und dürfen nicht versuchen, ein Datenwörterbuchobjekt oder etwas, das Oracle intern verwaltet, manuell zu aktualisieren.

    
Alex Poole 20.01.2014, 09:53
quelle
4

So entfernen Sie alle gelöschten Objekte aus dem Papierkorb (aktueller Benutzer):

%Vor%

Um alle gelöschten Objekte aus dem Papierkorb zu entfernen (systemweit):

%Vor%

Tabellen können auch gelöscht werden, ohne sie an den Papierkorb zu senden. Beispiel:

%Vor%     
Developer SuRu 20.01.2014 09:57
quelle