/******************************************************************************
 * @author                        :  Chandar

 * @version                       :  1.0
 *
 * Name of the Application        :  StreamsAdminConfig.sql

 * Creation/Modification History  :
 *
 *    Chandar        02-Feb-2003       Created
 *

 * Overview of Script:
 *
 * This script creates a streams administrator user and grants it necessary
 * privileges to manage the streams in database. It also creates a separate
 * tablespace for streams administrator and logminer.

 ******************************************************************************/

SET VERIFY OFF
SPOOL streams_config.log



-- get TNSNAME of the database where streams is to be configured

ACCEPT dbname PROMPT 'Enter TNS Name of the database :'

-- get the password for SYS user of database

ACCEPT syspwd PROMPT 'Enter password for sys user of the database :'


conn sys/&syspwd@&dbname as sysdba

-- get a username for stream administrator

ACCEPT strmadm PROMPT 'Enter a user name for streams admin user :'

-- get a password for streams administrator


ACCEPT strmadmpwd PROMPT 'Enter password for streams admin user :'

--create the user and grant it connect and resource roles

PROMPT Creating streams admin user and granting CONNECT and RESOURCE roles to it

GRANT CONNECT, RESOURCE TO &strmadm IDENTIFIED BY &strmadmpwd;


-- grant minimum privileges required to manage streams

PROMPT Granting various privileges to streams administrator

PROMPT Granting EXECUTE ON DBMS_AQADM package

GRANT EXECUTE ON DBMS_AQADM TO &strmadm;

PROMPT Granting EXECUTE ON DBMS_STREAMS_ADM package


GRANT EXECUTE ON DBMS_STREAMS_ADM TO &strmadm;

PROMPT Granting CREATE_RULE_SET_OBJ system privilege

BEGIN
  DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege    => DBMS_RULE_ADM.CREATE_RULE_SET_OBJ,
    grantee      => '&strmadm',
    grant_option => FALSE);
END;
/


PROMPT Granting CREATE_RULE_OBJ system privilege

BEGIN
  DBMS_RULE_ADM.GRANT_SYSTEM_PRIVILEGE(
    privilege    => DBMS_RULE_ADM.CREATE_RULE_OBJ,
    grantee      => '&strmadm',
    grant_option => FALSE);
END;
/

-- grant privilege to manage streams apply processes in database


PROMPT Granting EXECUTE ON DBMS_APPLY_ADM package

GRANT EXECUTE ON DBMS_APPLY_ADM TO &strmadm;

-- grant privilege to manage streams capture processes in database

PROMPT Granting EXECUTE ON DBMS_CAPTURE_ADM  package

GRANT EXECUTE ON DBMS_CAPTURE_ADM TO &strmadm;

-- grant privilege to manage streams propagation processes in database


PROMPT Granting EXECUTE ON DBMS_PROPAGATION_ADM  package

GRANT EXECUTE ON DBMS_PROPAGATION_ADM TO &strmadm;

--grant privilege to obtain the current SCN for a database

PROMPT Granting EXECUTE ON DBMS_FLASHBACK package

GRANT EXECUTE ON DBMS_FLASHBACK TO &strmadm;

-- grant privilege to select data dictionary tables and views

PROMPT Granting SELECT_CATALOG_ROLE


GRANT SELECT_CATALOG_ROLE TO &strmadm;


-- grant privilege to select from DBA_APPLY_ERROR view within a PL/SQL subprogram

PROMPT Granting EXECUTE ON DBA_APPLY_ERROR package

GRANT SELECT ON DBA_APPLY_ERROR TO &strmadm;


-- get the directory path where datafile for streams tablespace should be created.

ACCEPT dir_path PROMPT 'Enter directory path where new tablespace file for
streams should be created -E.g. /usr/oracle/dbs:'



-- create a tablespace to be used by streams administrator

PROMPT Creating new tablespace for streams administrator

CREATE TABLESPACE streams_tbs DATAFILE '&dir_path/streams_tbs.dbf'
  SIZE 25 M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;


-- set the default tablespace for streams administrator as streams_tbs

PROMPT Assigning new tablespace to streams administrator user

ALTER USER &strmadm DEFAULT TABLESPACE streams_tbs  QUOTA UNLIMITED ON streams_tbs;



-- get the directory path where datafile for logminer
--tablespace should be created.

ACCEPT dir_path PROMPT 'Enter directory path where tablespace file for
logminer should be created -E.g. /usr/oracle/dbs):'


-- create a tablespace to be used by logmner

PROMPT Creating new tablespace for logminer

CREATE TABLESPACE logmnrts DATAFILE '&dir_path/logmnrts.dbf'
  SIZE 25 M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;


-- set the tablespace for logminer as above tablespace


PROMPT Assigning new tablespace to logminer

EXECUTE DBMS_LOGMNR_D.SET_TABLESPACE('logmnrts');


PROMPT End of Script

SPOOL OFF
E-mail this page
Printer View Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Privacy