Как воссоздать публичный синоним «ДВОЙНОЙ»?

Используя 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 с таким же провалом.

Могу ли я воссоздать эти синонимы другим способом?

Ответы на вопрос(1)

Ваш ответ на вопрос