Buscar este blog

viernes, 3 de junio de 2016

Configuración Oracle STREAMS Oracle 11.2.0.4

Pre Requisitos para la configuración:


  • Compatible =11.2.0 o superior
  • Modo archivelog ambas bases (Modo SYNC)
  • Global_name en TRUE
  • Asignar tamaño al área de memoria streams_pool_size
  • Supplemental logging


Parámetros que se deben modificar según requerimientos para el Streams:

  •          LOG_BUFFER
  •          MEMORY_MAX_TARGET
  •          MEMORY_TARGET
  •          OPEN_LINKS
  •          PROCESSES
  •          SESSIONS
  •          SHARED_POOL_SIZE
  •          STREAMS_POOL_SIZE
  •          TIMED_STATISTICS
  •          UNDO_RETENTION


Arquitectura Oracle STREAMS SINGLE-SOURCE CONFIGURATIONS (DOWNHILL).


















      DB Origen: MAPACHE

sqlplus / as sysdba
Connected.

SQL> shutdown immediate
SQL> startup mount;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
SQL> ALTER DATABASE ARCHIVE LOG START



2. Creamos un usuario administrador para el STREAMS

DB Origen: MAPACHE
sqlplus / as sysdba

SQL> create user strmadmin identified by strmadmin;

SQL> grant connect, resource, dba to strmadmin;
 grant execute on dbms_aqadm   to   strmadmin;
SQL> grant execute on dbms_capture_adm     to   strmadmin;
SQL> grant execute on dbms_propagation_adm   to   strmadmin;
SQL> grant execute on dbms_streams_adm  to    strmadmin;
SQL> grant execute on dbms_apply_adm      to    strmadmin;
SQL> grant execute on dbms_flashback    to     strmadmin;

begin dbms_streams_auth.grant_admin_privilege
 (grantee => 'strmadmin',
 grant_privileges => true);
end;
/



3. Ahora deberemos configurar el fichero INIT.ORA con los siguientes parámetros:

DB Origen: MAPACHE
sqlplus / as sysdba

SQL> alter system set global_names=true;

SQL> alter system set streams_pool_size = 100 m;

DB destino: GINETA
sqlplus / as sysdba

SQL> alter system set global_names=true;

SQL> alter system set streams_pool_size = 100 m;


4. Ahora crearemos el enlace en cada base de datos apuntando a la otra:

DB Origen: MAPACHE

SQL> conn strmadmin/strmadmin@mapache

Database link created.

CREATE DATABASE LINK gineta
 CONNECT TO STRMADMIN
 IDENTIFIED BY strmadmin
 USING 'gineta'
/

DB Destino: GINETA

SQL> conn strmadmin/strmadmin@gineta

create database link mapache
 connect to strmadmin
 identified by strmadmin
 using 'mapache';

Database link created.


5. Configuramos el origen y el destino de las consultas:

DB origen: MAPACHE

SQL> conn strmadmin/strmadmin@mapache

SQL> EXEC DBMS_STREAMS_ADM.SET_UP_QUEUE();

DB Destino: GINETA

SQL> conn strmadmin/strmadmin@gineta

SQL> EXEC DBMS_STREAMS_ADM.SET_UP_QUEUE();


6. Configuramos el esquema para los streams:

Esquema: SCOTT
Table: PIBE

DB Origen: MAPACHE
sqlplus / as sysdba

SQL> alter user scott account unlock identified by tiger;

SQL> conn scott/tiger@mapache
Connected.

SQL> create table pibe ( no number primary key,name varchar2(20),ddate date);

DB Destino: DB2
SQL> conn sys/sys as sysdba
Connected.

SQL> alter user scott account unlock identified by tiger;
User altered.

SQL> conn scott/tiger@gineta
Connected.

SQL> create table pibe ( no number primary key,name varchar2(20),ddate date);
Table created.


7. Creamos un acceso suplementario en la base de datos origen:

DB Origen: MAPACHE

SQL> conn scott/tiger@mapache
Connected.

SQL> alter table pibe
 add supplemental log data (primary key,unique) columns;

Table altered.



8. Configuramos el proceso de captura en la base de datos origen: MAPACHE

DB Origen: MAPACHE

SQL> conn strmadmin/strmadmin@mapache
Connected.

SQL>
begin dbms_streams_adm.add_table_rules
 ( table_name => 'scott.pibe',
 streams_type => 'capture',
 streams_name => 'capture_stream',
 queue_name=> 'strmadmin.streams_queue',
 include_dml => true,
 include_ddl => true,
 inclusion_rule => true);
 end;



9. Configuramos el proceso de propagación:

DB Origen: MAPACHE

SQL> conn strmadmin/strmadmin@mapache

begin dbms_streams_adm.add_table_propagation_rules
 ( table_name => 'scott.pibe',
 streams_name => 'MAPACHE_TO_GINETA',
 source_queue_name => 'strm



No hay comentarios.: