SelectEtoile : Base de connaissance SGBD

Posts Tagged 'suspend'

Mise en place d'un Replication MSA

Pour commencer, il faut avoir installer un Replication Server (Lire l'article suivant : Mise en place d'un Replication Server SYBASE 15)

 

Nous allons mettre une réplication entre DBSource (ASE SYBServerSource sur la machine HostSource) et DBCible (ASE SYBServerCible sur la machine HostCible)

 

Sourcer le fichier SYBASE.sh sur le RSServer. Ajouter dans le fichier interfaces les entrées des serveurs primaire et secondaire (SYBServerSource et SYBServerCible)

 

Créer un login DB_repl_maint sur SYBServerSource et SYBServerCible (login spécifique à la repli).

 

Mise en place d'une connexion logique (surtout utile pour du WarmStandBy) sur RSServer :

create logical connection to LDS_DBSource.LDB_DBSource

go

 

Mise en place de l'agent sur le Primaire (SYBServerSource) :

use DBSource

go

sp_configure '"enable rep agent thread"', 1

go

sp_config_rep_agent "DBSource", '"scan batch size"','"20000"'

go

sp_config_rep_agent "DBSource" , '"schema cache growth factor"','"2"'

go

sp_adduser DB_repl_maint

go

 

Préinstallation de la repli via l'utilitaire rs_init

sybinit.release_directory: "$SYBASE"
sybinit.product: rs
rs.rs_operation: rs_setup_db
rs.rs_name: RSServer
rs.rs_rs_sa_user: sa
rs.rs_rs_sa_pass: "SaPasswdRsServer"
rs.rs_ds_name: "SYBServerSource"
rs.rs_ds_sa_user: sa
rs.rs_ds_sa_password: "SaPasswdSYBServerSource"
rs.rs_db_name: "DBSource"
rs.rs_requires_ltm: yes
rs.rs_db_maint_user: USE_DEFAULT
rs.rs_db_maint_password: USE_DEFAULT
rs.rs_db_dbo_user: sa
rs.rs_db_dbo_password: "SaPasswdSYBServerSourcer"
rs.ltm_name: "SYBServerSource"
rs.rs_ltm_rs_user: USE_DEFAULT
rs.rs_ltm_rs_pass: USE_DEFAULT
rs.rs_ltm_admin_user: USE_DEFAULT
rs.rs_ltm_admin_pass: USE_DEFAULT
rs.rs_ltm_errorlog: USE_DEFAULT
rs.rs_ltm_cfg_file: USE_DEFAULT
rs.rs_charset: USE_DEFAULT
rs.rs_language: USE_DEFAULT
rs.rs_sortorder: USE_DEFAULT
rs.rs_db_physical_for_logical: yes
rs.rs_db_active_or_standby: active
rs.rs_db_logical_ds_name: "LDS_DBSource"
rs.rs_db_logical_db_name: "LDB_DBSource"
rs.rs_init_by_dump: no
rs.do_add_replication_server: no
rs.do_add_ltm: no

 

Activation de la replication sur le Primaire (SYBServerSource) :

use DBSource

go

sp_reptostandby "DBSource","ALL"

go

 

Lancer la connection sur le RSServer :

resume connection to SYBServerSource.DBSource

 

Mise en place de la replication vers le secondaire (connection, Replication Definition, Souscription)

Se connecter au RSServer

create connection to SYBServerCible.DBCible
set error       class rs_sqlserver_error_class
set function string class rs_sqlserver_function_class
set username DB_repl_maint
set password DB_repl_maint_pwd
go
!!sleep 5
go
create   database replication definition  RD_DBSource
with primary at LDS_DBSource.LDB_DBSource
not replicate system procedures
not replicate ddl
go
!!sleep 5
go
define subscription SU for database replication definition RD_DBSource
with primary at LDS_DBSource.LDB_DBSource
with replicate at SYBServerCible.DBCible
subscribe to truncate table
use dump marker
go

 

Rafraichissement de la base secondaire DBCible :

dump de la base primaire DBSource et load de ce dump sur la base secondaire DBCible

 

Démarrage de la réplication :

Lancer un 'resume connection to SYBServerCible.DBCible' sur le RSServer

 

Vérification du bon fonctionnement :

Sur le RSServer : lancer un 'admin who_is_down'. Si pas de ligne, tout fonctionne

Sur le SYBServerCible, dans la base DBCible : lancer 'select origin_time,dest_commit_time from rs_lastcommit'. Cela permet de visualiser le temps de réplication.