Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Recriar a tabela Oracle DUAL


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.