HZ_CUST_SITE_USES строки не возвращены
При запросе следующей таблицы он возвращает ноль записей.
SQL> select count(*) from HZ_CUST_SITE_USES;
COUNT(*)
----------
0
SQL>
не могли бы вы помочь мне кто-нибудь
1 ответ
Согласно моей поддержке Oracle (Doc ID 787677.1), у вас есть политика безопасности, включенная на собственном синониме APPS
Это стандартная установка, связанная с APPS@ERP
принадлежащие синонимы в среде Oracle R12.
Во-первых, подтвердите, что APPS@ERP
владелец синонима при запросе без установки специального контекста политики безопасности org приведет к пустому набору:
APPS@ERP>SELECT COUNT(1) FROM HZ_CUST_SITE_USES;
COUNT(1)
0
Затем подтвердите, что политика безопасности была применена к этому APPS@ERP
принадлежащий синоним:
APPS@erp>SELECT object_name,
2 policy_group,
3 policy_name,
4 PACKAGE,
5 FUNCTION,
6 sel,
7 enable
8 FROM dba_policies
9 WHERE object_name = 'HZ_CUST_SITE_USES';
OBJECT_NAME POLICY_GROUP POLICY_NAME PACKAGE FUNCTION SEL ENABLE
HZ_CUST_SITE_USES SYS_DEFAULT ORG_SEC MO_GLOBAL ORG_SECURITY YES YES
Просто подтвердите, что тип объекта является синонимом:
APPS@erp>SELECT owner,
2 object_name,
3 object_type
4 FROM DBA_OBJECTS
5 WHERE 1 =1
6 AND OBJECT_NAME = 'HZ_CUST_SITE_USES';
OWNER OBJECT_NAME OBJECT_TYPE
APPS HZ_CUST_SITE_USES SYNONYM
Запрос APPS@ERP
вид, связанный с AR
принадлежащий стол, HZ_CUST_SITE_USES_ALL
:
APPS@erp>--APPS owned view r12.2
APPS@erp>SELECT ORG_ID, COUNT(1) FROM HZ_CUST_SITE_USES_ALL GROUP BY ORG_ID;
ORG_ID COUNT(1)
123 458
456 2658
789 1210
Как только контекст установлен для сеанса (org_id равен 456), можно запросить результаты для этого org_id:
APPS@erp>--set policy
APPS@erp>EXEC mo_global.set_policy_context('S', 456);
PL/SQL procedure successfully completed.
APPS@erp>SELECT COUNT(1) FROM HZ_CUST_SITE_USES;
COUNT(1)
2658