You are on page 1of 9

###################################################################################

################################################################################
#################################################################### CONFIGURANDO
ARCHIVELOG ####################################################################
###################################################################################
################################################################################

SQL> select log_mode from v$database;

LOG_MODE
------------
NOARCHIVELOG

SQL> alter system set recyclebin=off scope=spfile;

SQL> shutdown immediate;

SQL> startup mount;

SQL> alter database archivelog;

SQL> alter database open;

SQL> alter pluggable database all open;

SQL> select log_mode from v$database;

LOG_MODE
------------
ARCHIVELOG

###################################################################################
###############################################################################
######################################################### CONFIGURANDO BANCO DE
DADOS E FORCE LOGGING ##########################################################
###################################################################################
###############################################################################

SQL> show parameter goldengate

NAME TYPE VALUE


------------------------------------ ----------- --------------------------
enable_goldengate_replication boolean FALSE

SQL> alter system set enable_goldengate_replication=true scope=spfile;

SQL> alter database add supplemental log data;

SQL> alter database force logging;

SQL> select supplemental_log_data_min, force_logging from v$database;

SUPPLEME FOR
-------- ---
YES YES

SQL> alter system switch logfile;

###################################################################################
###############################################################################
################################################################### CONFIGURANDO
STREAMS AREA ##################################################################
###################################################################################
###############################################################################

SQL> show parameter streams

NAME TYPE VALUE


------------------------------------ -----------
------------------------------
streams_pool_size big integer 0

SQL> alter system set streams_pool_size=1G scope=both;

###################################################################################
###############################################################################
################################################################## VERIFICAR
CHARSET DO BANCO
##################################################################
###################################################################################
###############################################################################

SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';

###################################################################################
###############################################################################
######################################################## CONFIGURAR ORACLE_HOME,
OGG_HOME, ORACLE_SID ##########################################################
###################################################################################
###############################################################################

ORACLE_HOME
ORACLE_SID
OGG_HOME

###################################################################################
###############################################################################
#################################################### CONFIGURANDO TABLESPACE E
USUARIO PARA GOLDEN GATE ##########################################################
###################################################################################
###############################################################################

SQL> create tablespace goldengate datafile


'/u01/app/oracle/oradata/MATRIX/morpheus/goldengate01.dbf' size 5G autoextend on
next 5G maxsize 20G;

SQL> create user ogg18c identified by oracle default tablespace goldengate


temporary tablespace temp account unlock;

SQL> grant dba to ogg18c;


SQL> grant create session to ogg18c;
SQL> grant alter session to ogg18c;
SQL> grant resource to ogg18c;
SQL> grant connect to ogg18c;
SQL> grant select any dictionary to ogg18c;
SQL> grant flashback any table to ogg18c;
SQL> grant select any table to ogg18c;
SQL> grant select on dba_clusters to ogg18c;
SQL> grant create table to ogg18c;
SQL> grant execute on dbms_flashback to ogg18c;
SQL> grant lock any table to ogg18c;
SQL> grant execute on utl_file to ogg18c;
SQL> grant select any transaction to ogg18c;
SQL> grant become user to ogg18c;
SQL> exec dbms_goldengate_auth.grant_admin_privilege('OGG18C');
SQL> exec dbms_streams_auth.grant_admin_privilege('OGG18C');
SQL> grant insert on system.logmnr_restart_ckpt$ to ogg18c;
SQL> grant update on sys.streams$_capture_process to ogg18c;
SQL> grant create any table to ogg18c;
SQL> grant create any view to ogg18c;
SQL> grant create any procedure to ogg18c;
SQL> grant create any sequence to ogg18c;
SQL> grant create any index to ogg18c;
SQL> grant create any trigger to ogg18c;
SQL> grant create any view to ogg18c;

###################################################################################
###############################################################################
######################################################## CONFIGURAR PRIVILEGIOS
SOMENTE NA ORIGEM ################################################################
###################################################################################
###############################################################################

cd $OGG_HOME

sqlplus / as sysdba

SQL> @marker_setup
SQL> @ddl_setup
SQL> @role_setup
SQL> grant ggs_ggsuser_role to ogg18c;
SQL> @ddl_enable
SQL> @ddl_pin OGG18C

###################################################################################
###############################################################################
###################################################################################
###############################################################################
######################################################### CRIANDO OS DIRETORIOS DO
ORACLE GOLDEN GATE ##########################################################
###################################################################################
###############################################################################
###################################################################################
###############################################################################

GGSCI (oca1labt09apre1) 10> show all

GGSCI (oca1labt09apre1) 10> create subdirs

###################################################################################
###############################################################################
###################################################################################
###############################################################################
######################################################## CONFIGURANDO O MANAGER
PROCESS NA ORIGEM ##############################################################
###################################################################################
###############################################################################
###################################################################################
###############################################################################

GGSCI (oca1labt09apre1) 10> stop mgr

GGSCI (oca1labt09apre1) 10> edit params mgr

PORT 7809
DYNAMICPORTLIST 7809-7830
AUTORESTART EXTRACT *, RETRIES 10, WAITMINUTES 2
AUTOSTART EXTRACT *
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 7
LAGCRITICALMINUTES 5
LAGREPORTMINUTES 60
LAGINFOMINUTES 3

GGSCI (oca1labt09apre1) 10> start mgr

GGSCI (oca1labt09apre1) 10> info mgr

GGSCI (oca1labt09apre1) 10> info all

GGSCI (oca1labt09apre1) 10> status mgr

GGSCI (oca1labt09apre1) 10> refresh mgr

GGSCI (oca1labt09apre1) 10> view report mgr

###################################################################################
###############################################################################
###################################################################################
###############################################################################
####################################################### CONFIGURANDO O MANAGER
PROCESS NO DESTINO ##############################################################
###################################################################################
###############################################################################
###################################################################################
###############################################################################

GGSCI (oca1labt09apre1) 10> stop mgr

GGSCI (oca1labt09apre1) 10> edit params mgr

PORT 7810
DYNAMICPORTLIST 7809-7830
AUTORESTART REPLICAT *, RETRIES 10, WAITMINUTES 2
AUTOSTART ER *
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 7
LAGCRITICALMINUTES 5
LAGREPORTMINUTES 60
LAGINFOMINUTES 3

GGSCI (oca1labt09apre1) 10> start mgr

GGSCI (oca1labt09apre1) 10> info mgr

GGSCI (oca1labt09apre1) 10> info all


GGSCI (oca1labt09apre1) 10> status mgr

GGSCI (oca1labt09apre1) 10> refresh mgr

GGSCI (oca1labt09apre1) 10> view report mgr

--#-----------------------------------------
--# Server 01 Details
--#-----------------------------------------
Server01 = 10.74.54.2
rmilanez / oficew$18C
oracle / K@baco2018

Server02 = 10.74.54.4
rmilanez / K@baco2018
oracle / K@baco2018
Oracle Database 18c and Oracle Golden Gate 18c

--#-----------------------------------------
--# GGSCI COMMANDS
--#-----------------------------------------

GGSCI> INFO ALL


GGSCI> INFO <xx>
GGSCI> INFO <xx> DETAIL
GGSCI> INFO EXTTRAIL <xx>

GGSCI> VIEW PARAMS <xx>


GGSCI> EDIT PARAMS <xx>
GGSCI> VIEW REPORT <xx>
GGSCI> sh ps -ef | grep pmon

GGSCI> history
GGSCI> !

GGSCI> SEND EXTRACT STATS


GGSCI> SEND EXTRACT <xx> SHOWCH
GGSCI> SEND EXTRACT ROLLOVER

GGSCI> VIEW GGSEVT --<<| Verificar o log do OGG (ggserr.log)

GGSCI> versions
-->>** PUMP: PASSTHRU

--#-----------------------------------------
--# SECURITY: CREDENTIAL STORE COMMANDS
--#-----------------------------------------

./dircrd --> CREDENTIAL STORE

./ggsci

GGSCI> info credentialstore


GGSCI> alter credentialstore add user GGUSER_12C password GGUSER_12C alias DBABR3
GGSCI> alter credentialstore delete user GGUSER_12C alias DBABR3

GGSCI> dblogin useridalias DBABR3


GGSCI> dblogin useridalias dbabr3 --<| Error: o ALIAS � CASE-SENSITIVE

GGSCI> alter credentialstore add user GGUSER_12C password XPTO alias DBABR3 --<|
Error: Senha ERRADA
GGSCI> alter credentialstore replace user GGUSER_12C password GGUSER_12C alias
DBABR3

--> DBLOGIN sem o CREDENTIAL STORE

dblogin userid GGUSER_12C, PASSWORD GGUSER_12C


dblogin userid GGUSER_12C password
AACAAAAAAAAAAAKAOCTCFIDIMJSDWCSISBHECERAYFAHVEUG, BLOWFISH, encryptkey default

--> VERIFICAR VERS�ES DE BANCO


GGSCI> dblogin useridalias gguser
GGSCI> versions

--#-----------------------------------------
--# SECURITY: WALLET COMMANDS
--#-----------------------------------------

./dirwlt --> WALLET

GGSCI> OPEN WALLET


GGSCI> INFO MASTERKEY
GGSCI> INFO MASTERKEY VERSION 1

--#-----------------------------------------
--# MACRO SCRIPTS
--#-----------------------------------------

./ggsci
GGSCI> info all
GGSCI> VIEW PARAMS EXDEV05A

include ./dirmac/setlogin.mac
include ./dirmac/setdb.mac
include ./dirmac/settings.mac
--include ./dirmac/settings_bid.mac
$ cd ./dirmac

$ cat setlogin.mac
$ cat setdb.mac
$ cat settings.mac

GGSCI> VIEW PARAMS EXINI05I

$ ogg12dev
$ cd ./ogg_add_table/ogg_add_table_model
$ cat ogg_add_table_model_extract.txt

--#-----------------------------------------
--# LOGDUMP COMMANDS
--#-----------------------------------------

./logdump
LOGDUMP> open ./dirdat/5d000000185
LOGDUMP> count --<<| Contar quantas transa��es est� dentro
do trailfile

LOGDUMP> pos 0
LOGDUMP> pos eof
LOGDUMP> n
LOGDUMP> pos rev
LOGDUMP> n
LOGDUMP> pos for

LOGDUMP> pos 0
LOGDUMP> decrypt on keyname superkey

LOGDUMP> fileheader detail --<<| To view the trail header


LOGDUMP> ghdr on --<<| To view the record header with the
data
LOGDUMP> detail on --<<| To add column information (ASCII)

LOGDUMP> n
LOGDUMP> n
LOGDUMP> exit

--#-----------------------------------------
--# FORMAS DE IMPLEMENTA��O
--#-----------------------------------------

ORIGEM : EXUNICUB | PMUNICUB


DESTINO: RTUNICUB

sqlplus / as sysdba

set lines 200 pages 100


column valor format a50
select * from REP_DATA.TAB_REPLICA_UNICUB order by 1;
--# REPLICAR SCHEMA ( REP_DATE )

EXTRACT > TABLE REP_DATA.*;


PUMP > TABLE REP_DATA.*;
REPLICAT > MAP REP_DATA.*, TARGET REP_DATA.*;

--# REPLICAR TABELA ( TAB_REPLICA_UNICUB )

EXTRACT > TABLE REP_DATA.TAB_REPLICA_UNICUB;


PUMP > TABLE REP_DATA.TAB_REPLICA_UNICUB;
REPLICAT > MAP REP_DATA.TAB_REPLICA_UNICUB, TARGET REP_DATA.TAB_REPLICA_UNICUB;

--# REPLICAR TABELAS COM PREFIXO ( TAB_REP* )

EXTRACT > TABLE REP_DATA.TAB_REP*;


PUMP > TABLE REP_DATA.TAB_REP*;
REPLICAT > MAP REP_DATA.TAB_REP*, TARGET REP_DATA.TAB_REP*;

--# REPLICAR LINHAS COM WHERE ( REGISTROS COM ID >= 100 )


TABLE REP_DATA.TAB_REP*, WHERE (ID >= 100);

--# REPLICAR LINHAS ( REGISTRO COM A COLUNA VALOR = 'VAI CURINTIAS' )


--# REPLICAR LINHAS ( REGISTRO COM A COLUNA VALOR = 'Vai CURINTIAS' )
--# REPLICAR LINHAS ( REGISTRO COM A COLUNA VALOR = 'VAI Curintias' )

TABLE REP_DATA.TAB_REP*, WHERE (VALOR = 'VAI CURINTIAS');


TABLE REP_DATA.TAB_REP*, WHERE (VALOR = 'Vai CURINTIAS');
TABLE REP_DATA.TAB_REP*, WHERE (VALOR = 'VAI Curintias');

--# REPLICAR LINHAS COM FILTER ( QUANDO VALOR = "VAI CURINTIAS")


--# FILTER + @StrEq
TABLE REP_DATA.TAB_REP*, FILTER (@STREQ (VALOR, "VAI CURINTIAS"));
TABLE REP_DATA.TAB_REP*, FILTER (@STREQ (VALOR, "VAI CURINTIAS") > 0);

--# REPLICAR LINHAS COM FILTER ( QUANDO VALOR CONT�M A PALAVRA "VAI CURINTIAS")
--# FILTER + @StrFind
TABLE REP_DATA.TAB_REP*, FILTER (@STRFIND (VALOR, "VAI CURINTIAS") > 0);

--#-----------------------------------------
--# EVENT ACTIONS / EVENT RECORDS
--#-----------------------------------------
--#---------------------------------------------------------------------
--# ABORTAR A REPLICACAO CASO O REGISTRO TENHA O ID >= 1000
--#---------------------------------------------------------------------
--# EventActions

TABLE REP_DATA.TAB_REP*, WHERE (ID >= 1000), &


EventActions (DISCARD, ABORT);

set lines 200 pages 100


column valor format a50
select * from REP_DATA.TAB_REPLICA_UNICUB order by 1;

insert into REP_DATA.TAB_REPLICA_UNICUB values (999, '# ORACLE GOLDENGATE # INSERT


999', sysdate);
commit;

insert into REP_DATA.TAB_REPLICA_UNICUB values (1000, '# ORACLE GOLDENGATE # INSERT


1000', sysdate);
commit;

--#---------------------------------------------------------------------
--# GRAVAR INFORMACAO EM UM ARQUIVO DE SAIDA QUANDO A TABELA FOR ATUALIZADA
--#---------------------------------------------------------------------
--# EventActions + SHELL

set lines 200 pages 100


column valor format a50
select * from REP_DATA.TAB_REPLICA_UNICUB order by 1;

TABLE REP_DATA.TAB_REPLICA_UNICUB, &


EventActions (SHELL 'echo ALTERACAO NA TABELA:
[ REP_DATA.TAB_REPLICA_UNICUB ] >> output.txt' );

insert into REP_DATA.TAB_REPLICA_UNICUB values (900, 'ORACLE GOLDENGATE NO DBA


BRASIL 3.0', sysdate);
commit;

insert into REP_DATA.TAB_REPLICA_UNICUB values (901, 'ORACLE GOLDENGATE NO DBA


BRASIL 3.0', sysdate);
commit;

--#---------------------------------------------------------------------
--# SUBSTITUIR E EXECUTAR ACOES BASEADO EM UM VALOR ESPECIFICO
--#---------------------------------------------------------------------
--# EventActions + SHELL + @StrSub

TABLE REP_DATA.TAB_REPLICA_UNICUB &


EventActions (SHELL ('echo [** PALMEIRAS **] IDENTIFICADO E SUBSTITUIDO POR:
$1 > output_file.txt' , VAR $1 = @STRSUB(valor, 'PALMEIRAS', 'PALMEIRAS N�O TEM
MUNDIAL !!!')), LOG);

insert into REP_DATA.TAB_REPLICA_UNICUB values (6001, 'PALMEIRAS', sysdate);

commit;

--# WHERE + EVENTACTIONS


TABLE REP_DATA.TAB_REP*, &
WHERE (ID >= 100), &
EventActions (LOG);

--# WHERE + EVENTACTIONS 2


TABLE REP_DATA.TAB_REP*, WHERE (ID >= 1000), &
EventActions (DISCARD, ABORT);
ou
EventActions (REPORT, LOG)

You might also like