Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Erstellen Sie die Oracle DUAL-Tabelle neu

Sie sollten sich wahrscheinlich an den Oracle-Support wenden.

Haben Sie eine Sicherung? Wenn dies der Fall ist, stellen Sie die Tabelle aus Ihrer Sicherung wieder her. Andernfalls (und wenn die Kontaktaufnahme mit Oracle für Sie keine Option ist)...

Oracle hat spezielle Optimierungen für DUAL, aber ich weiß nicht, ob die Tabelle selbst etwas Besonderes ist. Ich würde es einfach wie einen normalen Tisch behandeln und sehen, was passiert. Versuchen Sie Folgendes:

Verbinden Sie sich als SYSDBA und führen Sie dann diese Befehle aus:

CREATE TABLE SYS.DUAL
(
  DUMMY  VARCHAR2(1 BYTE)
);

INSERT INTO SYS.DUAL VALUES ( 'X' );

COMMIT;

GRANT SELECT ON SYS.DUAL TO public WITH GRANT OPTION;

CREATE PUBLIC SYNONYM DUAL FOR SYS.DUAL;

Und nie wieder etwas im SYS-Schema ändern!

BEARBEITEN:Habe gerade ein Duplikat von HEUTE bemerkt:https://stackoverflow. com/questions/2816478/recovering-dual-table-in-oracle - hier Vorschläge hinzugefügt.