Du bör förmodligen kontakta Oracle Support.
Har du en backup? Återställ i så fall tabellen från din säkerhetskopia. Annars (och om att kontakta Oracle inte är ett alternativ för dig)...
Oracle har speciella optimeringar för DUAL, men jag vet inte om det är något speciellt med själva tabellen. Jag skulle bara behandla det som ett vanligt bord och se vad som händer. Prova detta:
Anslut som SYSDBA och kör sedan dessa kommandon:
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;
Och ändra aldrig NÅGONTING i SYS-schemat igen!
EDIT:Lade precis märke till en dubblett från IDAG:https://stackoverflow. com/questions/2816478/recovering-dual-table-in-oracle - har lagt till förslag här.