У меня есть 2 схемы:
ARIEL
ARIEL_APEX
Все таблицы в ARIEL доступны для ARIEL_APEX, и запросы выполняются нормально из схемы ARIEL_APEX.
Например,
SELECT * FROM ARIEL.DIM_REGISTRATION_SET
отлично работает из схемы ARIEL_APEX.
Когда я пытаюсь создать представление в ARIEL_APEX:
CREATE VIEW TEST_VIEW AS
SELECT * FROM ARIEL.DIM_REGISTRATION_SET
Я понял:
Error at Command Line : 465 Column : 23
Error report -
SQL Error: ORA-01031: insufficient privileges
01031. 00000 - "insufficient privileges"
*Cause: An attempt was made to change the current username or password
without the appropriate privilege. This error also occurs if
attempting to install a database without the necessary operating
system privileges.
When Trusted Oracle is configure in DBMS MAC, this error may occur
if the user was granted the necessary privilege at a higher label
than the current login.
*Action: Ask the database administrator to perform the operation or grant
the required privileges.
For Trusted Oracle users getting this error although granted the
the appropriate privilege at a higher label, ask the database
administrator to regrant the privilege at the appropriate label.
Это отлично работает в тестовой и производственной среде, это разработка. DBA говорит, что все хорошо в их конце.
ARIEL_APEX having below privileges.
GRANTEE PRIVILEGE
------------------------------ ----------------------------------------
ARIEL_APEX CREATE JOB
ARIEL_APEX CREATE MATERIALIZED VIEW
ARIEL_APEX CREATE TABLE
ARIEL_APEX CREATE OPERATOR
ARIEL_APEX CREATE VIEW
ARIEL_APEX CREATE TYPE
ARIEL_APEX CREATE SYNONYM
ARIEL_APEX CREATE CLUSTER
ARIEL_APEX CREATE DIMENSION
ARIEL_APEX CREATE TRIGGER
ARIEL_APEX CREATE SESSION
ARIEL_APEX CREATE INDEXTYPE
ARIEL_APEX CREATE PROCEDURE
ARIEL_APEX CREATE SEQUENCE
И мы знаем, что разрешения ARIEL_APEX для объектов ARIEL в порядке, поскольку мы можем выполнить запрос вручную.
Это Oracle 12. Никогда не было проблемы до того, как мы обновили ее, но подозреваю, что это связано с доступом к объектам из другой схемы в представлении.
ARIEL_APEX является членом элемента ANALYTICS_ROLE, который предоставляет выбор ANALYTICS_ROLE для всех таблиц в схеме ARIEL, что, как видно, работает ниже.