Oracle
 sql >> Database >  >> RDS >> Oracle

Ricrea la tabella Oracle DUAL

Probabilmente dovresti contattare il supporto Oracle.

Hai un backup? In tal caso, ripristina la tabella dal backup. Altrimenti (e se contattare Oracle non è un'opzione per te)...

Oracle ha ottimizzazioni speciali per DUAL, ma non so se c'è qualcosa di speciale nella tabella stessa. Lo tratterei come un normale tavolo e vedrei cosa succede. Prova questo:

Connettiti come SYSDBA e quindi esegui questi comandi:

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;

E non cambiare mai più NULLA nello schema SYS!

EDIT:ho appena notato un duplicato di OGGI:https://stackoverflow. com/questions/2816478/recovering-dual-table-in-oracle - aggiunti suggerimenti qui.