Document ID: 34547.1
Subject: Sample setup scripts - Creating Users and Links
Author: toscroft
Last Modified: 13 May 1996
-- This script is based on a masterdef site, REP, and a master site, REP2.
--
-- Create surrogate sys user at REP. Surrogate user performs a limited set
-- of SYS's actions, where needed by replication.
--
connect sys/manager
drop user repsys cascade
/
drop user repadmin cascade
/
drop user repuser cascade
/
create user repsys identified by repsys -
default tablespace users -
temporary tablespace temp
/
grant execute on dbms_defer_internal_sys to repsys
/
execute dbms_repcat_auth.grant_surrogate_repcat('repsys')
/
--
-- Create replication administrator. All administration of replication
-- scenario performed by this user. Only user with execute privilege on
-- dbms_repcat
--
create user repadmin identified by repadmin -
default tablespace users -
temporary tablespace temp
/
execute dbms_repcat_admin.grant_admin_any_repschema( -
userid => 'repadmin')
grant execute on dbms_repcat to repadmin
/
grant execute on dbms_defer_sys to repadmin
/
--
-- Create a user who owns and manipulates the application data
--
create user repuser identified by repuser -
default tablespace users -
temporary tablespace temp
/
execute dbms_repcat_admin.grant_admin_repschema( -
userid => 'repuser')
grant execute on dbms_defer to repuser
/
--
-- Create a public database link
--
drop public database link rep2
/
create public database link rep2 using 't_rep2'
/
--
-- Create a database link for sys to access rep2's surrogate sys user
--
drop database link rep2
/
create database link rep2 connect to repsys identified by repsys -
using 't_rep2'
/
--
-- Create a database link for repadmin to access rep2's replication
-- administrator
--
connect repadmin/repadmin
drop database link rep2
/
create database link rep2 connect to repadmin identified by repadmin -
using 't_rep2'
/
--
-- Create a database link for repuser to access rep2's repuser
--
connect repuser/repuser
drop database link rep2
/
create database link rep2 connect to repuser identified by repuser -
using 't_rep2'
/
--
-- Connect at rep2 and create surrogate sys user
--
connect sys/change_on_install@t_rep2
drop user repsys cascade
/
drop user repadmin cascade
/
drop user repuser cascade
/
create user repsys identified by repsys -
default tablespace users -
temporary tablespace temp
/
grant execute on dbms_defer_internal_sys to repsys
/
execute dbms_repcat_auth.grant_surrogate_repcat('repsys')
/
--
-- create replication administrator for rep2
--
create user repadmin identified by repadmin -
default tablespace users -
temporary tablespace temp
/
execute dbms_repcat_admin.grant_admin_any_repschema( -
userid => 'repadmin')
grant execute on dbms_repcat to repadmin;
grant execute on dbms_defer_sys to repadmin;
--
-- create replication schema owner
--
create user repuser identified by repuser -
default tablespace users -
temporary tablespace temp
/
execute dbms_repcat_admin.grant_admin_repschema( -
userid => 'repuser')
grant execute on dbms_defer to repuser
/
--
-- create public database link
--
create public database link rep using 't_rep'
/
--
-- create database link for sys connecting back to repsys on rep
--
drop database link rep
/
create database link rep connect to repsys identified by repsys
using 't_rep'
/
--
-- Connect as remote replication administrator to create database link
--
connect repadmin/repadmin@t_rep2
drop database link rep
/
create database link rep connect to repadmin identified by repadmin -
using 't_rep'
/
--
-- repuser needs a link for background execution of deferred rpc
--
connect repuser/repuser@t_rep2
drop database link rep
/
create database link rep connect to repuser identified by repuser -
using 't_rep'
/