Introduction
Dans cet article, on se propose de créer un système standby par une
synchronisation dump/load
avec des fichiers de ressources et de décortiquer les
opérations effectuées pas à pas. Utiliser des fichier de ressources, permet
d’industrialiser la création d’un système standby 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
). Au cours de la
mise en place de la réplication standby, la base secondaire cgcdb
du serveur
DBA_T2_ASE
est synchronisée par dump/load
avec la base primaire cgcdb
du
serveur DBA_T1_ASE
.
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).
Pour plus d’informations sur l’installation d’un serveur de réplication Sybase : Installation d’un serveur de réplication Sybase 15 avec un fichier de ressources.
Contexte de l’environnement
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.
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
.
Concepts de la réplication Standby
La réplication standby copie les opérations DML, certaines opérations DDL et
certaines procédures stockées systèmes d’une base de données primaire vers une
base de données secondaire dite standby. Le mode standby réplique également les
ordres truncate table
(cette option peut toutefois être désactivée avec la
commande alter logical connection
).
Les commandes non répliquées vers la base standby sont :
select into
update statistics
- options de bases de données ou serveur appliquées avec les procédures
stockées
sp_dboption
ousp_configure
.
Commandes DDL supportées dans une réplication standby | ||
---|---|---|
(*) Sybase ASE 12.5 minimum | ||
alter table |
create trigger |
drop view |
create default |
create view |
grant |
create index |
drop default |
installjava* |
create plan* |
drop index |
remove java* |
create procedure |
drop procedure |
revoke |
create rule |
drop rule |
|
create schema* |
drop table |
|
create table |
drop trigger |
Procédures stockées système supportées dans une réplication standby | ||
---|---|---|
(*) Sybase ASE 12.5 minimum | ||
sp_addalias |
sp_dropalias |
sp_recompile |
sp_addgroup |
sp_drop_all_qplans* |
sp_rename |
sp_addmessage |
sp_dropgroup |
sp_rename_qpgroup* |
sp_add_qpgroup* |
sp_dropkey |
sp_setrepcol |
sp_adduser |
sp_dropmessage |
sp_setreplicate |
sp_addtype |
sp_drop_qpgroup* |
sp_setrepmode |
sp_bindefault |
sp_droptype |
sp_setrepproc |
sp_bindmsg |
sp_dropuser |
sp_setreptable |
sp_bindrule |
sp_export_qpgroup* |
sp_unbindefault |
sp_changegroup |
sp_foreignkey |
sp_unbindmsg |
sp_chgattribute |
sp_import_qpgroup* |
sp_unbindrule |
sp_commonkey |
sp_primarykey |
sp_procxmode |
sp_config_rep_agent |
Pour mettre une base de données primaire en mode réplication standby :
exec sp_reptostandby db_name [, 'L1' | 'all' | 'none' ]
L1
représente le niveau de réplication supportée par Sybase ASE 12.5.
Au cours d’une réplication standby :
- L’agent de réplication (Rep Agent) dans la base primaire
cgcdb
(DBA_T1_ASE
) envoie les commandes DML et DDL vers le serveur de réplication. - Les commandes sont répliquées vers la base données standby, pour cela le
serveur de réplication se connecte au serveur hébergeant la base standby
avec un user de maintenance
<db_name>_maint
et ce user applique les ordres à répliquer. - Lorsque les ordres sont correctement répliquées, le serveur de
réplication se connecte au serveur primaire
DBA_T1_ASE
avec un user de maintenance ayant le rôlereplication_role
(<db_name>_maint
) afin de mettre à jour des informations dans les tables systèmes liées à la réplication (rs_%
) comme la tablers_lastcommit
.
Étapes préliminaires
Préparation du serveur primaire pour le mode standby
sp_reptostandby
En fonction du mode standby désiré (L1
ou ALL
), la base cgcdb
du serveur
primaire DBA_T1_ASE
doit être mise en mode standby avec la procédure
sp_reptostandby
à exécuter dans la base cgcdb
à répliquer :
DBA_T1_ASE > use cgcdb DBA_T1_ASE > go DBA_T1_ASE > exec sp_reptostandby cgcdb,'ALL' DBA_T1_ASE > go
LTM Truncation point has not been established with DBCC SETTRUNC. Changes to the objects in the database may not be replicated until the truncation point is set. The replication status for database 'cgcdb' has been set to 'ALL'.
Activation des threads agents de réplication (enable rep agent threads)
Sur le serveur primaire, le futur agent de réplication ne peut être autorisé
à s’exécuter que si le paramètre serveur "enable rep agent threads
" est
positionné à 1 (ce paramètre est dynamique) :
DBA_T1_ASE > exec sp_configure "enable rep agent threads",1
DBA_T1_ASE > go
Préparation du serveur de réplication pour le mode standby (create logical connection)
Au préalable, la connexion logique L_DBA_T2_ASE.l_cgcdb
pour le mode standby
est créée au niveau du serveur de réplication DBA_T1_REP
avec la commande
create logical connection
.
create logical connection to <Logical_dataserver>.<Logical_dbname>
DBA_T1_REP > create logical connection to L_DBA_T2_ASE.l_cgcdb DBA_T1_ASE > go
Logical connection to 'L_DBA_T2_ASE.l_cgcdb' is created.
Pour vérifier la création de la connexion logique L_DBA_T2_ASE.l_cgcdb
,
lancer la commande admin logical_status
au sein du serveur de réplication :
admin logical_status
DBA_T1_REP > admin logical_status DBA_T1_ASE > go
Logical Connection Name Active Connection Name Active Conn State Standby connection name Standby Conn State Controller RS Operation in Progress State of Operation in Progress Spid ----------------------------- ------------------------------- --------------------------- [102] L_DBA_T2_ASE.l_cgcdb None None None None [16777317] DBA_T1_REP None None
Ajout de la base primaire DBA_T1_ASE.cgcdb dans le système de réplication standby
Préparation du fichier de ressources
Un fichier exemple de ressources setupdb.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 setupdb.rs
et de personnaliser cette copie
pour l’ajout du serveur primaire DBA_T1_ASE
dans le système de réplication. Ce
fichier de ressources est appelé setup_DBA_T1_ASE.rs
et est installé dans le
répertoire /Software/sybase/repsrv-15/REP-15_0/install
.
Sections du fichier install_DBA_T1_ASE.rs
Dans le fichier de ressources, les paramètres sybinit.release_directory
,
sybinit.product
et rs.rs_operation
sont obligatoirement renseignés :
sybinit.release_directory |
Répertoire d’installation de la distribution Replication Server
/Software/sybase/repsrv-15 |
sybinit.product |
Produit (rs pour Replication Server)
rs |
rs.rs_operation |
Précise si il s’agit d’une installation (rs_install ), d’un upgrade
(rs_upgrade ), d’un downgrade (rs_downgrade ) d’un système de réplication
ou du paramétrage d’une base de données dans le système de réplication (rs_setup_db )
rs_setup_db |
install_DBA_T1_ASE.rs
sybinit.release_directory: /Software/sybase/repsrv-15
sybinit.product: rs
rs.rs_operation: rs_setup_db
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
DBA_T1_REP |
rs.rs_rs_sa_user |
Login sa du serveur de réplication |
rs.rs_rs_sa_pass |
Mot de passe du login sa du serveur de réplication |
install_DBA_T1_ASE.rs
rs.rs_name: DBA_T1_REP
rs.rs_rs_sa_user: sa
rs.rs_rs_sa_pass: <sa_password>
DATABASE INFORMATION
La section DATABASE INFORMATION
est importante car elle précise la base de données à ajouter dans le système de
réplication.
rs.rs_ds_name |
Nom du serveur ASE à ajouter dans le système de réplication
DBA_T1_ASE |
rs.rs_ds_sa_user |
Login sa du serveur ASE à ajouter (par défaut : sa)
USE_DEFAULT |
rs.rs_ds_sa_password |
Mot de passe du login sa du serveur ASE à ajouter
<à renseigner> |
rs.rs_db_name |
Base de données du serveur ASE à ajouter dans le système de
réplication
cgcdb |
rs.rs_needs_repagent |
Le système de réplication utilisera-t-il la méthodologie des agents
de réplication (Rep Agents), ce qui est le cas ici.
yes |
rs.rs_requires_ltm |
Le système de réplication utilisera-t-il la méthodologie LTM pour la
réplication (Log Transfer Manager , ASE 11.x et RS 11.x), ce qui n’est
pas le cas ici
no |
rs.rs_db_maint_user |
Nom du user dans la base de données à ajouter qui enverra les données
à répliquer vers le serveur de réplication. Par défaut :
<rs_db_name>_maint |
rs.rs_db_maint_password |
Mot de passe du user dans la base de données à ajouter qui mettra à
jour les données répliquées.
Par défaut <rs_db_name>_maint_ps
|
rs.rs_db_dbo_user |
Propriétaire de la base de données à ajouter (utilisé seulement dans
le contexte de la méthodologie LTM Log Transfer Manager , ce qui n’est
pas le cas ici). |
rs.rs_db_dbo_password |
Mot de passe du propriétaire de la base de données à ajouter (utilisé
seulement dans le contexte de la méthodologie LTM Log Transfer Manager ,
ce qui n’est pas le cas ici). |
install_DBA_T1_ASE.rs
rs.rs_ds_name: DBA_T1_ASE
rs.rs_ds_sa_user: USE_DEFAULT
rs.rs_ds_sa_password: <sa_password>
rs.rs_db_name: cgcdb
rs.rs_needs_repagent: yes
rs.rs_requires_ltm: no
rs.rs_db_maint_user: USE_DEFAULT
rs.rs_db_maint_password: USE_DEFAULT
rs.rs_db_dbo_user: USE_DEFAULT
rs.rs_db_dbo_password: USE_DEFAULT
RSSD LOG TRANSFER MANAGER INFORMATION
La section RSSD LOG TRANSFER MANAGER
INFORMATION
précise les paramètres dans le contexte de l’utilisation du
Log transfer Manager
(ASE 11.x et RS 11.x), ce qui n’est pas le cas ici. Il
n’est pas nécessaire de renseigner cette section dès lors que le paramètre
rs.rs_requires_ltm
est à no
dans le fichier de ressources (rs.rs_requires_ltm:
no
).
LOGICAL CONNECTION INFO FOR WARM STANDBY
La section LOGICAL CONNECTION INFO FOR
WARM STANDBY
est très importante pour paramétrer la base de données
primaire.
rs.rs_db_physical_for_logical |
Permet de spécifier si il s’agit d’une connexion physique vers un
serveur ASE à travers une connexion logique ou non. C’est le cas ici,
la connexion physique vers DBA_T1_ASE.cgcdb s’effectue à travers la
connexion logique L_DBA_T2_ASE.l_cgcdb définie dans une des étapes
précédentes
yes |
rs.rs_db_active_or_standby |
Indique si il s’agit de la connexion active (serveur primaire) ou
standby (serveur secondaire)
active |
rs.rs_db_logical_ds_name |
Nom logique du serveur ASE
L_DBA_T2_ASE |
rs.rs_db_logical_db_name |
Nom logique de la base de données
l_cgcdb |
install_DBA_T1_ASE.rs
rs.rs_db_physical_for_logical: yes
rs.rs_db_active_or_standby: active
rs.rs_db_logical_ds_name: L_DBA_T2_ASE
rs.rs_db_logical_db_name: l_cgcdb
Autres sections
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
.
La section LOG TRANSFER MANAGER
INTERFACES
précise les paramètres à ajouter dans le fichier interfaces
dans le contexte de l’utilisation du Log transfer Manager
(ASE 11.x et RS
11.x), ce qui n’est pas le cas ici. Il n’est pas nécessaire de renseigner cette
section et de laisser rs.do_add_ltm
à no
.
Lancement de l’ajout du serveur primaire DBA_T1_ASE.cgcdb (rs_init)
Après personnalisation du fichier de ressource setup_DBA_T1_ASE.rs
, l’ajout
de la base de données primaire cgcdb
du serveur DBA_T1_ASE
est déclenché 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).
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 et interactive du binaire rs_init
.
Pour lancer l’ajout de la base de données primaire cgcdb
du serveur
DBA_T1_ASE
avec le binaire rs_init
en utilisant le fichier de ressource
/Software/sybase/repsrv-15/REP-15_0/install/setup_DBA_T1_ASE.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/setup_DBA_T1_ASE.rs
-log $SYBASE/$SYBASE_REP/install/setup_DBA_T1_ASE.log
Opérations effectuées lors de l’ajout de DBA_T1_ASE.cgcdb
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 du user de maintenance
cgcdb_maint
dans le serveurDBA_T1_ASE
. - exécution du script
rsinspri.sql
dans la base de donnéescgcdb
primaire (DBA_T1_ASE
). - attribution des droits.
- attribution du rôle
replication_role
au user de maintenancecgcdb_maint
dans la base de données primairecgcdb
(DBA_T1_ASE
). - configuration de l’agent de réplication dans la base de données primaire
cgcdb
du serveurDBA_T1_ASE
. - configuration de la connexion vers
DBA_T1_ASE.cgcdb
au sein du serveur de réplicationDBA_T1_REP
. - démarrage de l’agent de réplication pour la base de données
cgcdb
du serveur primaireDBA_T1_ASE
.
Étape 1 : création du user de maintenance cgcdb_maint dans le serveur DBA_T1_ASE
La toute première étape consiste à créer le login cgcdb_maint
dans le
serveur ASE primaire et le user cgcdb_maint
dans la base de données primaire
cgcdb
:
DBA_T1_ASE > exec sp_addlogin cgcdb_maint,cgcdb_maint_ps,cgcdb
DBA_T1_ASE > go
DBA_T1_ASE > exec sp_adduser cgcdb_maint, cgcdb_maint
DBA_T1_ASE > go
Étape 2 : exécution du script rsinspri.sql
Le script rsinspri.sql
localisé dans le répertoire
$SYBASE/$SYBASE_REP/scripts
(/Software/sybase/repsrv-15/scripts
dans notre
exemple) est exécuté dans la base de données primaire cgcdb
. Ce script installe
les tables rs_%
et les procédures stockées rs_%
nécessaires à la réplication
dans l’environnement de la base de données primaire cgcdb
.
Étape 3 : attribution des droits
À l’issue de l’exécution rsinspri.sql
sur la base de données primaire, les
droits nécessaires sont donnés sur les objets rs_%
.
Par ailleurs, la table rs_lastcommit
est définie comme ne devant pas être
répliquée avec la procédure sp_setreptable
et la table rs_update_lastcommit
est
définie comme devant être répliquée toujours avec la procédure
sp_setreptable
.
DBA_T1_ASE > grant execute on rs_update_lastcommit to PUBLIC
DBA_T1_ASE > grant execute on rs_marker to PUBLIC
DBA_T1_ASE > grant execute on rs_check_repl_stat to PUBLIC
DBA_T1_ASE > exec sp_setreplicate rs_lastcommit,false
DBA_T1_ASE > exec sp_setreplicate rs_update_lastcommit,true
DBA_T1_ASE > grant execute on rs_get_lastcommit to cgcdb_maint
DBA_T1_ASE > grant all on rs_lastcommit to cgcdb_maint
Étape 4 : attribution du rôle replication_role au user de maintenance dans la base de données primaire cgcdb (DBA_T1_ASE)
Le rôle replication_role
est ensuite donné au user de maintenance dans la
base de données primaire cgcdb
(DBA_T1_ASE
) :
DBA_T1_ASE > exec sp_role "grant", replication_role, cgcdb_maint
Étape 5 : Configuration de l’agent de réplication dans la base de données primaire cgcdb (DBA_T1_ASE), sp_config_rep_agent
L’agent de réplication est alors configuré pour la base de données primaire
cgcdb
avec la procédure sp_config_rep_agent
.
La première commande sp_config_rep_agent
permet de spécifier le nom du
serveur de réplication (DBA_T1_REP
) auquel l’agent de réplication doit se
connecter ainsi que le user et le mot de passe avec lequels se connecter.
exec sp_config_rep_agent [dbname [, {'enable',
'repserver_name', 'repserver_username'. 'repserver_password'} ]]
DBA_T1_ASE > exec sp_config_rep_agent "cgcdb", enable,
"DBA_T1_REP", "DBA_T1_REP_ra", "DBA_T1_REP_ra_ps"
La seconde commande sp_config_rep_agent
permet de spécifier à l’agent de
réplication de la base de données primaire de se mettre en mode standby dans
l’envoi des transactions.
exec sp_config_rep_agent [dbname [, { 'send warm standby xacts', {'true' | 'false'} ]]
DBA_T1_ASE > exec sp_config_rep_agent "cgcdb", "send warm",true
Étape 6 : Configuration de la connexion vers DBA_T1_ASE.cgcdb au sein du serveur de réplication DBA_T1_REP, create connection
La création de la connexion active vers la base de données primaire cgcdb
du
serveur DBA_T1_ASE
pour la connexion logique L_DBA_T2_ASE.l_cgcdb
est alors
définie avec la commande create connection
au niveau du serveur de réplication
DBA_T1_REP
:
DBA_T1_REP > create connection to "DBA_T1_ASE"."cgcdb"
set error class rs_sqlserver_error_class
set function string class rs_sqlserver_function_class
set username "cgcdb_maint" set password "cgcdb_maint_ps"
with log transfer on as active for "L_DBA_T2_ASE"."l_cgcdb"
Étape 7 : Démarrage de l’agent de réplication pour la base de données primaire cgcdb (DBA_T1_ASE), sp_start_rep_agent
L’agent de réplication dans la base de données primaire cgcdb
(DBA_T1_ASE
)
est ensuite démarré avec la procédure stockée sp_start_rep_agent
:
DBA_T1_ASE > exec sp_start_rep_agent "cgcdb"
Ajout de la base standby DBA_T2_ASE.cgcdb dans le système de réplication standby
Préparation du user de maintenance cgcdb_maint dans le serveur secondaire DBA_T2_ASE
Le user cgcdb_maint
défini dans la base DBA_T1_ASE.cgcdb
à l’étape
précédente doit également être défini manuellement dans la base secondaire
DBA_T2_ASE.cgcdb
:
DBA_T2_ASE > exec sp_addlogin cgcdb_maint,cgcdb_maint_ps,cgcdb
DBA_T2_ASE > go
DBA_T2_ASE > use cgcdb
DBA_T2_ASE > go
DBA_T2_ASE > exec sp_adduser cgcdb_maint, cgcdb_maint
DBA_T2_ASE > go
Synchronisation des logins et users entre le serveur primaire et le serveur secondaire
Cette étape est cruciale, il est impératif que les suid des logins et users
dans les bases primaire DBA_T1_ASE.cgcdb
et DBA_T2_ASE.cgcdb
soient
rigoureusement identiques pour éviter toute désynchronisation lors du
dump/load
.
Dans le contexte de cette documentation, c’est pas le cas :
DBA_T1_ASE | DBA_T2_ASE |
---|---|
|
|
Pour resynchroniser les logins et users, la méthode ci-dessous a été utilisée :
DBA_T1_ASE > exec sp_configure 'allow updates to system tables', 1
DBA_T1_ASE > go
DBA_T1_ASE > use cgcdb
DBA_T1_ASE > go
DBA_T1_ASE > exec sp_changedbowner sa
DBA_T1_ASE > go
DBA_T1_ASE > update sysusers set suid=7 where name='cgcdb_maint'
DBA_T1_ASE > go
DBA_T1_ASE > use master
DBA_T1_ASE > go
DBA_T1_ASE > update syslogins set suid=7 where name='cgcdb_maint'
DBA_T1_ASE > go
DBA_T1_ASE > update syslogins set suid=6 where name='cgcdb_dbo'
DBA_T1_ASE > go
DBA_T1_ASE > use cgcdb
DBA_T1_ASE > go
DBA_T1_ASE > exec sp_changedbowner 'cgcdb_dbo'
DBA_T1_ASE > go
DBA_T1_ASE > exec sp_configure 'allow updates to system tables', 0
DBA_T1_ASE > go
Préparation du fichier de ressources pour l’ajout de la base standby DBA_T2_ASE.cgcdb
Un fichier exemple de ressources setupdb.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 setupdb.rs
et de personnaliser cette copie
pour l’ajout du serveur secondaire DBA_T2_ASE
dans le système de réplication.
Ce fichier de ressources est appelé setup_DBA_T2_ASE.rs
et est installé dans le
répertoire /Software/sybase/repsrv-15/REP-15_0/install
.
Sections du fichier setup_DBA_T2_ASE.rs
Dans le fichier de ressources, les paramètres sybinit.release_directory
,
sybinit.product
et rs.rs_operation
sont obligatoirement renseignés :
sybinit.release_directory |
Répertoire d’installation de la distribution Replication Server
/Software/sybase/repsrv-15 |
sybinit.product |
Produit (rs pour Replication Server)
rs |
rs.rs_operation |
Précise si il s’agit d’une installation (rs_install ), d’un upgrade
(rs_upgrade ), d’un downgrade (rs_downgrade ) d’un système de réplication
ou du paramétrage d’une base de données dans le système de réplication
(rs_setup_db )
rs_setup_db |
setup_DBA_T2_ASE.rs
sybinit.release_directory: /Software/sybase/repsrv-15
sybinit.product: rs
rs.rs_operation: rs_setup_db
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
DBA_T1_REP |
rs.rs_rs_sa_user |
Login sa du serveur de réplication |
rs.rs_rs_sa_pass |
Mot de passe du login sa du serveur de réplication |
setup_DBA_T2_ASE.rs
rs.rs_name: DBA_T1_REP
rs.rs_rs_sa_user: sa
rs.rs_rs_sa_pass: <sa_password>
DATABASE INFORMATION
La section DATABASE INFORMATION
est importante car elle précise la base de données à ajouter dans le système de
réplication.
rs.rs_ds_name |
Nom du serveur ASE à ajouter dans le système de réplication
DBA_T2_ASE |
rs.rs_ds_sa_user |
Login sa du serveur ASE à ajouter (par défaut : sa)
USE_DEFAULT |
rs.rs_ds_sa_password |
Mot de passe du login sa du serveur ASE à ajouter
<à renseigner> |
rs.rs_db_name |
Base de données du serveur ASE à ajouter dans le système de
réplication
cgcdb |
rs.rs_needs_repagent |
Le système de réplication utilisera-t-il la méthodologie des agents
de réplication (Rep Agents), ce qui est le cas ici.
yes |
rs.rs_requires_ltm |
Le système de réplication utilisera-t-il la méthodologie LTM pour la
réplication (Log Transfer Manager , ASE 11.x et RS 11.x), ce qui n’est
pas le cas ici
no |
rs.rs_db_maint_user |
Nom du user dans la base de données à ajouter qui enverra les données
à répliquer vers le serveur de réplication. Par défaut :
<rs_db_name>_maint |
rs.rs_db_maint_password |
Mot de passe du user dans la base de données à ajouter qui mettra à
jour les données répliquées. Par défaut <rs_db_name>_maint_ps
|
rs.rs_db_dbo_user |
Propriétaire de la base de données à ajouter (utilisé seulement dans
le contexte de la méthodologie LTM Log Transfer Manager , ce qui n’est
pas le cas ici). |
rs.rs_db_dbo_password |
Mot de passe du propriétaire de la base de données à ajouter (utilisé
seulement dans le contexte de la méthodologie LTM Log Transfer Manager ,
ce qui n’est pas le cas ici). |
setup_DBA_T2_ASE.rs
rs.rs_ds_name: DBA_T2_ASE
rs.rs_ds_sa_user: USE_DEFAULT
rs.rs_ds_sa_password: <sa_password>
rs.rs_db_name: cgcdb
rs.rs_needs_repagent: yes
rs.rs_requires_ltm: no
rs.rs_db_maint_user: USE_DEFAULT
rs.rs_db_maint_password: USE_DEFAULT
rs.rs_db_dbo_user: USE_DEFAULT
rs.rs_db_dbo_password: USE_DEFAULT
RSSD LOG TRANSFER MANAGER INFORMATION
La section RSSD LOG TRANSFER MANAGER
INFORMATION
précise les paramètres dans le contexte de l’utilisation du
Log transfer Manager
(ASE 11.x et RS 11.x), ce qui n’est pas le cas ici. Il
n’est pas nécessaire de renseigner cette section dès lors que le paramètre
rs.rs_requires_ltm
est à no dans le fichier de ressources (rs.rs_requires_ltm:
no
).
LOGICAL CONNECTION INFO FOR WARM STANDBY
La section LOGICAL CONNECTION INFO FOR
WARM STANDBY
est très importante pour paramétrer la base de données
secondaire, qui est une standby de la base de données primaire cgcdb
du serveur
DBA_T1_ASE
rs.rs_db_physical_for_logical |
Permet de spécifier si il s’agit d’une connexion physique vers un
serveur ASE à travers une connexion logique ou non. C’est le cas ici,
la connexion physique vers DBA_T2_ASE.cgcdb s’effectue à travers la
connexion logique L_DBA_T2_ASE.l_cgcdb définie dans une des étapes
précédentes
yes |
rs.rs_db_active_or_standby |
Indique si il s’agit de la connexion active (serveur primaire) ou
standby (serveur secondaire)
standby |
rs.rs_db_logical_ds_name |
Nom logique du serveur ASE
L_DBA_T2_ASE |
rs.rs_db_logical_db_name |
Nom logique de la base de données
l_cgcdb |
rs.rs_db_active_ds_name |
Nom du serveur ASE primaire
DBA_T1_ASE |
rs.rs_db_active_db_name |
Base de données du serveur ASE primaire |
rs.rs_db_active_sa |
Login sa du serveur primaire ASE |
rs.rs_db_active_sa_pw |
Mot de passe du login sa du serveur primaire ASE |
rs.rs_init_by_dump |
La base de données secondaire est-elle synchronisée à partir d’un dump de la base de données primaire ? |
rs.rs_db_use_dmp_marker |
Au cours de la synchronisation par dump/load, la réplication positionne-t-elle un marqueur dans le journal de transactions de la base primaire ? |
setup_DBA_T2_ASE.rs
rs.rs_db_physical_for_logical: yes
rs.rs_db_active_or_standby: standby
rs.rs_db_logical_ds_name: L_DBA_T2_ASE
rs.rs_db_logical_db_name: l_cgcdb
rs.rs_db_active_ds_name: DBA_T1_ASE
rs.rs_db_active_db_name: cgcdb
rs.rs_db_active_sa: sa
rs.rs_db_active_sa_pw: <sa_password>
rs.rs_init_by_dump: yes
rs.rs_db_use_dmp_marker: yes
Autres sections
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
.
La section LOG TRANSFER MANAGER
INTERFACES
précise les paramètres à ajouter dans le fichier interfaces
dans le contexte de l’utilisation du Log transfer Manager
(ASE 11.x et RS
11.x), ce qui n’est pas le cas ici. Il n’est pas nécessaire de renseigner cette
section et de laisser rs.do_add_ltm
à no
.
Lancement de l’ajout du serveur secondaire DBA_T2_ASE (rs_init)
Après personnalisation du fichier de ressource setup_DBA_T2_ASE.rs
, l’ajout
de la base de données standby cgcdb
du serveur DBA_T2_ASE
est déclenché 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).
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 l’ajout de la base de données standby cgcdb
du serveur
DBA_T2_ASE
avec le binaire rs_init
en utilisant le fichier de ressource
/Software/sybase/repsrv-15/REP-15_0/install/setup_DBA_T2_ASE.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/setup_DBA_T2_ASE.rs
-log $SYBASE/$SYBASE_REP/install/setup_DBA_T2_ASE.log
Opérations effectuées lors de l’ajout de DBA_T2_ASE.cgcdb
La création de la connexion standby vers la base de données secondaire cgcdb
du serveur DBA_T2_ASE
pour la connexion logique L_DBA_T2_ASE.l_cgcdb
est alors
définie avec la commande create connection
au niveau du serveur de réplication
DBA_T1_REP
:
DBA_T1_REP > create connection to "DBA_T2_ASE"."cgcdb"
set error class rs_sqlserver_error_class
set function string class rs_sqlserver_function_class
set username "cgcdb_maint" set password "cgcdb_maint_ps"
with log transfer on as standby
for "L_DBA_T2_ASE"."l_cgcdb"
use dump marker
L’option use dump marker
indique qu’une synchronisation de la base standby
est effectuée par dump/load de la base primaire avec un marqueur.
La création de ce marqueur est indiquée dans le fichier de log du serveur de réplication :
Placing marker in DBA_T1_ASE.cgcdb log
WARNING #41100 CREATE(DBA_T2_ASE.cgcdb) - \stdbint.c(1538)
Create Standby DBA_T2_ASE.cgcdb: If you are using dump/load to initialize the standby database,
make sure that the suids in sysusers table in DBA_T2_ASE.cgcdb match suids in syslogins table
Create completed : DBA_T2_ASE.cgcdb
Vérification de la mise en place de la connexion standby
Les commandes Replication Server admin who
et admin logical_status
permettent de vérifier la mise en place de la connexion active vers
DBA_T1_ASE.cgcdb
et de la connexion standby DBA_T2_ASE.cgcdb
.
DBA_T1_REP > admin who DBA_T1_REP > go
Spid Name State Info ---- ----------- ------------------------ ----------------------------------- 15 DIST Awaiting Wakeup 102 L_DBA_T2_ASE.l_cgcdb 19 SQT Awaiting Wakeup 102:1 DIST L_DBA_T2_ASE.l_cgcdb 11 SQM Awaiting Message 102:1 L_DBA_T2_ASE.l_cgcdb 10 SQM Awaiting Message 102:0 L_DBA_T2_ASE.l_cgcdb 23 DSI EXEC Awaiting Command 103(1) DBA_T1_ASE.cgcdb 12 DSI Awaiting Message 103 DBA_T1_ASE.cgcdb 26 REP AGENT Awaiting Command DBA_T1_ASE.cgcdb DSI EXEC Suspended 106(1) DBA_T2_ASE.cgcdb DSI Suspended 106 DBA_T2_ASE.cgcdb
Avec la commande admin who
, tous les threads vers DBA_T1_ASE.cgcdb
et
L_DBA_T2_ASE.l_cgcdb
doivent être en mode Awaiting
. Seuls les threads DSI vers
DBA_T2_ASE.cgcdb
doivent être suspendus (Suspended
).
DBA_T1_REP > admin logical_status DBA_T1_ASE > go
Logical Connection Name Active Connection Name Active Conn State Standby connection name Standby Conn State Controller RS Operation in Progress State of Operation in Progress Spid ----------------------------- ------------------------------- --------------------------- [102] L_DBA_T2_ASE.l_cgcdb [103] DBA_T1_ASE.cgcdb Active/ [106] DBA_T2_ASE.cgcdb Suspended/Waiting for [16777317] DBA_T1_REP Enable Marker None None
Avec la commande admin logical_status
, il faut retrouver les informations
ci-dessous :
- Logical Connection Name :
L_DBA_T2_ASE.l_cgcdb
- Active Connection Name :
DBA_T1_ASE.cgcdb
- Active Conn State :
Active/
- Standby Connection Name :
DBA_T2_ASE.cgcdb
- Standby Conn State :
Suspended/Waiting for Enable Marker
L’état de la connexion standby doit impérativement être Suspended/Waiting
for Enable Marker
, état qui indique que le marqueur de dump est attendu après
la resynchronisation par dump/load.
Synchronisation
Dump / Load
La base cgcdb
sur le serveur primaire DBA_T1_ASE
est alors sauvegardée puis
chargée sur le serveur secondaire DBA_T2_ASE
par dump/load.
DBA_T1_ASE > dump database cgcdb to '/cgcdb/sybase/DBA_T1_ASE/export/cgcdb.dmp'
DBA_T1_ASE > go
DBA_T2_ASE > load database cgcdb from '/cgcdb/sybase/DBA_T1_ASE/export/cgcdb.dmp'
DBA_T2_ASE > go
DBA_T2_ASE > online database cgcdb
DBA_T2_ASE > go
Mise en mode dbo du user cgcdb_maint sur le serveur secondaire DBA_T2_ASE
À l’issue du chargement de la base cgcdb
sur le serveur secondaire
DBA_T2_ASE
, le user cgcdb_maint
est alors supprimé et cgcdb_maint
est aliasé au
dbo :
DBA_T2_ASE > use cgcdb
DBA_T2_ASE > go
DBA_T2_ASE > exec sp_dropuser 'cgcdb_maint'
DBA_T2_ASE > go
DBA_T2_ASE > exec sp_addalias 'cgcdb_maint','dbo'
DBA_T2_ASE > go
Suppression du point de troncature dans le base standby
Le point de troncature de la réplication provenant du chargement de la base
primaire doit être annulé sur la base standby avec la commande dbcc settrunc
et
les options ltm
et ignore
:
DBA_T2_ASE > use cgcdb
DBA_T2_ASE > go
DBA_T2_ASE > dbcc settrunc ('ltm','ignore')
DBA_T2_ASE > go
Activation et test de la réplication standby
La resynchronisation étant effectuée entre la base primaire et la base
standby, la réplication peut être mise en route avec la commande resume
connection
:
DBA_T1_REP > resume connection to DBA_T2_ASE.cgcdb
DBA_T1_REP > go
À l’issue de la commande resume connection
, surveiller le fichier de log du
serveur de réplication pour vérifier que le marqueur de dump est atteint.
The DSI thread for database 'DBA_T2_ASE.cgcdb' is started.
Setting Replication Agent truncation to 'ignore' for DBA_T2_ASE.cgcdb log
DSI for DBA_T2_ASE.cgcdb received and processed Enable Replication Marker. Waiting for Dump Marker
DSI for DBA_T2_ASE.cgcdb received and processed Dump Marker. DSI is now applying commands to the Standby
Le message "DSI is now applying commands to the standby
" confirme que la
resynchronisation est effectuée et que la réplication est en route.
Pour tester la réplication standby, créer une table et insérer une ligne dans celle-ci, puis vérifier que celle-ci est bien créée sur le serveur secondaire :
DBA_T1_ASE > create table rst_beat (id integer not null, sdate smalldatetime)
DBA_T1_ASE > go
DBA_T1_ASE > insert into rst_beat (1,getdate( ))
DBA_T1_ASE > go
DBA_T2_ASE > select * from rst_beat
DBA_T2_ASE > go
Annexe 1 : Fichier de log de l’installation de DBA_T1_ASE.cgcdb
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/setup_DBA_T1_ASE.rs' for product attributes.
Running task: check the SQL Server.
Task succeeded: check the SQL Server.
Running task: verify users and their passwords.
Verified that 'DBA_T1_REP_ra' can log into Replication Server 'DBA_T1_REP'.
Verified that 'sa' can log into Replication Server 'DBA_T1_REP'.
Task succeeded: verify users and their passwords.
Running task: check the database.
Verified that database 'cgcdb' exists.
Sending the following SQL command to the server: 'dbcc is_replication_enabled'.
Verified that SQL Server 'DBA_T1_ASE' supports replication.
Sending the following SQL command to the server: 'use master'.
...
Sending the following SQL command to the server:
'exec sp_addlogin cgcdb_maint, "cgcdb_maint_ps", cgcdb'.
SQL Server message: msg 0, level 10, state 1
"Password correctly set."
SQL Server message: msg 0, level 10, state 1
"Account unlocked."
SQL Server message: msg 0, level 10, state 1
"New login created."
Sending the following SQL command to the server: 'use master'.
...
Sending the following SQL command to the server: 'exec rs_install_sql_proc_2'.
SQL Server message: msg 0, level 10, state 1
"New user added."
Added maintenance user login 'cgcdb_maint' to database 'cgcdb'.
...
Sending the following SQL command to the server: 'use master'.
Verified that maintenance user 'cgcdb_maint' can log into SQL Server 'DBA_T1_ASE'.
Task succeeded: check the database.
Running task: configure database for primary data.
Loading script 'rsinspri.sql' into database 'cgcdb'.
Sending the following SQL command to the server: 'use cgcdb'.
Done
Loaded script 'rsinspri.sql' successfully.
Granting permissions on the lastcommit functions and rs_marker.
Sending the following SQL command to the server:
'grant execute on rs_update_lastcommit to PUBLIC'.
Sending the following SQL command to the server:
'grant execute on rs_marker to PUBLIC'.
Sending the following SQL command to the server:
'grant execute on rs_check_repl_stat to PUBLIC'.
Granting permissions on the lastcommit functions.
Sending the following SQL command to the server:
'sp_setreplicate rs_lastcommit,false'.
SQL Server message: msg 17962, level 16, state 1
WARNING: "The replication status for 'rs_lastcommit' is already set to false. Replication status for 'rs_lastcommit' does not change."
Sending the following SQL command to the server:
'sp_setreplicate rs_update_lastcommit,true'.
SQL Server message: msg 0, level 10, state 1
"The replication status for 'rs_update_lastcommit' is set to true."
Sending the following SQL command to the server:
'grant execute on rs_get_lastcommit to cgcdb_maint'.
Sending the following SQL command to the server:
'grant all on rs_lastcommit to cgcdb_maint'.
Granted maintenance user permissions on the lastcommit functions and rs_marker.
Sending the following SQL command to the server:
'sp_role "grant", replication_role, cgcdb_maint'.
SQL Server message: msg 0, level 10, state 1
"Authorization updated."
Granted replication role to maintenance user
Task succeeded: configure database for primary data.
Running task: configure the Replication Agent.
Sending the following SQL command to the server: 'use cgcdb'.
Sending the following SQL command to the server:
'exec sp_config_rep_agent "cgcdb", enable,"DBA_T1_REP", "DBA_T1_REP_ra", "DBA_T1_REP_ra_ps"'.
SQL Server message: msg 0, level 10, state 1
"Replication Agent enabled for database 'cgcdb'. The Replication Agent thread needs to be started using sp_start_rep_agent."
Sending the following SQL command to the server:
'exec sp_config_rep_agent "cgcdb", "send warm",true '.
SQL Server message: msg 0, level 10, state 1
"Replication Agent configuration changed for database 'cgcdb'. The changes will take effect the next time the Replication Agent thread is started."
Task succeeded: configure the Replication Agent.
Running task: set connection to the database.
Adding database 'cgcdb' to the replication system.
Sending the following SQL command to the server: 'admin version'.
Sending the following SQL command to the server:
'admin logical_status,"DBA_T1_ASE","cgcdb"'.
Sending the following SQL command to the server:
'drop connection to "DBA_T1_ASE"."cgcdb"'.
Sending the following SQL command to the server:
'create connection to "DBA_T1_ASE"."cgcdb"
set error class rs_sqlserver_error_class
set function string class rs_sqlserver_function_class
set username "cgcdb_maint" set password "cgcdb_maint_ps"
with log transfer on as active
for "L_DBA_T2_ASE"."l_cgcdb"'.
Successfully executed 'create connection'. Database 'cgcdb' is now managed by Replication Server 'DBA_T1_REP'.
Task succeeded: set connection to the database.
Running task: start the Replication Agent.
Sending the following SQL command to the server: 'exec sp_start_rep_agent "cgcdb" '.
Task succeeded: start the Replication Agent.
Configuration completed successfully.
Exiting.
The log file for this session is '/Software/sybase/repsrv-15/REP-15_0/install/setup_DBA_T1_ASE.log'.
Log close.
Annexe 2 : Fichier de log de l’installation de DBA_T2_ASE.cgcdb
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/setup_DBA_T2_ASE.rs' for product attributes.
Running task: check the SQL Server.
Task succeeded: check the SQL Server.
Running task: verify users and their passwords.
Verified that 'DBA_T1_REP_ra' can log into Replication Server 'DBA_T1_REP'.
Verified that 'sa' can log into Replication Server 'DBA_T1_REP'.
Task succeeded: verify users and their passwords.
Running task: check the database.
Verified that database 'cgcdb' exists.
Sending the following SQL command to the server: 'dbcc is_replication_enabled'.
Verified that SQL Server 'DBA_T1_ASE' supports replication.
Sending the following SQL command to the server: 'use master'.
Verified that the maintenance user 'cgcdb_maint' is defined in database 'cgcdb'.
Sending the following SQL command to the server: 'use master'.
Verified that maintenance user 'cgcdb_maint' can log into SQL Server 'DBA_T1_ASE'.
Verified that maintenance user 'cgcdb_maint' can log into SQL Server 'DBA_T2_ASE'.
Task succeeded: check the database.
Running task: configure database for primary data.
Sending the following SQL command to the server: 'use cgcdb'.
Sending the following SQL command to the server:
'grant all on rs_update_lastcommit to cgcdb_maint'.
Sending the following SQL command to the server:
'grant execute on rs_get_lastcommit to cgcdb_maint'.
Sending the following SQL command to the server:
'grant all on rs_lastcommit to cgcdb_maint'.
Granted maintenance user permissions on the lastcommit functions and rs_marker.
WARNING: Please verify that suids in the syslogins table of the Standby SQL server correspond to syslogins of the Active SQL Server
Sending the following SQL command to the server:
'sp_role "grant", replication_role, cgcdb_maint'.
Granted replication role to maintenance user
Granted replication role to maintenance user
Task succeeded: configure database for primary data.
Running task: configure the Replication Agent.
Sending the following SQL command to the server: 'use cgcdb'.
Sending the following SQL command to the server:
'exec sp_config_rep_agent "cgcdb", enable,"DBA_T1_REP",
"DBA_T1_REP_ra", "DBA_T1_REP_ra_ps"'.
Sending the following SQL command to the server:
'exec sp_config_rep_agent "cgcdb", "send warm",true'.
Task succeeded: configure the Replication Agent.
Running task: set connection to the database.
Adding database 'cgcdb' to the replication system.
Sending the following SQL command to the server: 'admin version'.
Sending the following SQL command to the server:
'admin logical_status,"DBA_T2_ASE","cgcdb"'.
Sending the following SQL command to the server:
'drop connection to "DBA_T2_ASE"."cgcdb"'.
Sending the following SQL command to the server: 'use cgcdb'.
Sending the following SQL command to the server:
'sp_setreplicate rs_lastcommit,false'.
SQL Server message: msg 17962, level 16, state 1
WARNING: "The replication status for 'rs_lastcommit' is already set to false. Replication status for 'rs_lastcommit' does not change."
Sending the following SQL command to the server:
'sp_setreplicate rs_update_lastcommit,true'.
SQL Server message: msg 17962, level 16, state 1
WARNING: "The replication status for 'rs_update_lastcommit' is already set to true. Replication status for 'rs_update_lastcommit' does not change."
Sending the following SQL command to the server:
'create connection to "DBA_T2_ASE"."cgcdb"
set error class rs_sqlserver_error_class
set function string class rs_sqlserver_function_class
set username "cgcdb_maint" set password "cgcdb_maint_ps"
with log transfer on as standby for "L_DBA_T2_ASE"."l_cgcdb"
use dump marker'.
Successfully executed 'create connection'. Database 'cgcdb' is now managed by Replication Server 'DBA_T1_REP'.
Task succeeded: set connection to the database.
Running task: start the Replication Agent.
Sending the following SQL command to the server:
'exec sp_start_rep_agent "cgcdb" '.
Task succeeded: start the Replication Agent.
Configuration completed successfully.
Exiting.
The log file for this session is '/Software/sybase/repsrv-15/REP-15_0/install/setup_DBA_T2_ASE.log'.
Log close.