Installation d'un serveur de réplication Sybase 15 avec un fichier de ressources


1- Introduction

Dans cet article, on se propose de créer un serveur de réplication Sybase 15.0 avec un fichier de ressources et de décortiquer les opérations effectuées pas à pas. Utiliser un fichier de ressources, permet d'industrialiser la création d'un serveur de réplication et permet d'éviter la lourdeur des interfaces graphiques du binaire rs_init.

Le contexte du schéma de réplication est donné dans le graphique ci-dessous :

La base de données cgcdb sur le serveur primaire DBA_T1_ASE est répliquée en mode standby sur le serveur secondaire DBA_T2_ASE (base cgcdb).

Le serveur de réplication mis en œuvre s'appelle DBA_T1_REP et la base de données système du système de réplication est installée sur le serveur secondaire DBA_T2_ASE et s'appelle RSSD_DB_V15 (RSSD pour Replication Server System Database).

Dans l'article, les composants installés par un fichier de ressources sont :

La mise en œuvre du système standby pour la base cgcdb fera l'objet d'une autre documentation.

2- Contexte de l'environnement

2-1- Environnement Replication Server 15.0

DBA_T1_REP est créé avec une distribution Replication Server 15.0 (RS 15). Cette distribution est installée dans le répertoire /Software/sybase/repsrv-15 et n'est pas installée dans une distribution Sybase ASE 15.0 classique, ceci dans le but d'offrir à Sybase Replication Server 15.0 son propre Open Client 15.0 en cas de nécessité de patch.

Pour prendre l'environnement Replication Server 15.0, les variables ci-dessous doivent être définies :

export SYBASE=/Software/sybase/repsrv-15
export SYBASE_REP=REP-15_0
export SYBASE_OCS=OCS-15_0
PATH=$SYBASE/$SYBASE_REP/bin:$SYBASE/$SYBASE_OCS/bin:$PATH
export PATH
LD_LIBRARY_PATH=$SYBASE/$SYBASE_REP/lib:$SYBASE/$SYBASE_OCS/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

La variable SYBASE_REP est très importante car elle définit le répertoire REP-15_0 dans la distribution de Sybase Replication Server.

2-2- Environnement des serveurs Adaptive Server Enterprise 15.0

Les serveurs Adaptive Server Enterprise DBA_T1_ASE et DBA_T2_ASE sont des versions 15.0 beta 2.

La distribution ASE 15.0 beta 2 est installée dans le répertoire /Software/sybase/15.0

Pour prendre l'environnement Adaptive Server 15.0 beta2, les variables ci-dessous doivent être définies :

export SYBASE=/Software/sybase/15.0
export SYBASE_ASE=ASE-15_0
export SYBASE_OCS=OCS-15_0
PATH=$SYBASE/$SYBASE_ASE/bin:$SYBASE/$SYBASE_OCS/bin:$PATH
export PATH
LD_LIBRARY_PATH=$SYBASE/$SYBASE_ASE/lib:$SYBASE/$SYBASE_ASE/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

Le fichier interfaces est installé dans le répertoire /Software/sybase.

3- Création du serveur de réplication et de la RSSD

3-1- Préparation à la création du serveur de réplication

Le fichier interfaces dans le répertoire /Software/sybase est d'ores et déjà préparé et contient toutes les entrées pour les serveurs DBA_T1_ASE, DBA_T2_ASE et DBA_T1_REP. Un lien vers le fichier interfaces est créé dans la distribution Replication Server 15.0 (/Software/sybase/repsrv-15) :

sybase@cgc > cd  /Software/sybase/repsrv-15
sybase@cgc > ln -fs /Software/sybase/interfaces interfaces

Exemple de fichier interfaces avec les entrées DBA_T1_ASE, DBA_T2_ASE et DBA_T1_REP :

...

DBA_T1_ASE
        master tcp ether cgc 50001
        query tcp ether cgc 50001

DBA_T2_ASE
        master tcp ether cgc 50011
        query tcp ether cgc 50011

DBA_T1_REP
        master tcp ether cgc 50501
        query tcp ether cgc 50501
...

3-2- Le fichier de ressources de création du serveur de réplication

Un fichier exemple de ressources install.rs est fourni en standard dans la distribution Replication Server dans le répertoire <localisation_repserver>/$SYBASE_REP/init/rs

(dans le cas pratique de cette documentation : /Software/sybase/reprsrv-15/REP-15_0/init/rs).

Il suffit de copier ce fichier install.rs et de personnaliser cette copie pour la création du nouveau Replication Server DBA_T1_REP. Le fichier ressource de création de DBA_T1_REP est appelé install_DBA_T1_REP.rs et est installé dans le répertoire /Software/sybase/repsrv-15/REP-15_0/install.

Sections du fichier install_DBA_T1_REP.rs

Dans le fichier de ressources, les paramètres sybinit.release_directory, sybinit.product et rs.rs_operation doivent être impérativement renseignés :

   
sybinit.release_directory Répertoire d'installation de la distribution Replication Server
/Software/sybase/repsrv-15
sybinit.product Produit à installer (rs pour Replication Server)
rs
rs.rs_operation Précise si il s'agit d'une installation (rs_install), d'un upgrade (rs_upgrade) ou d'un downgrade (rs_downgrade) d'un système de réplication.
rs_install
sybinit.release_directory: /Software/sybase/repsrv-15
sybinit.product: rs
rs.rs_operation: rs_install

La section ID SERVER INFORMATION précise les paramètres du serveur de réplication dans un contexte où un serveur de réplication primaire est installé avec des serveurs de réplication secondaire.

Dans l'architecture envisagée, il n'existe pas de serveurs de réplication secondaire avec des routes et le serveur de réplication à installer est donc systématiquement un serveur primaire.

   
rs.rs_idserver_name Nom du serveur de réplication primaire
DBA_T1_REP
rs.rs_id_server_is_rs_server Le serveur de réplication à installer est il le serveur de réplication primaire ?
yes
# ID SERVER INFORMATION
rs.rs_idserver_name: DBA_T1_REP
rs.rs_id_server_is_rs_server: yes
rs.rs_idserver_user: USE_DEFAULT
rs.rs_idserver_pass: USE_DEFAULT
rs.rs_start_rs_id: USE_DEFAULT
rs.rs_start_db_id: USE_DEFAULT

La section REPLICATION SERVER INFORMATION précise les paramètres du serveur de réplication :

   
rs.rs_name Nom du serveur de réplication
DBA_T1_REP
rs.rs_requires_ltm Indique si le serveur de réplication utilise la technologie LTM (Log Transfer Manager), technologie mis en œuvre dans les versions ASE 11.x et RS 11.x, ce qui n'est pas le cas ici.
no
rs.rs_needs_repagent Indique si la base système de réplication RSSD du serveur de réplication à installer est répliquée vers d'autres serveurs de réplication par un agent de réplication
no
rs.rs_rs_errorlog Localisation du fichier de log du RS :
/Software/sybase/dba/DBA_T1_REP/log/DBA_T1_REP.log
rs.rs_rs_cfg_file Localisation du fichier de configuration du RS :
/Software/sybase/dba/DBA_T1_REP/cfg/DBA_T1_REP.cfg
rs.rs_charset Jeu de caractères du RS
USE_DEFAULT (cp850)
rs.rs_language Langage du RS
USE_DEFAULT (english)
rs.rs_sortorder Ordre de tri du RS
USE_DEFAULT (binary)
# REPLICATION SERVER INFORMATION
rs.rs_name: DBA_T1_REP
rs.rs_requires_ltm: no
rs.rs_needs_repagent: no
rs.rs_rs_errorlog: /Software/sybase/dba/DBA_T1_REP/log/DBA_T1_REP.log
rs.rs_rs_cfg_file: /Software/sybase/dba/DBA_T1_REP/cfg/DBA_T1_REP.cfg
rs.rs_charset: USE_DEFAULT
rs.rs_language: USE_DEFAULT
rs.rs_sortorder: USE_DEFAULT

La section REPLICATION SERVER SYSTEM DATABASE INFORMATION précise les paramètres de la base système du serveur de réplication (RSSD):

   
rs.rs_rssd_sqlsrvr Nom du serveur ASE hébergeant la base RSSD
DBA_T2_ASE
rs.rs_rssd_db Nom de la base de données RSSD
RSSD_DB_V15
rs.rs_rssd_ha_failover La base de données RSSD est elle mise en œuvre dans un système ha failover
No
rs.rs_create_rssd Indique si la base RSSD est créée par l'installation
yes
rs.rs_rssd_sa_login Login à utiliser ayant le rôle sa_role sur le serveur hébergeant la base RSSD
USE_DEFAULT : sa
rs.rs_rssd_sa_pass Mot de passe du login ayant le rôle sa_role sur le serveur hébergeant la base RSSD
<mot de passe du login sa dans le serveur DBA_T2_ASE>
rs.rs_rssd_prim_user User utilisé par Replication Server pour se connecter au serveur hébergeant la base RSSD
USE DEFAULT : <rs_rssd_db>_prim
rs.rs_rssd_prim_pass Mot de passe du user rs_rssd_prim_user
USE DEFAULT : <rs_rssd_db>_prim_ps
rs.rs_rssd_maint_user User de maintenance utilisé par Replication server.
USE DEFAULT : <rs_rssd_db>_maint
rs.rs_rssd_maint_pass Mot de passe du user de maintenance
USE DEFAULT : <rs_rssd_db>_maint_ps
rs.rs_rssd_dbo_user Login/user qui sera le dbo de la base RSSD sur le serveur hébergeant la base RSSD
USE_DEFAULT : sa
rs.rs_rssd_dbo_pass Mot de passe du login/user qui sera le dbo de la base RSSD
USE_DEFAULT : A renseigner si le dbo n'est pas le login sa.
# REPLICATION SERVER SYSTEM DATABASE INFORMAITON
rs.rs_rssd_sqlsrvr: DBA_T2_ASE
rs.rs_rssd_db: RSSD_DB_V15
rs.rs_rssd_ha_failover: no
rs.rs_create_rssd: yes
rs.rs_rssd_sa_login: USE_DEFAULT
rs.rs_rssd_sa_pass: xxxxx
rs.rs_rssd_prim_user: USE_DEFAULT
rs.rs_rssd_prim_pass: USE_DEFAULT
rs.rs_rssd_maint_user: USE_DEFAULT
rs.rs_rssd_maint_pass: USE_DEFAULT
rs.rs_rssd_dbo_user: USE_DEFAULT
rs.rs_rssd_dbo_pass: USE_DEFAULT

La section REPLICATION SERVER SYSTEM DATABASE DEVICE INFORMATION précise les paramètres de création des devices pour la base RSSD et les paramètres de création de la base RSSD, cette section n'est utilisée que si dans le fichier de ressources il est demandé de créer la base RSSD (rs.rs_create_rssd : yes dans la section REPLICATION SERVER SYSTEM DATABASE INFORMATION), ce qui est le cas dans cet article.

   
rs.rs_rsdddb_size Taille en Mb de la base RSSD à créer sur le device de data
80
rs.rs_rssd_log_size Taille en Mb de la base RSSD à créer sur le device de log
20
rs.rs_rssd_db_device_name Nom logique du device de data
data_RSSD_DB_V15_01
rs.rs_create_rssd_database_dev Flag indiquant si le device de data doit être créé au cours de l'installation
yes
rs.rs_rssd_db_device_path Chemin du device de data pour la création
/cgcdb/sybase/DBA_T2_ASE/data_RSSD_DB_V15_01.dat
rs.rs_rssddb_device_size Taille en Mb du device de data
100
rs.rs_rssd_log_device_name Nom logique du device de log
log_RSSD_DB_V15_01
rs.rs_create_rssd_log_dev Flag indiquant si le device de log doit être créé au cours de l'installation
yes
rs.rs_rssd_log_device_path Chemin du device de log pour la création
/cgcdb/sybase/DBA_T2_ASE/log_RSSD_DB_V15_01.dat
rs.rs_rssd_log_device_size Taille en Mb du device de log
50
# REPLICATION SERVER SYSTEM DATABASE DEVICE INFORMAITON
# (USED ONLY IF RS_INIT IS TO CREATE THE RSSD)
rs.rs_rsdddb_size: 80
rs.rs_rssd_log_size: 20
rs.rs_rssd_db_device_name: data_RSSD_DB_V15_01
rs.rs_create_rssd_database_dev: yes
rs.rs_rssd_db_device_path: /cgcdb/sybase/DBA_T2_ASE/data_RSSD_DB_V15_01.dat
rs.rs_rssddb_device_size: 100
rs.rs_rssd_log_device_name: log_RSSD_DB_V15_01
rs.rs_create_rssd_log_dev: yes
rs.rs_rssd_log_device_path: /cgcdb/sybase/DBA_T2_ASE/log_RSSD_DB_V15_01.dat
rs.rs_rssd_log_device_size:50

La section DISK PARTITION INFORMATION précise les paramètres de la première partition du serveur de réplication :

   
rs.rs_diskp_name Localisation et nom du fichier physique de la première partition du serveur de réplication à créer
/cgcdb/sybase/DBA_T1_REP/stabledevice/part1.dat
rs.rs_diskp_lname Nom logique de la première partition
part1
rs.rs_diskp_size Taille en MB de la première partition
20
rs.rs_diskp_vstart Numéro logique de la première partition (vdevno) si on souhaite un numéro logique différent.
# DISK PARTITION INFORMATION
rs.rs_diskp_name: /cgcdb/sybase/DBA_T1_REP/stabledevice/part1.dat
rs.rs_diskp_lname: part1
rs.rs_diskp_size: 20
rs.rs_diskp_vstart: 0

Sur les plateformes Unix, le fichier physique pour la partition doit être créé avec la commande touch.

shell > touch /cgcdb/sybase/DBA_T1_REP/part1.dat

La section REMOTE SITE CONNECTION INFORMATION précise le user et le mot de passe que les autres Replication Server potentiels utiliseront pour se connecter. Le user et le mot de passe par défaut sont respectivement : <replication_servername>_rsi et <replication_servername>_rsi_ps.

# REMOTE SITE CONNECTION INFORMATION
rs.rs_rs_user: USE_DEFAULT
rs.rs_rs_pass: USE_DEFAULT

La section SYSTEM DATABASE LOG TRANSFER MANAGER INFORMATION précise les paramètres si de la technologie LTM (Log Transfer Manager, ASE 11.x et RS 11.x) est mise en œuvre, ce qui n'est pas le cas ici (rs.rs_requires_ltm: no). Il n'est pas nécessaire de renseigner cette section.

La section ID SERVER INTERFACES INFORMATION précise les paramètres à ajouter dans le fichier interfaces pour le serveur de réplication primaire (ID SERVER), ce qui n'est pas le cas ici car il ne s'agit pas de l'installation d'un serveur de réplication secondaire. Il n'est donc pas nécessaire de renseigner cette section et de laisser rs.do_add_id_server à no.

# ID SERVER INTERFACES INFORMATION
rs.do_add_id_server: no

La section REPLICATION SERVER INTERFACES INFORMATION précise les paramètres à ajouter dans le fichier interfaces pour le serveur de réplication, ce qui n'est pas le cas ici car le fichier interfaces est déjà renseigné avec le serveur de réplication. Il n'est pas nécessaire de renseigner cette section et de laisser rs.do_add_replication_server à no.

# REPLICATION SERVER INTERFACES INFORMATION
rs.do_add_replication_server: no
 ...

La section LOG TRANSFER MANAGER INTERFACES INFORMATION précise les paramètres à ajouter dans le fichier interfaces si de la technologie LTM (Log Transfer Manager, ASE 11.x et RS 11.x) est mise en œuvre, ce qui n'est pas le cas ici (rs.rs_requires_ltm: no). Il n'est pas nécessaire de renseigner cette section et de laisser rs.do_add_ltm à no.

# LOG TRANSFER MANAGER INTERFACES INFORMATION - IF RSSD HAS LTM
rs.do_add_ltm: no
 ...

La section REPLICATION SERVER SECURITY INFORMATION précise les paramètres propres à la sécurité (utilisation de DCE, Kerberos) et ne sont disponibles que pour NT et Solaris. Il n'est pas nécessaire de renseigner cette section et de laisser rs.rs_network_security_enable à no.

# REPLICATION SERVER SECURITY INFORMATION
rs.rs_network_security_enable: no
 ...

3-3- Lancement de la création (rs_init)

Après personnalisation du fichier de ressource install_DBA_T1_REP.rs, la création du serveur de réplication DBA_T1_REP et la création de la base de données RSSD sont déclenchées avec le binaire rs_init dans le répertoire <path_distribution_replicationserver>/$SYBASE_REP/install (/Software/sybase/repsrv-15/REP-15_0/install dans le contexte de cet article).

Syntaxe :

rs_init :
        rs_init
         [-a]
         [-c charset]
         [-e]
         [-h]
         [-l language]
         [-log log_file]
         [-r resource_file]
         [-s release_directory]
         [-v]

L'option -r permet de donner un fichier de ressources au binaire rs_init et évite ainsi l'utilisation graphique du binaire rs_init.

Pour lancer la création de DBA_T1_REP avec le binaire rs_init en utilisant le fichier de ressource /Software/sybase/repsrv-15/REP-15_0/install/install_DBA_T1_REP.rs

export SYBASE=/Software/sybase/repsrv-15
export SYBASE_REP=REP-15_0
export SYBASE_OCS=OCS-15_0
PATH=$SYBASE/$SYBASE_REP/bin:$SYBASE/$SYBASE_OCS/bin:$PATH
export PATH
LD_LIBRARY_PATH=$SYBASE/$SYBASE_REP/lib:$SYBASE/$SYBASE_OCS/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

$SYBASE/$SYBASE_REP/install/rs_init -r/$SYBASE/$SYBASE_REP/install/install_DBA_T1_REP.rs
-log $SYBASE/$SYBASE_REP/install/install_DBA_T1_REP.log

3-4- Opérations effectuées lors de la création

Dans ce paragraphe sont expliquées les différentes phases lancées avec le binaire rs_init , phases qui sont :

(le fichier de log allégé est donné en annexe 1 de cette documentation).

  1. création des devices et de la base RSSD
  2. création des logins et users
  3. création des objets et du groupe rs_systabgroup dans la base RSSD
  4. désactivation de l'éventuel point de troncature de réplication existant dans la base RSSD
  5. affection des users dans le groupe rs_systabgroup
  6. démarrage du serveur de réplication
  7. création de la connexion entre le serveur de réplication et la base RSSD
  8. création de la partition du serveur de réplication
  9. définition des users pour les agents de réplication et autres serveurs de réplication dans le serveur de réplication

3-4-1- Phase 1 : création des devices et de la base RSSD

Création des devices pour la base de données RSSD

use master
go
disk init name = 'data_RSSD_DB_V15_01',
physname = '/cgcdb/sybase/DBA_T2_ASE/data_RSSD_DB_V15_01.dat',
vdevno= 3,
size = 51200
go
disk init name = 'log_RSSD_DB_V15_01',
physname ='/cgcdb/sybase/DBA_T2_ASE/log_RSSD_DB_V15_01.dat',
vdevno = 4,
size = 25600
go

Création de la base de données RSSD :

use master
go
create database RSSD_DB_V15 on data_RSSD_DB_V15_01 = 80 log on log_RSSD_DB_V15_01 = 20
go

3-4-2- Phase 2 : création des logins et users

Création du login et du user RSSD_DB_V15_prim:

use master
go
sp_addlogin RSSD_DB_V15_prim,'RSSD_DB_V15_prim_ps',RSSD_DB_V15
go
use RSSD_V15_DB
go
exec sp_adduser 'RSSD_DB_V15_prim'
go

Création du login et du user RSSD_DB_V15_maint :

use master
go
sp_addlogin RSSD_DB_V15_maint,'RSSD_DB_V15_maint_ps',RSSD_DB_V15
go
use RSSD_V15_DB
go
exec sp_adduser 'RSSD_DB_V15_maint'
go

3-4-3- Phase 3 : création des objets et du groupe rs_systabgroup dans la base RSSD (rs_install_systables_ase.sql et rsprocs_ase.sql)

Dans la phase 3, le binaire rs_init lance successivement les scripts rs_install_systables_ase.sql et rsprocs_ase.sql installés dans le répertoire <installation_ replicationserver>/$SYBASE_REP/scripts (/Software/sybase/repsrv-15/REP-15_0/scripts dans le cadre de cet article).

Le script rs_install_systables_ase.sql créé les types, les tables et le groupe rs_systabgroup dans la base RSSD.

Le script rsprocs_ase.sql installe les procédures stockées système rs_% dans la base RSSD.

3-4-4- Phase 4 : activation du point de troncature de réplication dans la base RSSD

use RSSD_DB_V15
go
dbcc settrunc('ltm', 'ignore')
go
dump tran RSSD_DB_V15 with no_log
go
dbcc settrunc('ltm', 'valid')
go

3-4-5- Phase 5 : affectation des users dans le groupe rs_systabgroup

Affectation des users %_prim et %_maint dans le groupe rs_systabgroup de la base RSSD :

use RSSD_DB_V15
go
exec sp_changegroup rs_systabgroup,RSSD_DB_V15_prim
go
exec sp_changegroup rs_systabgroup,RSSD_DB_V15_maint
go

3-4-6- Phase 6 : Démarrage du serveur de réplication

Dans cette phase, le fichier de configuration DBA_T1_REP.cfg du serveur de réplication est généré et le serveur de réplication est démarré avec la ligne de commandes :

/Software/sybase/repsrv-15/REP-15_0/bin/repserver
-SDBA_T1_REP
-C/Software/sybase/DBA_T1_REP/cfg/DBA_T1_REP.cfg
-E/Software/sybase/DBA_T1_REP/log/DBA_T1_REP.log
-I/Software/sybase/repsrv-15/interfaces

3-4-7- Phase 7 : Création de la connexion entre le serveur de réplication et la base RSSD

La connexion entre le serveur de réplication et la base RSSD est créée avec la commande alter connection set log transfer on au sein de replication server

alter connection to "DBA_T2_ASE"."RSSD_DB_V15" set log transfer on
go

3-4-8- Phase 8 : Création de la partition du serveur de réplication

La partition définie dans le fichier de ressources est alors créée avec la commande add partition au sein de replication server

add partition "part1" on '/cgcdb/sybase/DBA_T1_REP/stabledevice/part1.dat'
with size 20 starting at 0
go

3-4-9- Phase 9 : Définition des users pour les agents de réplication et autres serveurs de réplication dans le serveur de réplication

Connexion au serveur de réplication et définition des users :

Création du user pour les autres serveurs de réplication :

create user "DBA_T1_REP_rsi" set password "DBA_T1_REP_rsi_ps"
go
grant CONNECT SOURCE to "DBA_T1_REP_rsi"
go

Création du user pour les agents de réplication :

create user "DBA_T1_REP_ra" set password "DBA_T1_REP_ra_ps"
go
grant CONNECT SOURCE to "DBA_T1_REP_ra"
go
create user "DBA_T1_REP_id_user" set password "DBA_T1_REP_id_passwd"
go

4- Démarrage et arrêt du serveur de réplication DBA_T1_REP

4-1- Le fichier de configuration du serveur de réplication

Comme indiqué dans le fichier ressource de la création du serveur de réplication DBA_T1_REP, le fichier de configuration DBA_T1_REP.cfg du serveur de réplication a été créé par rs_init :

rs.rs_rs_cfg_file: /Software/sybase/DBA_T1_REP/cfg/DBA_T1_REP.cfg

Dans ce fichier de configuration initial sont précisés le serveur hébergeant la base RSSD, le nom de la base RSSD, le user primaire et son mot de passe, le user de maintenance et son mot de passe etc…

#
# Configuration file for Replication Server 'DBA_T1_REP'. Created by rs_init.
#

RSSD_embedded=no
RSSD_server=DBA_T2_ASE
RSSD_database=RSSD_DB_V15
RSSD_primary_user=RSSD_DB_V15_prim
RSSD_primary_pw=RSSD_DB_V15_prim_ps
RSSD_maint_user=RSSD_DB_V15_maint
RSSD_maint_pw=RSSD_DB_V15_maint_ps
RSSD_ha_failover=no
ID_server=DBA_T1_REP
ID_user=DBA_T1_REP_id_user
ID_pw=DBA_T1_REP_id_passwd
RS_charset=cp850
RS_language=englis
RS_sortorder=binary

4-2- Démarrage du serveur de réplication

Le serveur de réplication est lancé avec le binaire repserver localisé dans le répertoire <path_distribution_rs>/REP-15_0/bin en indiquant les options nécessaires au démarrage du serveur en question.

Syntaxe du lancement du serveur de réplication :

repserver [-C config_file] [-S servername] [-D]
    [-E errorlog] [-i id_servername] [-I interfaces_file]

Pour le démarrage du serveur de réplication, il faut prendre garde aux variables d'environnement $SYBASE_REP, $SYBASE_OCS, $PATH et $LD_LIBRARY_PATH et vérifier que ces dernières sont bien positionnées par rapport à la localisation de la distribution de Replication Server.

Voici un exemple de fichier de démarrage du serveur de réplication DBA_T1_REP :

export SYBASE=/Software/sybase/repsrv-15
export SYBASE_REP=REP-15_0
export SYBASE_OCS=OCS-15_0
PATH=$SYBASE/$SYBASE_REP/bin:$SYBASE/$SYBASE_OCS/bin:$PATH
export PATH
LD_LIBRARY_PATH=$SYBASE/$SYBASE_REP/lib:$SYBASE/$SYBASE_OCS/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

export SERVERNAME=DBA_T1_REP

$SYBASE/$SYBASE_REP/bin/repserver -C/Software/sybase/$SERVERNAME/cfg/$SERVERNAME.cfg
              -S$SERVERNAME \
              -E/Software/sybase/$SERVERNAME/log/$SERVERNAME.log \
              -i$SERVERNAME \
              -I/Software/sybase/interfaces &

4-3- Arrêt du serveur de réplication

La commande shutdown dans le serveur de réplication permet d'arrêter ce dernier :

isql -Usa -SDBA_T1_REP
> shutdown
> go

5- Post installation

5-1- Option trunc log on chkpt dans la base RSSD

La raison la plus courante pour laquelle un serveur de réplication tombe vient du fait que l'option "trunc log on chkpt" n'est pas appliquée pour la base RSSD associée. Sans cette option, le journal des transactions de la base RSSD peut devenir full et faire tomber le serveur de réplication en conséquence.

Pour appliquer l'option trunc log on chkpt, se connecter au serveur hébergeant la base RSSD et appliquer l'option "trunc log on chkpt" :

isql -Usa -SDBA_T2_ASE
> use master
> go
> sp_dboption 'RSSD_DB_V15', 'trunc log on chkpt',true
> go
> use RSSD_DB_V15
> go
> checkpoint
> go

5-2- Changement du mot de passe sa pour le serveur de réplication

Par défaut, le mot de passe sa est à null pour le serveur de réplication. Pour appliquer un mot de passe au login sa, la commande alter user de Replication Server est utilisée :

Syntaxe :

DBA_T1_REP > alter user user set password {new_password | null }
DBA_T1_REP > alter user sa set password 'your_password'

6- Annexe 1 : Fichier de log de l'installation de DBA_T1_REP

BEGIN ENVIRONMENT INFORMATION
USER ENVIRONMENT
----------------------------------------
current directory:             /Software/sybase/repsrv-15/REP-15_0/install
character set:                 cp850
language:                      us_english
Component Directory:           /Software/sybase/repsrv-15/REP-15_0
working release directory:     /Software/sybase/repsrv-15
END ENVIRONMENT INFORMATION
Directory service provider: 'InterfacesDriver'.
Using resource file '/Software/sybase/repsrv-15/REP-15_0/install/install_DBA_T1_REP.rs' for product attributes.
Running task: check the RSSD SQL Server.
Sending the following SQL command to the server: 'dbcc is_replication_enabled'.
Task succeeded: check the RSSD SQL Server.
Running task: configure the Replication Server System Database.
Creating logical device 'data_RSSD_DB_V15_01' for the RSSD database.
Sending the following SQL command to the server: 'use master'.
Sending the following SQL command to the server:
'disk init name = 'data_RSSD_DB_V15_01',
physname = '/cgcdb/sybase/DBA_T2_ASE/data_RSSD_DB_V15_01.dat',
vdevno= 3, size = 51200'.
Created device 'data_RSSD_DB_V15_01'.
Created logical device 'data_RSSD_DB_V15_01' for the RSSD database.
Creating logical device 'log_RSSD_DB_V15_01' for the RSSD log.
Sending the following SQL command to the server: 'use master'.
Sending the following SQL command to the server:
'disk init
name = 'log_RSSD_DB_V15_01',
physname ='/cgcdb/sybase/DBA_T2_ASE/log_RSSD_DB_V15_01.dat',
vdevno = 4, size = 25600'.
Created device 'log_RSSD_DB_V15_01'.
Created logical device 'log_RSSD_DB_V15_01' for the RSSD log.
Creating the Replication Server System Database 'RSSD_DB_V15'.
Sending the following SQL command to the server: 'use master'.
Sending the following SQL command to the server:
'create database RSSD_DB_V15 on data_RSSD_DB_V15_01 = 80
log on log_RSSD_DB_V15_01 = 20'.
SQL Server message: msg 1805, level 10, state 2
"CREATE DATABASE: allocating 40960 logical pages (80.0 megabytes) on disk 'data_RSSD_DB_V15_01'."
SQL Server message: msg 1805, level 10, state 2
"CREATE DATABASE: allocating 10240 logical pages (20.0 megabytes) on disk 'log_RSSD_DB_V15_01'."
Created database 'RSSD_DB_V15'.
Added primary login 'RSSD_DB_V15_prim' to database 'RSSD_DB_V15' as a user.
Added maintenance user login 'RSSD_DB_V15_maint' to database 'RSSD_DB_V15'.
Sending the following SQL command to the server: 'use master'.
Loading Replication Server System Database in 'DBA_T2_ASE'. This will take a few minutes.
Sending the following SQL command to the server: 'use RSSD_DB_V15'.
Done
Sending the following SQL command to the server:'sp_serverinfo server_csname'.
Sending the following SQL command to the server: 'set char_convert off'.
Done
Sending the following SQL command to the server: 'use RSSD_DB_V15'.
Loading Replication Server stored procedures in RSSD 'DBA_T2_ASE'.
Loading script 'rsprocs_ase.sql' into database 'RSSD_DB_V15'.
Done
Loaded script 'rsprocs_ase.sql' successfully.
Replication Server System Database loaded successfully in 'DBA_T2_ASE'.
Sending the following SQL command to the server: 'use RSSD_DB_V15'.
Sending the following SQL command to the server: 'dbcc settrunc ('ltm', 'ignore')'.
Sending the following SQL command to the server: 'dump transaction RSSD_DB_V15 with no_log'.
Successfully truncated the log of database 'RSSD_DB_V15'.
Sending the following SQL command to the server: 'dbcc settrunc ('ltm', 'valid')'.
Adding maintenance and primary users to group rs_systabgroup.
Sending the following SQL command to the server: 'use RSSD_DB_V15'.
Sending the following SQL command to the server:
'if exists(select name from sysusers where name='RSSD_DB_V15_prim')
exec sp_changegroup rs_systabgroup,RSSD_DB_V15_prim'.
SQL Server message: msg 0, level 10, state 1
"Group changed."
Sending the following SQL command to the server:
'if exists(select name from sysusers where name='RSSD_DB_V15_maint')
exec sp_changegroup rs_systabgroup, RSSD_DB_V15_maint'.
SQL Server message: msg 0, level 10, state 1
"Group changed."
Successfully added maintenance and primary users to group rs_systabgroup.
Task succeeded: configure the Replication Server System Database.
Running task: create the Replication Server configuration file.
Task succeeded: create the Replication Server configuration file.
Running task: create the Replication Server runserver file.
Task succeeded: create the Replication Server runserver file.
Running task: start the Replication Server.
Calling the shell with
'/Software/sybase/repsrv-15/REP-15_0/bin/repserver
-SDBA_T1_REP
-C/Software/sybase/DBA_T1_REP/cfg/DBA_T1_REP.cfg
-E/Software/sybase/DBA_T1_REP/log/DBA_T1_REP.log
-I/Software/sybase/repsrv-15/interfaces '.
waiting for server 'DBA_T1_REP' to boot...
Task succeeded: start the Replication Server.
Running task: configure the Replication Server.
Altering connection to 'DBA_T1_REP' to allow the LTM/Replication Agent to connect to the Replication Server.
Sending the following SQL command to the server:
'alter connection to "DBA_T2_ASE"."RSSD_DB_V15" set log transfer on'.
Successfully altered connection to 'DBA_T1_REP'.
Adding partition 'part1'.
Sending the following SQL command to the server:
'add partition "part1" on '/cgcdb/sybase/DBA_T1_REP/stabledevice/part1.dat' with size 20 starting at 0'.
Successfully added partition 'part1'.
Connecting to Replication Server and defining users for LTM/Replication Agent and other Replication Servers.
Sending the following SQL command to the server:
'create user "DBA_T1_REP_rsi" set password "DBA_T1_REP_rsi_ps"'.
Sending the following SQL command to the server:
'grant CONNECT SOURCE to "DBA_T1_REP_rsi"'.
Sending the following SQL command to the server:
'create user "DBA_T1_REP_ra" set password "DBA_T1_REP_ra_ps"'.
Sending the following SQL command to the server:
'grant CONNECT SOURCE to "DBA_T1_REP_ra"'.
Sending the following SQL command to the server:
'create user "DBA_T1_REP_id_user" set password "DBA_T1_REP_id_passwd"'.
Successfully defined users in Replication Server.
Task succeeded: configure the Replication Server.
Configuration completed successfully.
Exiting.
The log file for this session is '/Software/sybase/repsrv-15/REP-15_0/install/install_DBA_T1_REP.log'.
Log close.

Annexe

Historique

Version Date Commentaires
1.0 05/2005 Version initiale
1.0 07/2005 Corrections après découverte du démarrage d'un agent de réplication dans la base RSSD, agent de réplication qui n'est pas nécessaire

Liens

Books Online Replication Server 15.0
Books Online Replication Server 15.0, Configuring Replication Server and Adding Databases with rs_init
Books Online Replication Server 15.0, Appendix B: Using rs_init with Resource Files