Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Odtwórz tabelę Oracle DUAL

Powinieneś prawdopodobnie skontaktować się z pomocą techniczną Oracle.

Czy masz kopię zapasową? Jeśli tak, przywróć tabelę z kopii zapasowej. W przeciwnym razie (i jeśli skontaktowanie się z Oracle nie jest dla Ciebie opcją)...

Oracle ma specjalne optymalizacje dla DUAL, ale nie wiem, czy jest coś specjalnego w samej tabeli. Potraktowałbym to jak normalny stół i zobaczyłbym, co się stanie. Spróbuj tego:

Połącz się jako SYSDBA, a następnie wykonaj następujące polecenia:

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;

I nigdy więcej NIGDY nie zmieniaj NIC w schemacie SYS!

EDYCJA:Właśnie zauważyłem duplikat z DZISIAJ:https://stackoverflow. com/questions/2816478/recovering-dual-table-in-oracle - dodano sugestie tutaj.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle pobierz wiersz, w którym zmieniła się wartość kolumny

  2. NUMTODSINTERVAL w PostgreSQL

  3. Konwersja rozdzielanego ciągu (lub kolumny) na wiersze w Oracle przy użyciu predefiniowanej funkcji systemowej

  4. Błąd ON CONVERSION ERROR z ORA-43918:ten argument musi być literałem

  5. datanucleus + jpa + wyrocznia. Dziwny błąd z nieistniejącymi tabelami