一般的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

 

 

arrow
arrow
    全站熱搜

    alad 發表在 痞客邦 留言(0) 人氣()