Pravděpodobně byste měli kontaktovat podporu Oracle.
Máte zálohu? Pokud ano, obnovte tabulku ze zálohy. V opačném případě (a pokud kontaktování společnosti Oracle není pro vás možností)...
Oracle má speciální optimalizace pro DUAL, ale nevím, jestli je něco zvláštního na samotné tabulce. Zacházel bych s tím jako s normálním stolem a uvidím, co se stane. Zkuste toto:
Připojte se jako SYSDBA a poté spusťte tyto příkazy:
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;
A už nikdy NIKDY nic neměňte ve schématu SYS!
EDIT:Právě jsem si všiml duplikátu z DNES:https://stackoverflow. com/questions/2816478/recovering-dual-table-in-oracle - zde byly přidány návrhy.