Convivencia de HDR/ER y Mach 11

Anuncio
IBM Software Group
© 2009 IBM Corporation
© 2007 IBM Corporation
"
#
$% & ' () *(
$( - & #
./) 0 (),
) '
-
#
1
() 0
(3
%4"
+,
# ./) 0 ()
'
./) 0 ()
'
2
".
1
!
' )
0 ()
$% & ' / (
('
'-
' )
#
*()+,
1
' #
'
'
(' '6
02
&
*/ 7
' #
''
09
:
0<2
' #
' # 1 #/
/'
1 #/ '
'#:
3
#
' >#
? # '
1 '
#2
#
@
!
8'
0 ;#
+
'=
#
6
#
5
> 2'
B
B
B
B
B
!
# ()
B '1 C 7
9 D
EB '
7
75
'1
*7 5 4
+
E ) #' F # % ' 0 GH=.
2 )
'1
* 5+
E ( ' # #=
#
' =
=
#
F # ) !? =
' I0
>
'
'=J
' 1 B* A+
E
()9
./) '
K
=
3#
#'
'
'=
3# / '
3'= 3 ' #
=(
#
'
' 1 B*
+
E:
'=" '=) '0 =)
'
' '=)&
'
2#<
'1 B*
+
E /0
0 #
()
= %?"# "
A
$( - #
./) 0 (),
HDR
Consta de un único servidor primario y
uno o varios secundarios (11.50 +).
ER
Permite configurar varias fuentes y destinos
Tanto el servidor primario como el secundario La fuente y el destino no tienen por que ser
deben correr los mismos ejecutables y con
idénticas.
la misma disposición de discos.
El secundario puede está restringido a solo
lectura o puede escribirse en él (11.50 +).
Permite el uso total de la fuente y el destino.
Simple de configurar y administrar
La configuración y la admon. es más compleja.
El servidor secundario es espejo del primario
La fuente y el destino pueden ser diferentes.
No soporta blobs que esten en blobspace´s
Soporta blobs que esten en blobspace´s
La replication puede ser síncrona o asíncrona. La replication es asíncrona
Su propósito es Alta Disponibilidad
!
Su propósito es el de Distribución de Datos.
./) L $ 1
,
Prueba
Logical
Log
Buffer
drsecapply
Logical Logs
Escritos a Disco
Primario
!
LogRecvr
Prueba
HDR
Buffer
Reception
Buffer
DRINTERVAL
Establece el máximo lapso en segundos
entre transmisiones del buffer de HDR
Configure a ‘-1’ para Rep. síncrona.
Recovery
Buffer
Logical Logs
Escritos a Disco
Secundario
D
() L $ 1
,
Fuente
Destino
á
)
'
'
'0
M
'0' #
/
' >
:
2 #'
/
0
M
M
?
%
!
/
/
00 2
2
"
% N
#
?
0
)
%
NIF
>
: ' ':
: ’'
' # '' '
7
'
?
'-2 '
:0
!"
Group Name
>
"
!
#
#
'
'2
#
'
' > '2
' > '2
'2
#
'
' > '2
"
#
'>
' > '2
2 '
'2
2 '
'
$
"$
' > '2
%!"
!
>
#
'>
()
#
#
' > '2
!"
CDRID –
Cualquier número entre
1 y 32768
Asegurese de que el alias TCP/IP que use rep sea el
siguiente a la definición del grupo
$%
"$
%!"
"$
%!"
El CDRID debe ser único
dentro
del esquema de
replicación.
NO!!!
Los grupos de ER solo deben
tener conexiones TCP.
O
'
?
'-2 '
:0
!"
>
"
#
'2#
>
#< ' 2
%!"
'2
"
!
'
'
#
'>
' > '2
#
2 '
'2
!
#
#
2 '
./) * A 8+
Configure el par de servidores de HDR
como miembros del mismo grupo de ER
>
'2#
>
' > '2
()
'
$
"$
!"
"$
!"
' > '2
#
#
' > '2
$%
"$
%!"
2
*
G#
( /
* 2 #/'N
'
>
#'
'
#0
&&*)
0+
# 0+ 0 & &
# 0+
Comunicación HDR
Comunicación SMX
producción
sds1
Co
m
un
ica
ció
n
SM
X
rss1
!
2">
hdr1
Co
m
un
ica
ció
n
SM
X
sds2
() 0
".
RSS
HDR
SDS
ER
SDS
RSS
!
ER
ER
HDR
'
?
:0
!"
>
"
()
>
#
#
#
'2#
>
#< ' 2
'
'.#
> '2
''
'2
# >
'
' >5
'2
' > '2
'2
#
' > '2
' > '2
"
'2
2
*
Configure el conjunto de servidores de Mach-11
como miembros del mismo grupo de ER
'2#
>
' >%!"
!
'-2 '
'
2
# '
##
2 '
'#
> '2
!
'
$
"$
!"
"$
!"
"$
!"
$%
"$
%!"
8+
(3
!
Primario HDR
%oninit -ivy
%onspaces -c -S replsbs -p
./replsbs -o 0 -s 10000 -Mo
0 -Ms 100
%onmode -wf
LOG_INDEX_BUILDS=1
%dbaccessdemo7 –log
%ontape –s -L 0
%cdr define server -c g_erp1
–A /tmp -R /tmp -I g_erp1
%onmode -d primary test3_tcp
%onmode -d add RSS test4_tcp
!
%!
Participante de ER sin HDR
'!
Secundario HDR
(!
Secundario RSS
%ontape –r
%onmode –m
%cdr define server -A /tmp -R /tmp –I
–S g_erp1 g_erp2
%cdr define repl –C "ignore" -S tran -R
–A er2 \
"stores_demo@g_erp1:informix.customer"\
"select * from customer"\
"stores_demo@g_erp2:informix.customer"\
"select * from customer”
%cdr start repl er2
%ontape –p
%onmode -d secondary
test1_tcp
%ontape –p
%onmode -d RSS test1_tcp
5
(3
!
C
A
(3
!
C
(3
!
C
D
(3
!
C
7
!
O
!
!
!
>
#
0 >' > ' C
!
#
)
./)
# 0
>
#
0 >' > ' C
!
#
)
./)
# 0
5
>
#
0 >' > ' C
!
#
)
./)
# 0
A
>
#
0 >' > ' C
!
#
)
./)
# 0
/
L ('
') #
# '=$ 1
,
?'
'# '
* G ():=;/ ":(0 /(?
(:(+ '
K
#
#'
#
=
' >P '
' #' '
'#
'
( 2- #
'0
'
''
P
#
'
'
!
#
=0
#
#
# ./)=) 0
9 / '
>
>
= #' '
''
K
# #'
>
D
/
L ('
'
;'
') #
/ ?
=
'
P
#
> '1
'
# '
#'
=$ 1
#
,
'
=6 # '
=
#
'
=
'
'
6
'
>
6
'
C
# #
;/:'
'
# '
?! '
?! ''
!
'
'# #
'
?
# '
'
'
7
#
( '
#
>
K
)*
; >
#
; > '
> 9
*
!&
#
1
>
6 #
+# '2
'8
'
Q!G !GHM
-.
'#
''
''
M
'
#
'C
/
1 0# ' 2 # '
'
P '
#
#
'
' 6
'
'#
'#
''
' # # ' (3C
E ; /":" ?(T ( !G/")U 5
'
P
/
+ ,
R
'"
P
P# '
'
1
S
A 2 #'' '#9
'
> 2 #'*
5
1
# ". +
El valor de UPDATABLE_SECONDARY no debe ser
mayor al doble de los CPU VPs de la instancia.
!
O
;' # ) < B '
+
) #
P 1 #
.+
#0
-
.
-0
3
&
"
1
2
&
1
3 4
2
"
(' '
5%
6
'
7
V
" 8
1 0
'6
#' 2
6
2
7 9
!
:
8
2
"F # # ) < B '
;
6
"
1
##>
*
6
>
1
'
W
6
E
"0
*
X
X
X
E +< 2>
!
'
W
"0
#
*
0
T
T
T
#
#
#
0 =
0 =
0
'
W
5
#
'
P
-
#
#
7
-
#
P 1
'# '
'
>L'
'
P
''
#
!
!
6'
8
0
/
('
(
'4
'#
# '*
#'
- 20
2 0 '#
1 #
# >'
2'
#
'
P 1 '
P#
'
Y
'#
'
Z#
'<
'
+
0
#
''1
'
-
'
5
#
&
7A
&
'
P
" <
=
:
-.B +8
1
'4
!
5
4
1
6'
#>'?@
2
5
6
2
&
5
"
<
=
0
?(G:! 0
!
0
'
#
#[
[
[
[
5
(3
#
1 -
' ) <B '
0!
'
0
• Se pueden usar las vercols explícitamente para revisar que tan
“fresca” es la data:
/* Añade las version columns */
$alter table T1 add vercols;
/* declara y abre un cursor con row version */
$declare cur1 cursor for select *, ifx_row_id from T1;
$open cur1;
/* Busca la data */
$fetch cur1 into :my_id, :my_name, :row_id;
/* Procesa la data y toma una decisión decision */
do_update = get_user_input(my_id, my_name);
/* Actualiza la data si se requiere*/
if (do_update)
{
/* compara ifx_row_id actual con el leído anteriormente*/
$update T1 set name = :my_name where id = :my_id and ifx_row_id = :row_id;
/*revisa si se puede actualizar exitosamente o devuleve un error */
if (sqlca.sqlerrd[2] < 1 )
raise_warning(“trying to update stale data”);
}
!
55
!
5A
!
5
!
5D
!
57
!
5O
!
5
!
A
!
A
!
A
!
A5
/
!
L
".
"#
'
1
!":
AA
/
!
L ()"#
'
1
!":
A
'
K'C
0'
"#
2 C9
9
<<<
'
9
#>
< N'9
O
'9 9
#
2 C9
9
<<<
9
#>
>
< N'9
'9
">
0
2 C9
9
<<<
'<2
P
".
".
:
2 C9
9
<<<
P
/0
2 C9
9
#
/0
2 C9
9
!
] /0
9 '9
<2
^:2
9 2
> "#
9
> (
#
9
9
9#'
#
/0
O2
>
, \/
>
^:2
'9 2 T<2
_
#
_
> ><
'
`' )
'9#9 577A
#
' )
M #
'9#9 577
#
AD
.
"
)C0
http://www.iiug.org/
!
A7
!
AO
2
!
A
Descargar