Как воссоздать публичный синоним «ДВОЙНОЙ»?
Используя SQLDeveloper 4.0.1.14 для создания сценария экспорта (проверенные отдельные файлы и «отбрасывание»), он сгенерировал мне эти 4 строки среди других вDROP.sql
:
DROP SYNONYM "PUBLIC"."DUAL";
DROP SYNONYM "PUBLIC"."DBMS_SQL";
DROP SYNONYM "PUBLIC"."DBMS_LOCK";
DROP SYNONYM "PUBLIC"."DBMS_OUTPUT";
Теперь, когда я случайно прошел весь сценарий, используяSYSTEM
пользователь, я больше не могу вносить изменения (создавать или удалять таблицы) в базе данных, у меня появляется эта ошибка:
An error was encountered performing the requested operation:
ORA-00604: error occurred at recursive SQL level 1
ORA-00942: table or view does not exist
00604. 00000 - "error occurred at recursive SQL level %s"
*Cause: An error occurred while processing a recursive SQL statement
(a statement applying to internal dictionary tables).
*Action: If the situation described in the next error on the stack
can be corrected, do so; otherwise contact Oracle Support.
Vendor code 604
Проблема в том, что я получаю это событие ошибки, когда я пытаюсь это:
CREATE OR REPLACE PUBLIC SYNONYM "DUAL" FOR "SYS"."DUAL";
Я точно, чтоSYS.DUAL
таблица все еще существует какSELECT 1 FROM SYS.DUAL
работает ноSELECT 1 FROM DUAL
не удается сORA-00942: table or view does not exist
.
Я пытался воссоздать синоним какSYSTEM
а такжеSYSDBA
с таким же провалом.
Могу ли я воссоздать эти синонимы другим способом?