"получение: ОШИБКА в строке 1: ORA-00980: перевод синонимов больше не выполняется
действует; но если я запускаю запрос для того же пользователя, он работает нормально "
Это сообщение означает, что синоним ссылается на объект, который не находится в области видимости. Это может произойти, когда основной объект удален или если имя написано с ошибкой. Это также может произойти, если объект находится в другой схеме, а владелец отзывает наши привилегии.
Поскольку ваш запрос выполняется нормально, мы можем исключить первую пару причин. Итак, ваша проблема - права доступа к объекту, на который указывает синоним.
Я думаю, что ваш пользователь получил права через роль. Это позволяет нам использовать объект в запросах. Однако мы не можем создавать объекты базы данных - хранимые процедуры, представления, материализуемые представления - используя эти разрешения. Нам нужно, чтобы эта привилегия была предоставлена непосредственно пользователю. Именно так работает модель безопасности Oracle.