sql >> Base de Datos >  >> RDS >> Oracle

Vuelva a crear la tabla DUAL de Oracle

Probablemente debería ponerse en contacto con el soporte de Oracle.

¿Tienes un respaldo? Si es así, restaure la tabla desde su copia de seguridad. De lo contrario (y si ponerse en contacto con Oracle no es una opción para usted)...

Oracle tiene optimizaciones especiales para DUAL, pero no sé si hay algo especial en la tabla en sí. Simplemente lo trataría como una mesa normal y vería qué sucede. Prueba esto:

Conéctese como SYSDBA y luego ejecute estos 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;

¡Y nunca NUNCA vuelvas a cambiar NADA en el esquema SYS!

EDITAR:Acabo de notar un duplicado de HOY:https://stackoverflow. com/questions/2816478/recovering-dual-table-in-oracle - sugerencias añadidas aquí.