-- auf der lokalen DB ausfuehren SET FEEDBACK OFF SET TIMING OFF SET VERIFY OFF SET SERVEROUTPUT ON ACCEPT sys_name CHAR PROMPT 'Name eines Users mit sysdba-Rechten angeben: ' ACCEPT sys_pwd CHAR PROMPT 'Password angeben: ' HIDE ACCEPT tbs_local_name CHAR PROMPT 'Tablespace fuer den User local1 angeben: ' conn &&sys_name/&&sys_pwd as sysdba SET SERVEROUTPUT ON PROMPT User local1 wird gelöscht und neu angelegt PROMPT BEGIN EXECUTE IMMEDIATE 'DROP USER local1 CASCADE'; EXCEPTION WHEN OTHERS THEN NULL; END; / CREATE USER local1 IDENTIFIED BY local1 DEFAULT TABLESPACE &&tbs_local_name QUOTA UNLIMITED ON &tbs_local_name; GRANT CREATE SESSION, CREATE TABLE, CREATE PROCEDURE, CREATE DATABASE LINK TO local1; GRANT EXECUTE ON DBMS_COMPARISON TO local1; PROMPT CREATE SESSION, CREATE TABLE, CREATE PROCEDURE, CREATE DATABASE LINK und Execute-Recht DBMS_COMPARISON an local1 vergeben --Da der Vergleichsname in der ganzen Datenbank unique sein muss, wird er mithilfe einer Sequenz erzeugt. PROMPT 'Vergleichssequenz fuer vergleich_11g wird angelegt' PROMPT DROP SEQUENCE vergleich_seq; CREATE SEQUENCE vergleich_seq NOCACHE; GRANT SELECT ON vergleich_seq TO public; PROMPT Die Differenzen-Tabelle diff_11g im Schema local1 wird angelegt PROMPT BEGIN EXECUTE IMMEDIATE 'DROP TABLE local1.diff_11'; EXCEPTION WHEN OTHERS THEN NULL; END; / CREATE TABLE local1.diff_11g ( vergleichsname VARCHAR2(30), schema VARCHAR2(30), basistab VARCHAR2(30), zieltab VARCHAR2(30), pk_wert NUMBER, scan_id NUMBER, in_basis VARCHAR2(10), in_vergleich VARCHAR2(10)); GRANT SELECT ON local1.diff_11g TO PUBLIC; PROMPT User local2 wird gelöscht und neu angelegt PROMPT BEGIN EXECUTE IMMEDIATE 'DROP USER local2 CASCADE'; EXCEPTION WHEN OTHERS THEN NULL; END; / CREATE USER local2 IDENTIFIED BY local2 DEFAULT TABLESPACE &&tbs_local_name QUOTA UNLIMITED ON &&tbs_local_name; GRANT CREATE SESSION, CREATE TABLE, CREATE PROCEDURE, CREATE DATABASE LINK TO local2; GRANT EXECUTE ON DBMS_COMPARISON TO local2; PROMPT CREATE SESSION, CREATE TABLE, CREATE PROCEDURE, CREATE DATABASE LINK und Execute-Recht an DBMS_COMPARISON an local2 vergeben PROMPT PROMPT User remote auf der remote-DB wird gelöscht und neu angelegt ACCEPT host_name CHAR PROMPT 'Hostname oder IP-Adresse des Remote-Servers angeben: ' ACCEPT remote_sid CHAR PROMPT 'SID des Remote-Servers angeben: ' ACCEPT tbs_remote_name CHAR PROMPT 'Tablespace fuer den User remote angeben: ' conn &&sys_name/&&sys_pwd@&&host_name/&&remote_sid as sysdba SET SERVEROUTPUT ON PROMPT BEGIN EXECUTE IMMEDIATE 'DROP USER remote CASCADE'; EXCEPTION WHEN OTHERS THEN NULL; END; / CREATE USER remote IDENTIFIED BY remote DEFAULT TABLESPACE &&tbs_remote_name QUOTA UNLIMITED ON &&tbs_remote_name; GRANT CREATE SESSION, CREATE TABLE, CREATE PROCEDURE, CREATE DATABASE LINK TO remote; GRANT EXECUTE ON DBMS_COMPARISON TO remote; PROMPT CREATE SESSION, CREATE TABLE, CREATE PROCEDURE, CREATE DATABASE LINK und Execute-Recht DBMS_COMPARISON an remote vergeben PROMPT Lassen Sie jetzt das Skript tabellen_anlegen.sql laufen