Thursday, January 13, 2011

Oracle Application Express Installation Cheet Sheet



  1. Download Apex and Extract it on your root drive.
    i.e on Windows C:\apex and on unix/linux  /tmp/apex
    Note: make sure there is no blank space in the directory name.
     
  2. cd /tmp/apex
  3. export oracle_sid=apexdb
  4. sqlplus / as sysdba
  5. @apexins SYSAUX SYSAUX TEMP /i/
  6. @apxchpwd
  7. @apex_epg_config.sql /tmp/apex
  8. ALTER USER ANONYMOUS ACCOUNT UNLOCK;
  9. EXEC DBMS_XDB.SETHTTPPORT(8080);
  10. Execute this procedureDECLARE
    ACL_PATH VARCHAR2(4000);
    ACL_ID RAW(16);
    BEGIN
    -- Look for the ACL currently assigned to '*' and give APEX_040000
    -- the "connect" privilege if APEX_040000 does not have the privilege yet.

    SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
    WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;

    -- Before checking the privilege, ensure that the ACL is valid
    -- (for example, does not contain stale references to dropped users).
    -- If it does, the following exception will be raised:
    --
    -- ORA-44416: Invalid ACL: Unresolved principal 'APEX_040000'
    -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
    --
    SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
    WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
    EQUALS_PATH(P.RES, ACL_PATH) = 1;

    DBMS_XDBZ.ValidateACL(ACL_ID);
    IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040000',
    'connect') IS NULL THEN
    DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
    'APEX_040000', TRUE, 'connect');
    END IF;

    EXCEPTION
    -- When no ACL has been assigned to '*'.
    WHEN NO_DATA_FOUND THEN
    DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
    'ACL that lets power users to connect to everywhere',
    'APEX_040000', TRUE, 'connect');
    DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
    END;
    /

    commit;


  11. SELECT par_value FROM ctxsys.ctx_parameters WHERE par_name = 'FILE_ACCESS_ROLE';
  12. CREATE ROLE APEX_URL_DATASTORE_ROLE;
  13. GRANT APEX_URL_DATASTORE_ROLE to APEX_040000;
  14. EXEC ctxsys.ctx_adm.set_parameter('file_access_role', 'APEX_URL_DATASTORE_ROLE');
  15. ALTER SYSTEM SET JOB_QUEUE_PROCESSES =1000;
  16. ALTER SYSTEM SET SHARED_SERVERS = 5 SCOPE=BOTH;

No comments:

Post a Comment