SelectEtoile : Base de connaissance SGBD

Posts Tagged 'rsinit'

Mise en place d'un Replication MSA

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

 

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

 

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

 

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

 

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

create logical connection to LDS_DBSource.LDB_DBSource

go

 

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

use DBSource

go

sp_configure '"enable rep agent thread"', 1

go

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

go

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

go

sp_adduser DB_repl_maint

go

 

Préinstallation de la repli via l'utilitaire rs_init

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

 

Activation de la replication sur le Primaire (SYBServerSource) :

use DBSource

go

sp_reptostandby "DBSource","ALL"

go

 

Lancer la connection sur le RSServer :

resume connection to SYBServerSource.DBSource

 

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

Se connecter au RSServer

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

 

Rafraichissement de la base secondaire DBCible :

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

 

Démarrage de la réplication :

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

 

Vérification du bon fonctionnement :

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

Mise en place d'un Replication Server SYBASE 15

Récupérer la distrib sur le site de sybase

Détarer celle-ci sur la machine dans le répertoire voulu

Modifier le fichier SYBASE.sh (ou SYBASE.csh ou SYBASE.env) pour qu'il est les bons chemins d'accès

Sourcer celui-ci : ". SYBASE.sh"

 

Pour lancer l'installation, 2 solutions s'offrent à vous :

rs_init pour le lancer en mode interactif

  • Il est conseillé de mettre à jour le fichier $SYBASE/interfaces avec les entrées du Replication Serveur et du Serveur hébergeant la base RSSD (base de repository de la réplication)
  • Voici un exemple de définition de ces serveurs
 RSServer
        master tcp ether machine 4100
        query tcp ether machine 4100


RSSDSErver
        master tcp ether machine 4101
        query tcp ether machine 4101

 
  • En fin d'installation, il est possible de générer le fichier de ressource en faisant un "ctrl+w" juste avant le message de lancement "Execute the Replication Server tasks now? y"

rs_init -r ressource_file . Ce fichier contient tous les paramétrages nécessaires à l'installation. Il est généré dans $SYBASE/REP-15_2/init/logs et se nomme 'resource.dmp'.

 

  • De la même façon que le premier point, il est obligatoire de renseigner le fichier $SYBASE/interfaces

 

Exemple de fichier de ressources avec un base RSSD sur ASA (Anywhere) :

sybinit.charset: iso_1

sybinit.language: us_english

sybinit.component_directory: $SYBASE/REP1520/REP-15_2

sybinit.release_directory: $SYBASE/REP1520

sybinit.boot_directory: $SYBASE/REP1520

sybinit.product: rs

sqlsrv.sa_password: USE_DEFAULT

sqlsrv.sa_login: USE_DEFAULT

sqlsrv.master_device_size: USE_DEFAULT

sqlsrv.master_device_physical_name: USE_DEFAULT

sqlsrv.server_name: USE_DEFAULT

sqlsrv.new_config: USE_DEFAULT

rs.rs_operation: rs_install

rs.rs_diskp_size: 2000

rs.rs_diskp_lname: logical_queue01

rs.rs_diskp_name: /rawdevice/physical-queue01

rs.rs_erssd_errorlog_dir: $SYBASE/errorlog

rs.rs_erssd_translog_dir: $SYBASE/REP-15_2/translog

rs.rs_rssd_embedded: yes

rs.rs_erssd_name: RSSDServer

rs.rs_pwd_encryption: yes

rs.rs_idserver_name: RSSERVER

rs.rs_id_server_is_rs_server: yes

rs.rs_rs_errorlog: $SYBASE/errorlog/RSSERVER.log

rs.rs_name: RSSERVER

# -END_ATTRIBUTES-

 

Une fois l'installation finie, il faut se connecter au serveur de Replication. Pour cela, il faut sourcer le fichier $SYBASE/SYBASE.sh et lancer la commande suivante :

isql -Usa -SRSServer -w500

Mot de passe : 'Touche Entrée'. Pas de mot passe à l'initialisation.

Pour le changer, une fois connecté lancer la commande :

alter user sa set password 'newpassword'

go

 

Se connecter ensuite à la base RSSD sur ASA dans notre cas :

isql -URSServer_RSSD_prim -SRSSDServer -w500 -PRSServer_RSSD_prim_ps

On peut créer un login sa sur la  avec les droits d'administration par exemple comme suit :

 grant connect to sa identified by newpwd

go

grant DBA to sa

go