Appliquer un ESD sur Sybase IQ 12.7


1- Introduction

Dans le contexte de la prise en main d'IQ 12.7, cet article décrit les opérations pour appliquer un ESD sur Sybase IQ 12.7. Dans le cas pratique, un serveur IQ 12.7 GA (Generally Available) est mis à niveau avec l'ESD#5 de Sybase IQ 12.7.

Les serveurs AS IQ sont normalisés. Pour plus de précisions sur la normalisation adoptée : Installation et normalisation de Sybase IQ 12.7 sous Solaris

2- Tâches préliminaires

2-1- Vérification de la version

Les notes d'application d'un ESD sur une distribution Sybase IQ donnent les préconisations sur les versions pour lesquelles l'ESD peut être appliqué.

Pour vérifier la version de la distribution d'un serveur IQ : start_asiq -v2

Cette commande donne deux niveaux d'information : la version d'Adaptive Server Anywhere et la version de la distribution propre à IQ.

% $ASDIR/bin/start_asiq -v2 
9.0.2.1023
Sybase IQ/12.7.0/060705/P/GA/Sun_svr4/OS 5.9/64bit/2006-07-05 12:39:33

Dans ce cas pratique :

La note de l'ESD5 de Sybase IQ 12.7 spécifie que la version doit contenir 12.7, dans le cas contraire, ne pas procéder. La note précise également qu'Adaptive Server Anywhere sera mis à jour en version 9.0.2.2056 (build 2056).

Pour un ESD, la distribution IQ doit déjà exister.

2-2- Options (sp_iqcheckoptions)

Pour chaque base de données IQ, il est recommandé de lancer auparavant la procédure stockée sp_iqcheckoptions dans IQ et de récupérer le résultat avant et après mise à jour. sp_iqcheckoptions liste les valeurs par défaut et courante des bases de données et du serveur, options qui ont été modifées par rapport à leur valeur par défaut. Ceci permet si des valeurs par défaut ont été modifées par la nouvelle livraison

IDB_T1_ASQ > dbisql -c "uid=DBA;pwd=********;dbn=investment" -nogui
(DBA)> sp_iqcheckoptions;
Execution time: 1.649 seconds
User_name Option_name Current_value Default_value Option_type
-----------------------------------------------------------------------------------------------------------------
DBA Ansi_update_constraints Cursors Off Permanent
PUBLIC Ansi_update_constraints Cursors Off Permanent
DBA Checkpoint_time 20 60 Temporary
DBA Compression OFF 6 Temporary
DBA Connection_authentication Company=Sybase;Application=DBTools;Signa Temporary
DBA Login_mode Mixed Standard Permanent
PUBLIC Login_mode Mixed Standard Permanent
DBA Login_procedure DBA.sp_iq_process_login sp_login_environment Permanent
PUBLIC Login_procedure DBA.sp_iq_process_login sp_login_environment Permanent
DBA Return_date_time_as_string On Off Temporary
DBA Return_java_as_string On Off Temporary
DBA Suppress_TDS_debugging On Off Temporary
DBA Thread_count 25 0 Temporary
DBA Time_format hh:nn:ss HH:NN:SS.SSS Temporary
DBA Time_zone_adjustment 60 0 Temporary
DBA Timestamp_format yyyy-mm-dd hh:nn:ss.ssssss YYYY-MM-DD HH:NN:SS.SSS Temporary

3- Installation

D'une façon générale, il faut appliquer l'ESD sur la distribution IQ, puis "ugrader" les bases de donnés IQ existantes.

Dans une architecture IQ Multiplex, le serveur d'écriture est toujours migré en dernier.

Voici à présent, étape par étape, toutes les opérations de l'installation de l'ESD :

1. Arrêt de tous les serveurs IQ avec la commande stop_asiq.

IDB_T1_ASQ > stop_asiq
Checking system ...
The following 1 server(s) are owned by 'sybase'
## Owner PID Started CPU Time Additional Information
-- --------- ------- -------- -------- ------------------------------------
1: sybase 2618 Nov.30 7:29 SVR:IDB_T1_ASQ DB:investment PORT:30071
asiqsrv12 @/Software/sybase/dba/IDB_T1_ASQ/cfg/IDB_T1_ASQ.cfg -gn 25 -hn 8
--
Please note that 'stop_asiq' will shut down a server completely
without regard for users, connections, or load process status.
For more control, use the 'dbstop' utility, which has options
that control stopping servers based on active connections.
Do you want to stop the server displayed above y n=""? Y
Shutting down server (2618) ...
Checkpointing server (2618) ...
Server shutdown.
2. Sauvegarder la distribution IQ courante contenue dans le répertoire $ASDIR (/Software/sybase/asiq-12.7/ASIQ-12_7 dans le contexte de notre normalisation) afin de pouvoir faire un retour arrière si nécessaire. Une simple archive du répertoire ASIQ-12_7 avec la commande tar est suffisante.

 % tar cvf asiq127GA.tar ASIQ-12_7


3. Sauvegarder uniquement le fichier du catalogue et le journal (fichiers .db et .log) pour les bases de données IQ à "upgrader". Comme la commande ALTER DATABASE UPGRADE ne modifie que le catalogue, une sauvegarde complète de la base de données IQ n'est pas nécessaire.

% cp investment.db $DMP
% cp investment.log $DMP


4. Installer l'ESD avec l'utilitaire sybinstall.

Dans le cas d'une architecture multiplex : installer l'ESD d'abord sur tous les serveurs IQ de requête et en dernier sur le serveur IQ d'écriture.

Dans la pratique, un ESD est livré sous une archive compressée.

% gunzip EBF16045.tgz
% tar xvf EBF16045.tar
% cd ebf16045
% cd server.SunOS64
% sybinstall


Démarre alors l'installation de l'ESD : par défaut le répertoire cible (target directory) est le répertoire de la variable $SYBASE de la distribution IQ (/Software/sybase/asiq-12.7. Vérifier à cette étape que le répertoire cible est le bon.

                              Sybase IQ 12.7 ESD 5                              
Welcome to ESD 5 for Sybase IQ 12.7
This update will install Sybase IQ 12.7 ESD 5 in
the directory designated by $SYBASE. Please make sure that
there are no servers running before starting the update.

Target: /Software/sybase/asiq-12.7

Would you like to review the cover letter at this time /y n="">? N


A l'issue de la mise à jour de la distribution par sybinstall :

Product install completed.

* To complete installing this ESD, you may be required to run the
ALTER DATABASE UPGRADE command. Please refer to accompanying the
cover letter for details.

Update completed.


La commande start_asiq -v2 confirme les nouvelles versions déployées d'Adaptive Server Anywhere 9 et d'IQ 12.7 :

% $ASDIR/bin/start_asiq -v2


9.0.2.2056
Sybase IQ/12.7.0/080707/P/ESD 5/Sun_svr4/OS 5.9/64bit/2008-07-07 14:34:18


6. Redémarrer les serveurs IQ afin de restreindre les connexions. Aucun utilisateur ne doit être connecté pendant l'exécution de la commande ALTER DATABASE UPGRADE. Pour cela, il est recommandé d'appliquer les options -gd DBA et -gm 1 dans le fichier de configuration du serveur IQ : avec cette configuration, seules les connexions avec l'autorité DBA sont possibles..

-gm 1 permet quant à elle d'autoriser une connexion unique + une connexion DBA au delà de cette limite afin qu'un compte DBA puisse connecter et supprimer les autres connexions en urgence.

-gd DBA
-gm 1


Se connecter au serveur IQ avec l'autorité DBA via DBISQL afin de lancer la commande ALTER DATABASE UPGRADE. Si la base de données a été créée avec les options JAVA et JCONNECT à OFF, il faut ajouter les mots clés JAVA OFF et JCONNECT OFF à la commande ALTER DATABASE UPGRADE.

ALTER DATABASE UPGRADE [JAVA OFF] [JCONNECT OFF] 


Lorsque la mise à jour est réalisée avec succès :

IDB_T1_ASQ > dbisql -c "uid=DBA;pwd=********;dbn=investment" -nogui 


(DBA)> alter database upgrade java off 


Database upgrade started
Setting option values
Setting option values completed
Creating migration procedures
Creation of migration procedures completed
Creating jConnect procedures
Creation of jConnect procedures completed
Database upgrade finished
Execution time: 12.739 seconds


7. Ultime étape : redémarrer le(s) serveur(s) IQ via stop_asiq et start_asiq en remettant à leurs valeurs initiales les paramètres -gd et -gm dans le fichier de configuration de chaque serveur.

Annexe

Historique

Version Date Commentaires
1.0 12/2008 Version initiale

Liens

Sybase Books Online IQ 12.7