Пакет ORDS_INTERNAL не может быть скомпилирован во время / после установки ORDS 19.0.4
В одной из наших баз данных oracle 11g мы получаем следующую ошибку во время установки ORDS 19.4.0.
[*** скрипт: ords_internal.plb]
Package Body ORDS_INTERNAL compiled
LINE/COL ERROR
--------- -------------------------------------------------------------
129/7 PL/SQL: SQL Statement ignored
134/9 PL/SQL: ORA-00942: table or view does not exist
поскольку источник пакета упакован, мы не смогли получить имя объекта, вызывающего эту ошибку.
Что я могу решить или узнать, почему я получаю эту ошибку?
2 ответа
Хорошо , мы решили это. Сначала мы проверили статус всех используемых объектов по телу пакета ORDS_INTERNAL и не нашли объекта, который является INVALID. Затем проверьте гранты всех зависимостей и убедитесь, что кто-то / кто-то удалил грант SELECT для ALL_USERS из PUBLIC. исправление (предоставить выбор для sys.ALL_USERS общедоступным) эта проблема решила нашу проблему компиляции...
Я думаю, что из-за того, что вы используете Oracle 11g в качестве базы данных, вы должны запустить сценарий, упомянутый @pifor
Вот что говорит Oracle doc
Начиная с версии ORDS 19.2, архивный файл установки Oracle REST Data Services содержит сценарий ords_installer_privileges.sql, который находится в папке установщика. Сценарий предоставляет назначенному пользователю базы данных права на установку, обновление, проверку и удаление ORDS в Oracle Pluggable Database или Oracle 11g.
Итак, запустите это
Подключитесь к базе данных Oracle 11g с привилегиями SYSDBA. Выполните следующий сценарий, указав пользователя базы данных, который будет использовать ORDS.
SQL> @/path/to/installer/ords_installer_privileges.sql exampleuser
Я думаю, было бы менее проблематично, если бы вы выбрали старую версию ORDS, поскольку у вас очень старая версия базы данных.
С уважением