Appliquer un ESD sur Sybase IQ 12.7

Logo

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

Tâches préliminaires

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 :

  • 9.0.2.1023 => la version d’Adaptive Server Anywhere est 9.0.2 (build 1023).
  • Sybase IQ/12.7.0/060705/P/GA/Sun_svr4/OS 5.9/64bit/2006-07-05 12:39:33=> IQ 12.7 GA 64 bits.

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.

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                                       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

Installation

D’une façon générale, il faut appliquer l’ESD sur la distribution IQ, puis "upgrader" 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 :

Étape 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.
Étape 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
Étape 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
Étape 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
À 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 -v29.0.2.2056
Sybase IQ/12.7.0/080707/P/ESD 5/Sun_svr4/OS 5.9/64bit/2008-07-07 14:34:18
Étape 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
Étape 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.