#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;
?