Você provavelmente deve entrar em contato com o Suporte da Oracle.
Você tem um backup? Em caso afirmativo, restaure a tabela do seu backup. Caso contrário (e se entrar em contato com a Oracle não for uma opção para você)...
O Oracle tem otimizações especiais para o DUAL, mas não sei se há algo de especial na própria tabela. Eu apenas trataria como uma mesa normal e veria o que acontece. Tente isto:
Conecte-se como SYSDBA e execute estes comandos:
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 nunca NUNCA mude NADA no esquema SYS novamente!
EDIT:Acabei de notar uma duplicata de HOJE: https://stackoverflow. com/questions/2816478/recovering-dual-table-in-oracle - sugestões adicionadas aqui.