SelectEtoile : Base de connaissance SGBD

Posts Tagged 'quiesce'

Utilisation de quiesce sous SYBASE ASE

QUIESCE :  

Mécanisme permettant de suspendre les écritures sur une base donnée.

1) On suspend les écritures sur la base test_db :
test_db_quiesce = étiquette (tag) identifiant cette opération
hold = type d'opération
to manifeste_file = fichier binaire contenant les informations pour la suite (i.e : umount / mount)
SQL> quiesce database test_db_q1 hold test_db [ for external dump ] [ to "/chemin/vers/manifestFile" ]

Note : On peut vérifer les tags en cours en consultant monOpenDatabases.QuiesceTag ou avec is_quiesce()
exemple :  
SQL> select QuiesceTag from master..monOpenDatabases
C'est également montré par dbcc resource (Section 'QUIESCEDB_INFO')
 
2) Pour libérer la base :  
SQL> quiesce database test_db_quiesce release = libére le verrou étiqueté "test_db_quiesce"

Utilisation de Mount / Umount sous SYBASE ASE

MOUNT / UNMOUNT :

 

ATTENTION : la commande "unmount" efface les entrées de la base concernée et de ses devices dans le dataserver source !

C'est une méthode alternative pour copier / déplacer / migrer une base. Pratique et rapide.

0) vérifier la taille des pages des ASE et la compatibilité des OS.

1) on crée une base test_db dans le serveur source.

2) on démonte la base en indiquant le manifest_file :
RE-ATTENTION : j'insiste sur le fait que cela supprime toutes les informations du dataserver actuel !
SQL>unmount database test_db to "/chemin/vers/testdb_manifestFile"

2 bis) mettre la base en "quiesce" en générant le fichier "manifest" (cf : QUIESCE)

3) on copie les fichiers de device et le manifeste vers leur nouveau répertoire sur la destination.

4)remonter la base en indiquant le changement de chemin :
SQL>mount database all from "/chemin/vers/test_db_manifest.file"
using '/nouveau/chemin/vers/devices/test_data1' = 'test_data1',
'/nouveau/chemin/vers/devices/test_log1' = 'test_log1'

Note : pour retrouver les informations contenues dans le manifest file :
SQL> mount database all from '/nouveau"/chemin/vers/testdb_manifestFile" with listonly
... voir en shell : strings test_db_manifest.file

5) Remettre la base en ligne (avec migration automatique si besoin) :
SQL> online database test_db

Et voilà ! La base est disponible, avec ses devices.