синоним не работает ORA-00980: перевод синонимов больше не действителен?

#oracle11g #plsqldeveloper

#oracle11g #plsqldeveloper

Вопрос:

Мы создали синоним в БД, но когда мы пытаемся выполнить синоним, он выдает ошибку ORA-00980: synonym translation is no longer valid. . у нас есть другая среда клонирования, там тот же синоним работает нормально. Может ли кто-нибудь, пожалуйста, помочь мне в этом.

Комментарии:

1. Может у кого-нибудь есть решение проблемы с clone DB. пожалуйста, помогите, я застрял здесь

Ответ №1:

Возможны различные причины. Например:

  • синоним основан на таблице / представлении / другом синониме, который был удален, и это сделало недействительным синоним, из которого вы выбираете
  • если некоторые из этих объектов (которые вы использовали для создания синонима) принадлежат другим пользователям, они могут отозвать права, которые у вас были ранее
  • вы создали синоним на основе объекта, который не существует; например, вы неправильно написали имя таблицы (например, DPET вместо DEPT)

Что делать? Проверьте параметры, которые я упомянул, и воссоздайте синоним.

Комментарии:

1. спасибо за ответ. Я проверил это. В другой среде клонирования синоним работает нормально. эта база данных-клон только что создана, и я получаю эту проблему. разница между обоими клонами — SID. остальные имя пользователя, имя хоста и порт совпадают. Я могу понять, в чем проблема?

2. Для какого объекта вы создали синоним?

3. У меня есть схема A. В схеме A есть таблица с именем TABLE_ABC . Я должен создать синоним таблицы TABLE_ABC в схеме B. для этого я создаю синоним, выполняя CREATE OR REPLACE SYNONYM TABLE_ABC FOR A.TABLE_ABC; . Теперь мы создали еще один клон БД. Я создал синоним, но получаю ошибку в новой среде.

4. Пользователь выполнял запуск grant select on table_abc to b; ?