Vous devriez probablement contacter le support Oracle.
Avez-vous une sauvegarde ? Si tel est le cas, restaurez la table à partir de votre sauvegarde. Sinon (et si contacter Oracle n'est pas une option pour vous)...
Oracle a des optimisations spéciales pour DUAL, mais je ne sais pas s'il y a quelque chose de spécial à propos de la table elle-même. Je voudrais juste le traiter comme une table normale et voir ce qui se passe. Essayez ceci :
Connectez-vous en tant que SYSDBA puis exécutez ces commandes :
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;
Et ne changez plus JAMAIS RIEN dans le schéma SYS !
EDIT :Je viens de remarquer un doublon d'AUJOURD'HUI :https://stackoverflow. com/questions/2816478/recovering-dual-table-in-oracle - suggestions ajoutées ici.