Introduction
Dans cet article, un serveur de réplication Sybase 15.5 64 bits (Real Time
Loading Edition for IQ) est créé sur une plateforme Sun Solaris 10 X86 (AMD)
avec un fichier de ressources et les opérations effectuées sont décortiquées
pas à pas. Utiliser un fichier de ressources, permet d’industrialiser la
création d’un serveur de réplication et évite la lourdeur des interfaces
graphiques du binaire rs_init
.
Dans cette installation, la base RSSD (Replication Server System Database)
est une base ERSSD (Embedded RSSD). La base ERSSD est une base Sybase SQL
Anywhere 11.0 pour Replication Server 15.5 et la distribution SQL Anywhere 11
est embarquée dans la distribution de Sybase Replication Server 15.5
($SYBASE/$SYBASE_REP/ASA11
). Les bases ERSSD offrent plus de souplesse pour les
procédures d’administration et de disaster/recovery par rapport aux bases
Sybase RSSD hébergées dans des serveurs Sybase Adaptive Server Enterprise et
permettent d’économiser un jeton Sybase ASE 15.
Le contexte du schéma de réplication est donné dans le graphique ci-dessous :
Les composants installés par un fichier de ressources sont dans cet article :
- la base de données ERSSD SQL Anywhere
RSD_U1_ASA
. - le serveur de réplication
IDB_U1_REP
.
Environnement Replication Server 15.5 64 bits
IDB_U1_REP
est créé avec une distribution Replication Server 15.5 64 bits
(RS 15.5). Cette distribution est installée dans le répertoire
/Software/sybase/repsrv-15.5
et n’est pas installée dans une distribution
Sybase ASE 15 classique, ceci dans le but d’offrir à Sybase Replication Server
15.5 son propre Open Client 15.0 en cas de nécessité de patch.
Pour prendre l’environnement Replication Server 15.5 64 bits, les variables ci-dessous doivent être définies :
export SYBASE=/Software/sybase/repsrv-15.5
export SYBASE_REP=REP-15_5
export SYBASE_OCS=OCS-15_0
PATH=$SYBASE/$SYBASE_REP/bin:$SYBASE/$SYBASE_OCS/bin:$PATH
export PATH
LD_LIBRARY_PATH=$SYBASE/$SYBASE_REP/lib64:$SYBASE/$SYBASE_OCS/lib:
$SYBASE/$SYBASE_OCS/lib/lib3p64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
La variable $SYBASE_REP
est très importante car elle définit le répertoire
REP-15_5 dans la distribution de Sybase Replication Server 15.5.
Création du serveur de réplication et de la base ERSSD
Préparation à la création du serveur de réplication RS 15.5
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 RSD_U1_ASA
et
IDB_U1_REP
. Un lien vers le fichier interfaces
est créé dans la distribution
Replication Server 15.5 (/Software/sybase/repsrv-15.5
) :
sybase@SRVUNXFR > cd /Software/sybase/repsrv-15.5
sybase@SRVUNXFR > ln -fs /Software/sybase/interfaces interfaces
Exemple de fichier interfaces avec les entrées RSD_U1_ASA
et IDB_U1_REP
:
/Software/sybase/interfaces
…
IDB_U1_REP
master tli tcp SRVUNXFR 30060
query tcp ether SRVUNXFR 30060
RSD_U1_ASA
master tcp ether localhost 30080
query tcp ether localhost 30080
…
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.5/REP-15_5/init/rs
).
Il suffit de copier ce fichier install.rs
et de personnaliser cette copie
pour la création du nouveau Replication Server IDB_U1_REP
. Le fichier ressource
de création de IDB_U1_REP
est appelé install_IDB_U1_REP.rs
et installé dans
le répertoire /Software/sybase/repsrv-15.5/REP-15_5/install
.
Sections du fichier install_IDB_U1_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.5 |
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 |
install_IDB_U1_REP.rs
sybinit.release_directory: /Software/sybase/repsrv-15.5
sybinit.product: rs
rs.rs_operation: rs_install
ID SERVER INFORMATION
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
IDB_U1_REP |
rs.rs_id_server_is_rs_server |
Le serveur de réplication à installer est il le serveur de
réplication primaire ?
yes |
install_IDB_U1_REP.rs
# ID SERVER INFORMATION
rs.rs_idserver_name: IDB_U1_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
REPLICATION SERVER INFORMATION
La section REPLICATION SERVER
INFORMATION
précise les paramètres du serveur de réplication :
rs.rs_name |
Nom du serveur de réplication
IDB_U1_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/IDB_U1_REP/log/IDB_U1_REP.log |
rs.rs_rs_cfg_file |
Localisation du fichier de configuration du RS
/Software/sybase/dba/IDB_U1_REP/cfg/IDB_U1_REP.cfg |
rs.rs_charset |
Jeu de caractères du RS
USE_DEFAULT (iso_1 pour les plateformes Solaris) |
rs.rs_language |
Langage du RS
USE_DEFAULT (english) |
rs.rs_sortorder |
Ordre de tri du RS
USE_DEFAULT (binary) |
install_IDB_U1_REP.rs
# REPLICATION SERVER INFORMATION
rs.rs_name: IDB_U1_REP
rs.rs_requires_ltm: no
rs.rs_needs_repagent: no
rs.rs_rs_errorlog: /Software/sybase/dba/IDB_U1_REP/log/IDB_U1_REP.log
rs.rs_rs_cfg_file: /Software/sybase/dba/IDB_U1_REP/cfg/IDB_U1_REP.cfg
rs.rs_charset: USE_DEFAULT
rs.rs_language: USE_DEFAULT
rs.rs_sortorder: USE_DEFAULT
REPLICATION SERVER SYSTEM DATABASE CHOICE
La section REPLICATION SERVER SYSTEM
DATABASE CHOICE
offre ici le choix du moteur de base de données pour la
base système RSSD (Replication Server System Database) : Adaptive Server
Enterprise ou SQL Anywhere (ERSSD) :
rs.rs_rssd_embedded |
Base embarquée ERSSD SQL Anywhere
(par défaut : no ). Dans cet article, la base ERSSD est choisie. |
install_IDB_U1_REP.rs
# REPLICATION SERVER SYSTEM DATABASE CHOICE
rs.rs_rssd_embedded: yes
EMBEDDED REPLICATION SERVER SYSTEM DATABASE INFORMATION
La section EMBEDDED REPLICATION SERVER SYSTEM DATABASE
INFORMATION
paramètre
l’installation de la base RSSD SQL Anywhere (ERSSD). Ce paramétrage est
appliqué que si la base RSSD embarquée SQL Anywhere a été choisie à l’étape
précédente (rs.rs_rssd_embedded : yes
)
rs.rs_erssd_name |
Nom de la base RSSD SQL Anywhere. Le nom de la base SQL anywhere
indiqué ici est celui qui est référencé dans le fichier interfaces
RSD_U1_ASA . |
rs.rs_erssd_database_dir |
Répertoire du fichier de données <rs_erssd_name>.db de la base
SQL Anywhere.
/DAS/sybase/RSD_U1_ASA |
rs.rs_erssd_translog_dir |
Répertoire du journal <rs_erssd_name>.log de la base SQL
Anywhere.
/DAS/sybase/RSD_U1_ASA |
rs.rs_erssd_backup_dir | Répertoire du miroir <rs_erssd_name>.mlg du journal de la base
SQL Anywhere et des sauvegardes de la base SQL Anywhere.
/DAS/sybase/RSD_U1_ASA/mirror |
rs.rs_erssd_errorlog_dir |
Répertoire de l’error log <rs_erssd_name>.out de la base SQL
Anywhere.
/Software/sybase/dba/RSD_U1_ASA/log |
install_IDB_U1_REP.rs
# EMBEDDED REPLICATION SERVER SYSTEM DATABASE INFORMATION
rs.rs_erssd_name: RSD_U1_ASA
rs.rs_erssd_database_dir: /DAS/sybase/RSD_U1_ASA
rs.rs_erssd_translog_dir: /DAS/sybase/RSD_U1_ASA
rs.rs_erssd_backup_dir: /DAS/sybase/RSD_U1_ASA/mirror
rs.rs_erssd_errorlog_dir: /Software/sybase/dba/RSD_U1_ASA/log
Les sections REPLICATION SERVER SYSTEM
DATABASE INFORMATION
et REPLICATION
SERVER SYSTEM DATABASE DEVICE INFORMATION
ne sont pas utilisées si la
base données RSSD embarquée SQL Anywhere a été choisie (ce qui est le cas ici).
Ces 2 sections ne concernent que les bases RSSD hébergées dans un serveur
Sybase Adaptive Server Enterprise. Pour plus d’information pour les bases RSSD
hébergées dans un serveur ASE : Installation
d’un serveur de réplication Sybase 15 avec un fichier de ressources
DISK PARTITION INFORMATION
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
/DAS/sybase/IDB_U1_REP/stabledevices/PART01.dat |
rs.rs_diskp_lname |
Nom logique de la première partition
PART01 |
rs.rs_diskp_size |
Taille en MB de la première partition
1000 |
rs.rs_diskp_vstart |
Numéro logique de la première partition (vdevno ) si on souhaite un
numéro logique différent. |
install_IDB_U1_REP.rs
# DISK PARTITION INFORMATION
rs.rs_diskp_name: /DAS/sybase/IDB_U1_REP/stabledevices/PART01.dat
rs.rs_diskp_lname: PART01
rs.rs_diskp_size: 1000
rs.rs_diskp_vstart: 0
Sur les plateformes Unix, le fichier physique pour la partition doit être créé avec la commande touch
.
shell > cd /DAS/sybase/IDB_U1_REP/stabledevices
shell > touch PART01.dat
Autres sections
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 dans le contexte de
la mise en place de routes. Le user et le mot de passe par défaut sont
respectivement : <replication_servername>_rsi
et
<replication_servername>_rsi_ps
.
install_IDB_U1_REP.rs
# 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
.
install_IDB_U1_REP.rs
# 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
. Cette section ne s’applique par ailleurs
qu’aux plateformes Unix, pour les plateformes Windows, les entrées doivent être
saisies manuellement dans le fichier sql.ini
.
install_IDB_U1_REP.rs
# 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
.
install_IDB_U1_REP.rs
# 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
.
install_IDB_U1_REP.rs
# REPLICATION SERVER SECURITY INFORMATION
rs.rs_network_security_enable: no
...
Lancement de la création (rs_init)
Après personnalisation du fichier de ressource install_IDB_U1_REP.rs
, la
création du serveur de réplication IDB_U1_REP
et la création de la base de
données ERSSD sont déclenchées avec le binaire rs_init
dans le répertoire
<path_distribution_replicationserver>/$SYBASE_REP/install
(/Software/sybase/repsrv-15.5/REP-15_5/install
dans le contexte de cet
article).
Syntaxe :
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 interactive du binaire rs_init
.
Pour lancer la création de IDB_U1_REP
avec le binaire rs_init
en utilisant
le fichier de ressource
/Software/sybase/repsrv-15.5/REP-15_5/install/install_IDB_U1_REP.rs
export SYBASE=/Software/sybase/repsrv-15.5
export SYBASE_REP=REP-15_5
export SYBASE_OCS=OCS-15_0
PATH=$SYBASE/$SYBASE_REP/bin:$SYBASE/$SYBASE_OCS/bin:$PATH
export PATH
LD_LIBRARY_PATH=$SYBASE/$SYBASE_REP/lib64:$SYBASE/$SYBASE_OCS/lib:
$SYBASE/$SYBASE_OCS/lib/lib3p64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
$SYBASE/$SYBASE_REP/install/rs_init -r/$SYBASE/$SYBASE_REP/install/install_IDB_U1_REP.rs
-log $SYBASE/$SYBASE_REP/install/install_IDB_U1_REP.log
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).
- création de la base SQL Anywhere ERSSD
RSD_U1_ASA
- création des logins dans la base ERSSD
- création des objets dans la base SQL Anywhere ERSSD
- démarrage du serveur de réplication
- création de la partition du serveur de réplication
- création des comptes dans Replication Server (Agents de réplications, routes RSI)
- lancement des scripts dans la base SQL Anywhere ERSSD
RSD_U1_ASA
pour les réplications hétérogènes
Étape 1 : création de la base SQL Anywhere ERSSD RSD_U1_ASA
Initialisation de la base SQL Anywhere RSD_U1_ASA
avec le binaire dbinit
:
/Software/sybase/repsrv-15.5/REP-15_5/ASA11/bin/dbinit -c
-b
-k
-o /Software/sybase/dba/RSD_U1_ASA/log/RSD_U1_ASA.out
/DAS/sybase/RSD_U1_ASA/RSD_U1_ASA.db
Configuration du journal (.log
) et de son miroir (.mlg
) pour la base SQL
Anywhere RSD_U1_ASA
avec le binaire dblog
:
/Software/sybase/repsrv-15.5/REP-15_5/ASA11/bin/dblog
-m /DAS/sybase/RSD_U1_ASA/mirror/RSD_U1_ASA.mlg
-t /DAS/sybase/RSD_U1_ASA/RSD_U1_ASA.log
-o /Software/sybase/dba/RSD_U1_ASA/log/RSD_U1_ASA.out
/DAS/sybase/RSD_U1_ASA/RSD_U1_ASA.db
Lancement de la base SQL Anywhere avec le binaire dbspawn
, le port est
automatiquement déterminé à partir du fichier interfaces
lu au démarrage de
rs_init
:
/Software/sybase/repsrv-15.5/REP-15_5/ASA11/bin/dbspawn
-f
-q dbsrv11 -s none -ti 0
-x "tcpip(PORT=30080;DOBROAD=NO;BLISTENER=NO)"
-o /Software/sybase/dba/RSD_U1_ASA/log/RSD_U1_ASA.out
/DAS/sybase/RSD_U1_ASA/RSD_U1_ASA.db
Étape 2 : création des logins dans la base ERSSD
Création des logins IDB_U1_REP_RSSD_prim
et IDB_U1_REP_RSSD_maint
dans la
base ERSSD RSD_U1_ASA
:
GRANT CONNECT TO IDB_U1_REP_RSSD_prim IDENTIFIED BY IDB_U1_REP_RSSD_prim_ps;
GRANT MEMBERSHIP IN GROUP rs_systabgroup TO IDB_U1_REP_RSSD_prim;
GRANT DBA TO IDB_U1_REP_RSSD_prim;
REVOKE CONNECT FROM DBA;
GRANT CONNECT TO IDB_U1_REP_RSSD_maint IDENTIFIED BY IDB_U1_REP_RSSD_maint_ps;
GRANT MEMBERSHIP IN GROUP rs_systabgroup TO IDB_U1_REP_RSSD_maint;
GRANT CONNECT TO dbo IDENTIFIED BY dbo;
Attention : le compte DBA
créé par défaut à l’initialisation d’une base SQL Anywhere est désactivé (revoke connect from DBA
).
Le compte IDB_U1_REP_RSSD_prim
acquiert le droit DBA dans la base ERSSD (grant DBA to IDB_U1_REP_RSSD_prim
).
Étape 3 : création des objets dans la base SQL Anywhere ERSSD
Dans la phase 3, le binaire rs_init
lance successivement les scripts
rs_init_asa.sql, rs_install_systables_asa.sql
et rsprocs_asa.sql
installés dans
le répertoire <installation_ replicationserver>/$SYBASE_REP/scripts
(/Software/sybase/repsrv-15.5/REP-15_5/scripts
dans le cadre de cet
article).
Le script rs_install_systables_asa.sql
créé les types, les tables et le
groupe rs_systabgroup
dans la base ERSSD.
Le script rsprocs_asa.sql
installe les procédures stockées système rs_%
dans
la base RSSD.
Étape 4 : démarrage du serveur de réplication
Dans cette phase, le fichier de configuration IDB_U1_REP.cfg
du serveur de
réplication est généré et le serveur de réplication est démarré avec la ligne
de commande ci-dessous, ligne de commande encapsulée dans le fichier
RUN_IDB_U1_REP
généré à la volée par rs_init
dans le répertoire
$SYBASE/$SYBASE_REP/install
(/Software/sybase/repserver-15.5/REP-15_5/install
)
:
/Software/sybase/repsrv-15.5/REP-15_5/install/RUN_IDB_U1_REP > /Software/sybase/repsrv-15.5/REP-15_5/init/logs/tmp 2>&1
RUN_IDB_U1_REP
/Software/sybase/repsrv-15.5/REP-15_5/bin/repserver -SIDB_U1_REP
-C/Software/sybase/IDB_U1_REP/cfg/IDB_U1_REP.cfg
-E/Software/sybase/IDB_U1_REP/log/IDB_U1_REP.log
-I/Software/sybase/repsrv-15.5/interfaces
Étape 5 : 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 "PART01" on '/DAS/sybase/IDB_U1_REP/stabledevices/PART01.dat'
with size 1000 starting at 0
go
Étape 6 : création des comptes Replication Server (Agents de réplications, routes RSI)
Définition des users pour les agents de réplication et autres serveurs de réplication dans le serveur de réplication (routes RS) :
create user "IDB_U1_REP_rsi" set password "IDB_U1_REP_rsi_ps"
grant CONNECT SOURCE to "IDB_U1_REP_rsi"
create user "IDB_U1_REP_ra" set password "IDB_U1_REP_ra_ps"
grant CONNECT SOURCE to "IDB_U1_REP_ra"
create user "IDB_U1_REP_id_user" set password "IDB_U1_REP_id_passwd"
Étape 7 : lancement des scripts dans la base SQL Anywhere ERSSD RSD_U1_ASA pour les réplications hétérogènes
En dernière étape, mais celle-ci ne concerne que les versions de Replication
Server 15.5 avec les options de réplication hétérogène : lancement des scripts
pour les réplications hétérogènes, scripts localisés dans le répertoire
$SYBASE/$SYBASE_REP/scripts
(/Software/sybase/repserver-15.5/REP-15_5/scripts
)
:
...
Loaded script 'rs_db2_to_msss.sql' successfully.
...
Démarrage et arrêt du serveur de réplication IDB_U1_REP
Le fichier de configuration du serveur de réplication
Comme indiqué dans le fichier ressource de la création du serveur de
réplication IDB_U1_REP
, le fichier de configuration IDB_U1_REP.cfg
du serveur
de réplication a été créé par rs_init
:
rs.rs_rs_cfg_file: /Software/sybase/IDB_U1_REP/cfg/IDB_U1_REP.cfg
Dans ce fichier de configuration initial sont précisés si il s’agit d’une
base ERSSD (RSSD_embedded=yes
), les paramètres de la base ERSSD (errorlog,
port, localisation des fichiers de la base SQL Anywhere, etc.), le user
primaire et son mot de passe, le user de maintenance et son mot de passe
etc…
IDB_U1_REP.cfg
#
# Configuration file for Replication Server 'IDB_U1_REP'. Created by rs_init.
#
RSSD_embedded=yes
RSSD_server=RSD_U1_ASA
RSSD_database=RSD_U1_ASA
RSSD_primary_user=IDB_U1_REP_RSSD_prim
RSSD_primary_pw=IDB_U1_REP_RSSD_prim_ps
RSSD_maint_user=IDB_U1_REP_RSSD_maint
RSSD_maint_pw=IDB_U1_REP_RSSD_maint_ps
RSSD_ha_failover=no
ID_server=IDB_U1_REP
ID_user=IDB_U1_REP_id_user
ID_pw=IDB_U1_REP_id_passwd
RS_charset=iso_1
RS_language=us_english
RS_sortorder=binary
erssd_errorlog=/Software/sybase/dba/RSD_U1_ASA/log/RSD_U1_ASA.out
erssd_port=30080
#
# Do not edit the following ERSSD lines.
#
erssd_dbfile=/DAS/sybase/RSD_U1_ASA/RSD_U1_ASA.db
erssd_translog=/DAS/sybase/RSD_U1_ASA/RSD_U1_ASA.log
erssd_logmirror=/DAS/sybase/RSD_U1_ASA/mirror/RSD_U1_ASA.mlg
erssd_backup_dir=/DAS/sybase/RSD_U1_ASA/mirror
Attention : les paramètres erssd_dbfile, erssd_translog, erssd_logmirror
et erssd_backup_dir
pour la base SQL Anywhere ne doivent pas être modifiés manuellement
dans le fichier de configuration du serveur de réplication, ils doivent être modifiés avec la commande sysadmin erssd
.
Replication Server prend en charge le déplacement souhaité avec les binaires SQL Anywhere avec un redémarrage automatique.
sysadmin erssd, dbfile_dir, <directory>
sysadmin erssd, dbfile_dir, <directory>
sysadmin erssd, logmirror_dir, <directory>
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_5/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]
-S servername
: nom du serveur de réplication-E errorlog
: localisation et nom du fichier de log du serveur de réplication-i id_servername
: nom du serveur primaire de réplication-I interfaces_file
: localisation et nom du fichier interfaces à utiliser
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
IDB_U1_REP
:
export SYBASE=/Software/sybase/repsrv-15.5
export SYBASE_REP=REP-15_5
export SYBASE_OCS=OCS-15_0
PATH=$SYBASE/$SYBASE_REP/bin:$SYBASE/$SYBASE_OCS/bin:$PATH
export PATH
LD_LIBRARY_PATH=$SYBASE/$SYBASE_REP/lib64:$SYBASE/$SYBASE_OCS/lib:
$SYBASE/$SYBASE_OCS/lib/lib3p64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
export SERVERNAME=IDB_U1_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 &
Dans le contexte de la base ERSSD SQL Anywhere, Replication Server ping au
préalable la base SQL Anywhere pour vérifier si celle-ci est en ligne avec le
binaire dbping
, si ce n’est pas le cas, Replication Server prend en charge son
démarrage avec dbspawn
et dbsrv11
:
$DBA/IDB_U1_REP/log/IDB_U1_REP.log
I. 2010/06/14 18:21:39. Command failed: /Software/sybase/repsrv-15.5/REP-15_5/ASA11/bin/dbping -q
-c"eng=RSD_U1_ASA;Language=us_english;CommLinks=tcpip(DOBROAD=NONE;HOST=localhost;PORT=30080)" 2> /dev/null.
Operating System returned: Bad file number
I. 2010/06/14 18:21:39. Starting embedded RSSD: /Software/sybase/repsrv-15.5/REP-15_5/ASA11/bin/dbspawn -f
-q /Software/sybase/repsrv-15.5/REP-15_5/ASA11/bin/dbsrv11
-s none -ti 0
-x "tcpip(PORT=30080;DOBROAD=NO;BLISTENER=NO)" -o /Software/sybase/dba/RSD_U1_ASA/log/RSD_U1_ASA.out
/DAS/sybase/RSD_U1_ASA/RSD_U1_ASA.db
Au démarrage de la base SQL Anywhere par Replication Server, les fichiers
.db, .log
et .mlg
sont en lecture/écriture pour le compte sybase qui démarre
Replication Server :
sybase@SRVUNXFR> ls -ll /DAS/sybase/RSD_U1_ASA
-rw------- 1 sybase dba 4280320 Jun 14 18:21 RSD_U1_ASA.db -rw------- 1 sybase dba 3604480 Jun 20 18:28 RSD_U1_ASA.log
Arrêt du serveur de réplication
La commande shutdown
dans le serveur de réplication arrête ce
dernier :
isql -Usa -SIDB_U1_REP
shutdown go
Dans le contexte ERSSD, Replication Server prend en charge l’arrêt de la base SQL Anywhere avant l’arrêt du moteur repserver:
$DBA/IDB_U1_REP/log/IDB_U1_REP.log
I. 2010/06/14 18:18:15. Stopping embedded RSSD: dbstop -q -y
-c"uid=IDB_U1_REP_RSSD_prim;pwd=****;eng=RSD_U1_ASA;LINKS=tcpip(HOST=localhost;PORT=30080;DOBROAD=NONE)"
À l’arrêt de la base SQL Anywhere par Replication Server, les fichiers .log
et .mlg
deviennent accessibles uniquement en lecture au compte sybase, et le
fichier .db
passe en lecture seule pour tous les comptes Unix:
sybase@SRVUNXFR> ls -ll /DAS/sybase/RSD_U1_ASA
-r--r--r-- 1 sybase dba 4268032 Jun 20 20:37 RSD_U1_ASA.db -r-------- 1 sybase dba 3604480 Jun 20 20:37 RSD_U1_ASA.log
Post installation (sécurité)
Compte primaire de la base ERSSD (IDB_U1_REP_RSSD_prim)
Le fichier de log de l’installation par fichier de ressource montre que le
compte primaire de la RSSD rs.rs_rssd_prim_user
acquiert le droit DBA dans une
base ERSSD SQL Anywhere alors que dans le cas d’une base ASE RSSD, les droits
donnés au compte rs.rs_rssd_prim_user
sont bien plus restreints.
Si le paramètre rs.rs_rssd_prim_pass
n’a pas été modifié pour ce compte dans
le fichier de ressources et afin de ne pas laisser le mot de passe à sa valeur
par défaut (<repservername>_RSSD_prim_ps
), utiliser la commande alter
user
pour renforcer le mot de passe de ce compte :
alter user user set password {new_password | null }
IDB_U1_REP> alter user IDB_U1_REP_RSSD_prim set password 'your_password'
Protection du fichier de configuration du serveur de réplication
Le fichier de configuration du serveur de réplication rs.rs_rs_cfg_file
(/Software/sybase/dba/IDB_U1_REP/cfg/IDB_U1_REP.cfg
) contient les mots de passe
des comptes RSSD_primary_user
et RSSD_maint_user
. Par sécurité, retirer les
droits de lecture/écriture sur le fichier de configuration de Replication
Server aux autres comptes Unix différents du compte sybase qui démarre le
serveur de réplication.
sybase@SRVUNXFR> cd /Software/sybase/dba/IDB_U1_REP/cfg/IDB_U1_REP.cfg sybase@SRVUNXFR> chmod 600 IDB_U1_REP.cfg sybase@SRVUNXFR> ls -ll IDB_U1_REP.cfg
-rw------- 1 sybase dba 781 Jun 14 18:54 IDB_U1_REP.cfg
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
nouvellement créé IDB_U1_REP
. Pour appliquer un mot de passe au login sa, la
commande alter user
de Replication Server est utilisée :
Syntaxe :
alter user user set password {new_password | null }
IDB_U1_REP > alter user sa set password 'your_password'
Création d’un compte DBA administrateur (sa) dans la base ERSSD
Lors de la création du serveur de réplication, le compte DBA administrateur
automatiquement créé avec le binaire dbinit
de Sybase SQL Anywhere est
désactivé (revoke connect from DBA
).
Pour des raisons d’administration de la base SQL Anywhere et éviter
d’utiliser le compte rs.rs_rssd_prim_user
pour entrer en administrateur dans la
base SQL Anywhere, créer un compte administrateur selon les normes définies en
passant par le compte rs.rs_rssd_prim_user
sybase@SRVUNXFR> isql -UIDB_U1_REP_RSSD_prim -P<your_password>
grant connect to sa identified by "<your_password>" go grant DBA to sa go
Annexe 1 : Fichier de log de l’installation de IDB_U1_REP
rs_init/15.5/P/Solaris AMD64/Solaris 5.10/1/OPT64/Thu Feb 18 14:55:05 2010
Confidential property of Sybase, Inc.
Copyright 1992, 2010
Sybase, Inc. All rights reserved.
Unpublished rights reserved under U.S. copyright laws.
This software contains confidential and trade secre
information of Sybase,Inc.
Use, duplication or disclosure of the software and documentation by
the U.S. Government is subject to restrictions set
forth in a license agreement between the Government and Sybase, Inc. or
other written agreement specifying the Government's rights to use the
software and any applicable FAR provisions, for example, FAR 52.227-19.
Sybase, Inc. One Sybase Drive, Dublin, CA 94568, USA
BEGIN ENVIRONMENT INFORMATION
USER ENVIRONMENT
----------------------------------------
user name: sybase
current directory: /Software/sybase/repsrv-15.5/REP-15_5/install
character set: iso_1
language: us_english
Component Directory: /Software/sybase/repsrv-15.5/REP-15_5
working release directory: /Software/sybase/repsrv-15.5
END ENVIRONMENT INFORMATION
Directory service provider: 'InterfacesDriver'.
Using resource file '/Software/sybase/repsrv-15.5/REP-15_5/init/rs/install_IDB_U1_REP.rs'
for product attributes.
Running task: initialize ERSSD.
Calling the shell with
'/Software/sybase/repsrv-15.5/REP-15_5/ASA11/bin/dbinit -c
-b -k -o /Software/sybase/dba/RSD_U1_ASA/log/RSD_U1_ASA.out
/DAS/sybase/RSD_U1_ASA/RSD_U1_ASA.db '.
Initializing ERSSD
Done
Calling the shell with
'/Software/sybase/repsrv-15.5/REP-15_5/ASA11/bin/dblog -m
/DAS/sybase/RSD_U1_ASA/mirror/RSD_U1_ASA.mlg -t
/DAS/sybase/RSD_U1_ASA/RSD_U1_ASA.log -o
/Software/sybase/dba/RSD_U1_ASA/log/RSD_U1_ASA.out
/DAS/sybase/RSD_U1_ASA/RSD_U1_ASA.db '
Initializing ERSSD
Done
Calling the shell with
'/Software/sybase/repsrv-15.5/REP-15_5/ASA11/bin/dbspawn -f
-q dbsrv11 -s none -ti 0 -x
"tcpip(PORT=30080;DOBROAD=NO;BLISTENER=NO)" -o
/Software/sybase/dba/RSD_U1_ASA/log/RSD_U1_ASA.out
/DAS/sybase/RSD_U1_ASA/RSD_U1_ASA.db '.
Starting ERSSD
Done
Task succeeded: initialize ERSSD.
Running task: check the RSSD SQL Server.
Task succeeded: check the RSSD SQL Server.
Running task: configure the Embedded Replication Server System Database.
Sending the following SQL command to the server:
'GRANT CONNECT TO IDB_U1_REP_RSSD_prim IDENTIFIED BY IDB_U1_REP_RSSD_prim_ps'.
Sending the following SQL command to the server:
'GRANT MEMBERSHIP IN GROUP rs_systabgroup TO IDB_U1_REP_RSSD_prim'.
Sending the following SQL command to the server:
'GRANT DBA TO IDB_U1_REP_RSSD_prim'.
Sending the following SQL command to the server:
'REVOKE CONNECT FROM DBA'.
Sending the following SQL command to the server:
'GRANT CONNECT TO IDB_U1_REP_RSSD_maint IDENTIFIED BY IDB_U1_REP_RSSD_maint_ps'.
Sending the following SQL command to the server:
'GRANT MEMBERSHIP IN GROUP rs_systabgroup TO IDB_U1_REP_RSSD_maint'.
Sending the following SQL command to the server: 'GRANT
CONNECT TO dbo IDENTIFIED BY dbo'.
Loading script 'rs_init_asa.sql' into database 'RSD_U1_ASA'.
Done
Loaded script 'rs_init_asa.sql' successfully.
Loading script 'rs_install_systables_asa.sql' into database 'RSD_U1_ASA'.
Sending the following SQL command to the server:
'create table #rs_platform(bits int)'.
Sending the following SQL command to the server:
'insert into #rs_platform(bits) values(64)'.
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
Done
Sending the following SQL command to the server:
'drop table #rs_platform'.
Loaded script 'rs_install_systables_asa.sql' successfully.
Loading script 'rsprocs_asa.sql' into database 'RSD_U1_ASA'.
Done
Loaded script 'rsprocs_asa.sql' successfully.
Sending the following SQL command to the server:
'GRANT CONNECT TO dbo'.
Task succeeded: configure the Embedded 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.5/REP-15_5/install/RUN_IDB_U1_REP
> /Software/sybase/repsrv-15.5/REP-15_5/init/logs/tmp 2>&1'.
waiting for server 'IDB_U1_REP' to boot...
Task succeeded: start the Replication Server.
Running task: configure the Replication Server.
Adding partition 'PART01'.
Sending the following SQL command to the server:
'add partition "PART01" on
'/DAS/sybase/IDB_U1_REP/stabledevices/PART01.dat'
with size 1000 starting at 0'.
Successfully added partition 'PART01'.
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 "IDB_U1_REP_rsi" set password "IDB_U1_REP_rsi_ps"'.
Sending the following SQL command to the server:
'grant CONNECT SOURCE to "IDB_U1_REP_rsi"'.
Sending the following SQL command to the server:
'create user "IDB_U1_REP_ra" set password "IDB_U1_REP_ra_ps"'.
Sending the following SQL command to the server:
'grant CONNECT SOURCE to "IDB_U1_REP_ra"'.
Sending the following SQL command to the server:
'create user "IDB_U1_REP_id_user" set password "IDB_U1_REP_id_passwd"'.
Successfully defined users in Replication Server.
Task succeeded: configure the Replication Server.
Running task: load heterogeneous scripts to ERSSD.
Sending the following SQL command to the server:
'GRANT CONNECT TO dbo IDENTIFIED BY dbo'.
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
Done
Loaded script 'hds_udb_udds.sql' successfully.
Done
Loaded script 'hds_db2_udds.sql' successfully.
Done
Loaded script 'hds_oracle_udds.sql' successfully.
Done
Loaded script 'hds_msss_udds.sql' successfully.
Done
Loaded script 'hds_udb_funcstrings.sql' successfully.
Done
Loaded script 'hds_db2_funcstrings.sql' successfully.
Done
Loaded script 'hds_oracle_funcstrings.sql' successfully.
Done
Loaded script 'hds_msss_funcstrings.sql' successfully.
Done
Loaded script 'hds_iq_funcstrings.sql' successfully.
Done
Loaded script 'hds_udb_errors.sql' successfully.
Done
Loaded script 'hds_db2_errors.sql' successfully.
Done
Loaded script 'hds_oracle_errors.sql' successfully.
Done
Loaded script 'hds_msss_errors.sql' successfully.
Done
Loaded script 'hds_iq_errors.sql' successfully.
Done
Loaded script 'rs_ase_to_db2.sql' successfully.
Done
Loaded script 'rs_ase_to_udb.sql' successfully.
Done
Loaded script 'rs_ase_to_oracle.sql' successfully.
Done
Loaded script 'rs_ase_to_msss.sql' successfully.
Done
Loaded script 'rs_ase_to_sqlany.sql' successfully.
Done
Loaded script 'rs_ase_to_ase.sql' successfully.
Done
Loaded script 'rs_ase_to_iq.sql' successfully.
Done
Loaded script 'rs_db2_to_msss.sql' successfully.
Done
Loaded script 'rs_db2_to_oracle.sql' successfully.
Done
Loaded script 'rs_db2_to_udb.sql' successfully.
Done
Loaded script 'rs_db2_to_sqlany.sql' successfully.
Done
Loaded script 'rs_db2_to_ase.sql' successfully.
Done
Loaded script 'rs_oracle_to_db2.sql' successfully.
Done
Loaded script 'rs_oracle_to_udb.sql' successfully.
Done
Loaded script 'rs_oracle_to_msss.sql' successfully.
Done
Loaded script 'rs_oracle_to_sqlany.sql' successfully.
Done
Loaded script 'rs_oracle_to_ase.sql' successfully.
Done
Loaded script 'rs_msss_to_db2.sql' successfully.
Done
Loaded script 'rs_msss_to_oracle.sql' successfully.
Done
Loaded script 'rs_msss_to_udb.sql' successfully.
Done
Loaded script 'rs_msss_to_sqlany.sql' successfully.
Done
Loaded script 'rs_msss_to_ase.sql' successfully.
Done
Loaded script 'rs_udb_to_sqlany.sql' successfully.
Done
Loaded script 'rs_udb_to_db2.sql' successfully.
Done
Loaded script 'rs_udb_to_msss.sql' successfully.
Done
Loaded script 'rs_udb_to_oracle.sql' successfully.
Done
Loaded script 'rs_udb_to_ase.sql' successfully.
Done
Loaded script 'rs_sqlany_to_oracle.sql' successfully.
Done
Loaded script 'rs_sqlany_to_udb.sql' successfully.
Done
Loaded script 'rs_sqlany_to_msss.sql' successfully.
Done
Loaded script 'rs_sqlany_to_db2.sql' successfully.
Done
Loaded script 'rs_sqlany_to_ase.sql' successfully.
Done
Loaded script 'rs_db2_to_db2.sql' successfully.
Done
Loaded script 'rs_oracle_to_oracle.sql' successfully.
Done
Loaded script 'rs_udb_to_udb.sql' successfully.
Done
Loaded script 'rs_msss_to_msss.sql' successfully.
Done
Loaded script 'rs_sqlany_to_sqlany.sql' successfully.
Done
Loaded script 'rs_ase_to_oracle_ecda.sql' successfully.
Done
Loaded script 'rs_db2_to_oracle_ecda.sql' successfully.
Done
Loaded script 'rs_msss_to_oracle_ecda.sql' successfully.
Done
Loaded script 'rs_oracle_to_oracle_ecda.sql' successfully.
Done
Loaded script 'rs_sqlany_to_oracle_ecda.sql' successfully.
Done
Loaded script 'rs_udb_to_oracle_ecda.sql' successfully.
Done
Loaded script 'rs_ase_to_oracle_eco.sql' successfully.
Done
Loaded script 'rs_db2_to_oracle_eco.sql' successfully.
Done
Loaded script 'rs_msss_to_oracle_eco.sql' successfully.
Done
Loaded script 'rs_oracle_to_oracle_eco.sql' successfully.
Done
Loaded script 'rs_sqlany_to_oracle_eco.sql' successfully.
Done
Loaded script 'rs_udb_to_oracle_eco.sql' successfully.
Sending the following SQL command to the server:
'GRANT CONNECT TO dbo'.
Task succeeded: load heterogeneous scripts to ERSSD.
Configuration completed successfully.
Exiting.
The log file for this session is 'install_IDB_U1_REP.log'.
Log close.