一般的IT同仁連線到 DB時,可能無法直接使用apps這個帳號,
但若此時需要使用如mo_global等package時,可能就會因權限的問題而無法使用,
最簡單的方法是grant全部的權限及create all synonym, 就像是apps 所擁有的全部權限一樣.
不過,大部份都無法這樣做,此時就需要了解那些是必備的權限及synonym.
下列是測試可使用的script!!
1. 建立db user (Login system account)
create user appstest identified by appstest;
2. grant & crete synonym
grant connect, resource to appstest;
grant create synonym to appstest;
grant create session to appstest;
grant all on APPS.HR_OPERATING_UNITS to appstest;
grant all on HR.PER_SECURITY_PROFILES to appstest;
grant all on applsys.FND_MO_SP_PREFERENCES to appstest;
grant all on apps.fnd_global to appstest;
grant all on apps.mo_global to appstest;
grant all on applsys.fnd_profile_option_values to appstest;
grant all on applsys.fnd_profile_options to appstest;
grant all ON APPS.MO_GLOB_ORG_ACCESS_TMP TO appstest;
grant all ON APPS.HR_ORGANIZATION_UNITS to appstest;
grant all on HR.HR_ORGANIZATION_INFORMATION to appstest;
grant all on apps.FND_DATE to appstest;
grant all on applsys.FND_PRODUCT_GROUPS to appstest;
grant all on applsys.FND_MO_PRODUCT_INIT to appstest;
grant all on applsys.FND_LANGUAGES to appstest;
grant all on applsys.FND_APPLICATION to appstest;
grant all on applsys.FND_USER to appstest;
grant all on applsys.fnd_cache_versions to appstest;
grant all on apps.fnd_responsibility_vl to appstest
grant select on apps.po_headers_v to appstest;
3. DB USER TO EDITIONABLE
alter session set current_schema=APPS;
AD_ZD_PREP.ENABLE_CUSTOM_USER('appstest');
4. Create synonym (login apps/apps)
create synonym appstest.PER_SECURITY_PROFILES for HR.PER_SECURITY_PROFILES;
create synonym appstest.HR_OPERATING_UNITS for APPS.HR_OPERATING_UNITS;
create synonym appstest.FND_MO_SP_PREFERENCES for applsys.FND_MO_SP_PREFERENCES;
create synonym appstest.mo_global for apps.mo_global;
create synonym appstest.FND_PRODUCT_GROUPS for applsys.FND_PRODUCT_GROUPS;
create synonym appstest.FND_MO_PRODUCT_INIT for applsys.FND_MO_PRODUCT_INIT;
create synonym appstest.MO_GLOB_ORG_ACCESS_TMP for applsys.MO_GLOB_ORG_ACCESS_TMP;
create synonym appstest.FND_PROFILE_OPTION_VALUES for applsys.FND_PROFILE_OPTION_VALUES;
create synonym appstest.FND_PROFILE_OPTIONS for applsys.FND_PROFILE_OPTIONS;
create synonym appstest.FND_LANGUAGES for applsys.FND_LANGUAGES;
create synonym appstest.FND_APPLICATION for applsys.FND_APPLICATION;
create synonym appstest.FND_USER for applsys.FND_USER;
create synonym appstest.FND_DATE for apps.FND_DATE;
create synonym appstest.HR_ORGANIZATION_UNITS for APPS.HR_ORGANIZATION_UNITS ;
create synonym appstest.HR_ORGANIZATION_INFORMATION for hr.HR_ORGANIZATION_INFORMATION;
create synonym appstest.fnd_global for apps.fnd_global;
create synonym appstest.fnd_core_log for apps.fnd_core_log;
create synonym appstest.fnd_cache_versions for applsys.fnd_cache_versions;
create synonym appstest.fnd_responsibility_vl for apps.fnd_responsibility_vl;
create synonym appstest.po_headers_v for apps.po_headers_v;
5. 測試 (login appstest/appstest)
begin
apps.fnd_global.apps_initialize(0, 50554,200);
mo_global.init('SQLAP');
mo_global.set_policy_context('S',204);
end;
6. Get org_id=204
select distinct org_id from po_headers_v;
經過相關的權限設定後,此APPSTEST