Oracle
 sql >> Base de données >  >> RDS >> Oracle

Recréez la table Oracle DUAL

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.