Issue: Database configuration process reports permission related errors and while running report definition SQL scripts on Oracle. (Bug 230857)
Workaround: To workaround this issue, perform the following steps before you configure Identity Reporting:
Log in to the Identity Reporting server as database admin (sysdba) user.
Open a database administrator tool such as Oracle SQL developer.
Run the following scripts:
alter session set "_ORACLE_SCRIPT"=true; CREATE OR REPLACE PROCEDURE create_dcs_roles_and_schemas( idm_rpt_data_password character varying, idmrptuser_password character varying) AUTHID CURRENT_USER AS cnt number; BEGIN /* Create user IDM_RPT_DATA if it does not exist already */ select count(*) into cnt from ALL_USERS WHERE USERNAME = 'IDM_RPT_DATA'; IF cnt = 0 THEN execute immediate 'CREATE USER idm_rpt_data IDENTIFIED BY ' || idm_rpt_data_password; DBMS_OUTPUT.put_line('Created user idm_rpt_data'); END IF; /* Grant rights to the idm_rpt_data user */ execute immediate 'GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER, UNLIMITED TABLESPACE to idm_rpt_data'; DBMS_OUTPUT.put_line('Granted rights to user idm_rpt_data'); /* Create user IDMRPTUSER if it does not exist */ select count(*) into cnt from ALL_USERS WHERE USERNAME = 'IDMRPTUSER'; IF cnt = 0 THEN execute immediate 'CREATE USER idmrptuser IDENTIFIED BY ' || idmrptuser_password; DBMS_OUTPUT.put_line('Created user idmrptuser'); END IF; /* Grant rights to the idmrptuser user */ execute immediate 'GRANT CREATE SESSION to idmrptuser'; DBMS_OUTPUT.put_line('Granted rights to user idmrptuser'); END; /
CREATE OR REPLACE PROCEDURE create_rpt_roles_and_schemas( idm_rpt_cfg_password character varying) AUTHID CURRENT_USER AS cnt number; BEGIN /* Create user IDM_RPT_CFG if it does not exist */ select count(*) into cnt from ALL_USERS WHERE USERNAME = 'IDM_RPT_CFG'; IF cnt = 0 THEN execute immediate 'CREATE USER idm_rpt_cfg IDENTIFIED BY ' || idm_rpt_cfg_password; DBMS_OUTPUT.put_line('Created user idm_rpt_cfg'); END IF; /* Grant rights to the idm_rpt_cfg user */ execute immediate 'GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER, UNLIMITED TABLESPACE to idm_rpt_cfg'; DBMS_OUTPUT.put_line('Granted rights to user idm_rpt_cfg'); END; / exec CREATE_DCS_ROLES_AND_SCHEMAS('<DB password>','<DB password>'); / exec CREATE_RPT_ROLES_AND_SCHEMAS('<DB password>'); / alter session set "_ORACLE_SCRIPT"=false;
Configure Identity Reporting.