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
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.
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
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.
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 ... |
| 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 |
| 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 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 A l'issue de la mise à jour de la distribution par sybinstall : Product install 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 |
| 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 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 |
| 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. |