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;
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.:
Publicar un comentario