Welcome [Register]  [Jaggy Sign in] 
  
 
CONTACT US» DiscussionsMay 18, 2012  
 
  Jaggy Discussions Forum  Oracle  Oracle Business...  Discoverer 10.1.2
Disabled Previous
 
Next Disabled
New Post 10/23/2008 10:07 AM
User is offline admin
52 posts
No Ranking


Discoverer 10.1.2 
Modified By admin  on 10/23/2008 10:10:19 AM)

This document assumes you have already installed oracle as_xxx_xx_bi_tools_101202 on your workstation.

 

First we must make sure we can connect to the target database we set up in the previous steps.  Add an entry to $ORACLE_HOME/network/admin/tnsnames.ora or use the net manager which is installed as part of the Oracle Application Server Business Intelligence tools.   Expand Local, Service naming, the name you want to use as a TNS Name either add one or test the one you have already set up. To Test click on the "command" menu item and select test service.  You most likely will want to test the connection as the system user.   Once that is verified we can begin the process of creating the EUL (end user layer).

 

  1. Create a user to own the EUL on the database
    1. CREATE USER eul_admin IDENTIFIED BY *****;
      GRANT CONNECT, RESOURCE TO eul_admin ;
      GRANT ALTER ANY MATERIALIZED VIEW TO eul_admin;
      GRANT ANALYZE ANY TO eul_admin;
      GRANT CREATE ANY MATERIALIZED VIEW TO eul_admin;
      GRANT CREATE PROCEDURE TO eul_admin;
      GRANT CREATE ROLE TO eul_admin;
      GRANT CREATE SEQUENCE TO eul_admin;
      GRANT CREATE SESSION TO eul_admin;
      GRANT CREATE SYNONYM TO eul_admin;
      GRANT CREATE TABLE TO eul_admin;
      GRANT CREATE VIEW TO eul_admin;
      GRANT DROP ANY MATERIALIZED VIEW TO eul_admin;
      GRANT GLOBAL QUERY REWRITE TO eul_admin;
      GRANT UNLIMITED TABLESPACE TO eul_admin;
  2. Create a user that owns the data
    1. CREATE USER eul_data IDENTIFIED BY *****;
      GRANT CONNECT, RESOURCE TO eul_data ;
      GRANT ALTER ANY MATERIALIZED VIEW TO eul_data;
      GRANT ANALYZE ANY TO eul_data;
      GRANT CREATE ANY MATERIALIZED VIEW TO eul_data;
      GRANT CREATE PROCEDURE TO eul_data;
      GRANT CREATE ROLE TO eul_data;
      GRANT CREATE SEQUENCE TO eul_data;
      GRANT CREATE SESSION TO eul_data;
      GRANT CREATE SYNONYM TO eul_data;
      GRANT CREATE TABLE TO eul_data;
      GRANT CREATE VIEW TO eul_data;
      GRANT DROP ANY MATERIALIZED VIEW TO eul_data;
      GRANT GLOBAL QUERY REWRITE TO eul_data;
      GRANT UNLIMITED TABLESPACE TO eul_data;
  3. create a developer role
    1. CREATE ROLE disco_dev;
      GRANT CONNECT, RESOURCE TO disco_dev ;
      GRANT ALTER ANY MATERIALIZED VIEW TO disco_dev;
      GRANT ANALYZE ANY TO disco_dev;
      GRANT CREATE ANY MATERIALIZED VIEW TO disco_dev;
      GRANT CREATE PROCEDURE TO disco_dev;
      GRANT CREATE ROLE TO disco_dev;
      GRANT CREATE SEQUENCE TO disco_dev;
      GRANT CREATE SESSION TO disco_dev;
      GRANT CREATE SYNONYM TO disco_dev;
      GRANT CREATE TABLE TO disco_dev;
      GRANT CREATE VIEW TO disco_dev;
      GRANT DROP ANY MATERIALIZED VIEW TO disco_dev;
      GRANT GLOBAL QUERY REWRITE TO disco_dev;
  4. create a developer
    1. CREATE USER devguy IDENTIFIED BY devguy;
      GRANT disco_dev TO devguy;
    2. since the eul_admin needs to give permissions to the developer role they must be part of the role.GRANT disco_dev TO eul_admin;
  5. Create some sample data
    1. Create table data_fact
      CREATE TABLE eul_data.fact_test(   
      product VARCHAR2(50) NOT NULL,
      sale_date_id NUMBER,
      sale_price NUMBER);
    2. populate Table
      BEGIN
          FOR i IN 1..10000 LOOP
            INSERT INTO eul_data.fact_test VALUES (
             CASE
        WHEN TRUNC(dbms_random.value(1,9) )= 1 THEN 'APPLES'
        WHEN TRUNC(dbms_random.value(1,9) )= 2 THEN 'PEARS'
        WHEN TRUNC(dbms_random.value(1,9) )= 3 THEN 'ORANGES'
        WHEN TRUNC(dbms_random.value(1,9) )< 6 THEN 'STEAK'
        ELSE 'POTATO CHIPS'
             END,
            TRUNC (dbms_random.value(1,365)), -- 1 years worth of data
            TRUNC(dbms_random.value(100,500)) -- prices are between 100 and 500$
            );
          END LOOP;
          COMMIT;
        END;
      /
    3. verify data
      SELECT * FROM eul_data.fact_test
      WHERE rownum < 10;
    4. Grant access to eul_admin and the dev role
      1. grant select on eul_data.fact_test to eul_admin;
      2. grant select on eul_data.fact_test to disco_dev;
    5. i could have create a hierarchial set of roles but i didn't
  6. Launch Discover Admin ( i am using windows as my workstation)  it is easier and works well enough to develop applications and such.  in my world *NIX is for servers, Windows is for workstations and linux is for fun desktops.  Sorry, I don't do macs.
    1. start_menu -> oracle -> oracle bi tools -> oracle disco administrator
      1. connect to BI Admin
      2. Log in as eul_admin
      3. popup - you dont have access to any eul's ...
        1. select yes
      4. eul manager
        1. Create EUL
      5. Step1
        1. select existing user
        2. uncheck grant access to public
        3. select eul_admin
        4. finish
        5. your eul is now created
        6. Create a new business area
          1. click the icon for create a new business area
          2. store the metadata in the online dictionary
          3. next
      6. Step 2
        1. database link
        2. user whose tables to load
          1. check eul_data
          2. NEXT
      7. Step 3
        1. Load schema objects
          1. move everything to the right
          2. its just fact test;
        2. next
      8. Step 4
        1. NEXT
      9. Step 5
        1. name the business area
          1. BA_Test
        2. finish
      10. Now to give the developer(s) access to the Business Area
        1. main menu tools-> privs
          1. select user/role button
            1. change the search from users to roles
            2. press go
            3. double click disco_dev
          2. check the admin privs box
            1. check format BA
            2. uncheck everything else
          3. check desktop and plus box
            1. check everything
            2. you cant check schedule workbook
              1. thats for a test user not defined here
          4. apply OK
        2. main menu  tools -> security
          1. press select button
            1. change the search from users to roles
            2. press go
            3. double click disco_dev
          2. double click BA_Test
          3. OK
          4.  
 
Disabled Previous
 
Next Disabled
  Jaggy Discussions Forum  Oracle  Oracle Business...  Discoverer 10.1.2