Installation de DB2 9.5 Workgroup Edition sur Linux Fedora 10
Memorandum
(Version 1)
|
Note Technique |
Date |
Classement
|
Page 1/12 |
||
|
Rédacteur : Fabrice SCEMAMA |
|||||
|
Historique |
|||||
|
Version |
Date |
Modifications |
|||
|
1.0 |
24/03/2009 |
Version Initiale |
|||
|
1.1 |
28/03/2009 |
Ajout de l'installation des modules Perl DBI et DBD::DB2 |
|||
|
1.2 |
01/04/2009 |
Ajout de l'installation du DB2 Security Plugin (authentification avec PAM) |
|||
|
1.3 |
07/04/2009 |
Ajout du § concernant les profils des utilisateurs (var. d'env. LANG) |
|||
|
|
|||||
TABLE DES MATIERES
I. Objectifs et périmètre du document 3
III. Installation du moteur DB2 : 4
1. Ajout de modules Perl permettant de s'adresser à DB2 12
2. Ajout d'un module d'authentification PAM 13
3. Profils des utilisateurs 14
Ce document couvre l'installation de DB2 9.5 Workgroup Edition sur une distribution Linux Fedora 10, et se base sur la configuration obtenue à l'issue de l'application des étapes mentionnées dans le document « Installation et Administration de Linux Fedora 10 (sur vm) ».
Ne sont couverts ni le process de migration d'une DB vers ce nouveau système, qui fera l'objet d'un autre memorandum, ni les aspects liés au tuning et au backup.
II. Prérequis
|
Préparation du programme d'installation de DB2. |
|
Installation de pdksh, pré-requis DB2 (http://www.cs.mun .ca/~michael/pdksh/ et http://www.t2-project .org/packages/pdksh.html). |
|
rpm -i /mnt/smbfs/FScemama/Linux/compat-libstdc++-33-3.2.3-47.3.i386.rpm |
Installation du module de compatibilité libstdc++5 (Fedora 10 contenant la libstdc++6, alors que DB2 nécessite la 5). |
|
OPTIONNEL : installation de Firefox. |
|
vi /etc/pam.d/system-auth-ac => Remplacer 512 par 256 |
Limitation taille Hash de PAM (limitation taille du passwd supporté par DB2). Sans cela, les users du shell ne peuvent se connecter aux DB… |
|
Création des groupes et utilisateurs nécessaires à DB2. Choisir des mots de passe complexes de moins de 14 caractères (DB2). |
III. Installation du moteur DB2 :
|
cd /usr/src/DB2_WSE_V95_Linux_x86 ./db2setup |
Après avoir configuré un environnement X11 (voir document « Installation et Administration de Linux Fedora 10 ». Note : génère un fichier /root/db2wse.rsp, reutilisable pour une autre installation identique et automatique. |
|
|
Cliquer sur Install a product. |
|
|
|
|
|
|
|
|
Custom ; next. |
|
|
Install DB2 WSE ; path du fichier de réponse par défaut. |
|
|
Choix des composants… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ajouter le français. |
|
|
La documentation, en PDF, est de toute façon téléchargeable sur le site d'IBM, et largement accessible sur le net… |
|
|
Nous choisissons de ne pas installer le Tivoli System Automation for Multiplatforms Base Component ; ce choix est toutefois révisable par la suite (relancer db2setup). |
|
|
Entrer le user dasusr1 que nous avons créé nous-mêmes dans la phase des pré-requis. |
|
|
|
|
|
User db2inst1 que nous avons nous-mêmes créé dans la phase des pré-requis. |
|
|
User db2fenc1 que nous avons nous-mêmes créé dans la phase des pré-requis. |
|
|
Rectifier le port à 50000 (plutôt que le 50001 proposé par défaut). |
|
|
Contrairement au choix effectué lors de notre installation, choisir de préparer le DB2 tools catalog (laisser les options par défaut). |
|
|
Préciser le SMTP à utiliser |
|
|
Préciser le destinataire des mails d'alerte. Cela peut être une adresse @socgen.com. |
|
|
Récapitulatif… |
|
|
Installation. |
|
|
Il n'y a normalement pas de message d'erreur, même mineur , cet écran est simplement le résultat d'une itération malheureuse de ma part… |
|
Scripts de démarrage et d'arrêt automatique de DB2. |
|
Enregistrement de notre licence DB2. |
IV. Divers
1. Ajout de modules Perl permettant de s'adresser à DB2
Il peut être fréquent de devoir écrire des scripts destinés à effectuer des tâches répétitives sur une DB, avec un confort supérieur à ce que peut offrir l'interface DB2 CLP. On fera donc optionnellement, et en tant que root :
|
Préparation d'un répertoire spécifique pour nos modules Perl. |
|
Module pré-requis. |
|
Module générique Database Interface. |
|
Driver DBI pour DB2. |
|
cat <<eot >/tmp/test.pl #!/usr/bin/perl -w use strict; use DBI;
my $dbh = DBI->connect("dbi:DB2:formsieb", "siebel", "xxx");
my $query = "select count(1) from eim_account"; print "Query: [$query]\n"; my $sth = $dbh->prepare($query); $sth->execute; my($cnt) = $sth->fetchrow_array || "undef"; $sth->finish; print "Output: [$cnt]\n";
$dbh->disconnect(); eot
perl /tmp/test.pl |
Test ! Où « formsieb » est le nom de la DB, le 1er « siebel » le user, et « xxx » le mot de passe. |
|
Query: [select count(1) from eim_account] Output: [84] |
Ce que le script doit renvoyer. |
2. Ajout d'un module d'authentification PAM
Si l'on a suivi la partie de l'installation de Linux relative à l'intégration dans l'AD (à l'aide du PAM, de Samba et de Kerberos), on peut souhaiter que des membres de l'AD aient accès à DB2.
Or, DB2 utilise uniquement des comptes locaux, qui doivent avoir été créés sur le système.
Il existe toutefois un plugin de sécurité pour DB2 qui étend l'authentification au PAM – le DB2 Security Plugin, proposé sous licence opensource par Quest Software (http://rc.quest.com/topics/db2_sys-auth/).
Installation, en tant que root :
|
|
|
Le plugin doit être installé dans chaque instance de la base. Les fichiers seront ici copiés vers le /home/db2home/ db2inst1/sqllib /security32 /plugin/. |
|
db2 connect to FORMSIEB user scemama using xxx connect reset |
Test, en supposant que la base FORMSIEB ait été créée, et que scemama soit un user de l'AD. |
3. Profils des utilisateurs
|
cat <<eot >>/root/.bashrc # The following three lines have been added by UDB DB2. if [ -f /home/db2home/db2inst1/sqllib/db2profile ]; then . /home/db2home/db2inst1/sqllib/db2profile fi unset LANG eot |
Paramètres permettant d'exécuter la commande db2. Noter la modification de la variable d'environnement LANG, qui peut empêcher le bon traitement des accents si on la laisse à en_US.UTF-8 . |
|
cat <<eot >>/etc/skel/.bashrc # The following three lines have been added by UDB DB2. if [ -f /home/db2home/db2inst1/sqllib/db2profile ]; then . /home/db2home/db2inst1/sqllib/db2profile fi unset LANG eot |
Idem pour les futurs profils. |
|
for i in /home/*; do if [ -d $i ]; then cat <<eot >>/$i/.bashrc # The following three lines have been added by UDB DB2. if [ -f /home/db2home/db2inst1/sqllib/db2profile ]; then . /home/db2home/db2inst1/sqllib/db2profile fi unset LANG eot fi done |
Idem pour les profils existants. |
4. Paramètres du kernel
On peut optimiser les performances de DB2 en modifiant les sémaphores. Toutefois, lors de son démarrage, DB2 les ajuste selon la RAM disponible et les recommandations usuelles.
Dans notre cas, et au vu d'un log de db2diag, on a multiplié par 2 la valeur de shmmax.
Commandes :
-
cat /proc/sys/kernel/shmmax
-
A renvoyé 268435456 .
-
-
echo 536870912 > /proc/sys/kernel/shmmax
-
echo kernel.shmmax=536870912 >> /etc/sysctl.conf
In: DB2, Linux, Open Source · Tagged with: DB2, howto, IBM, installation, Linux, tutoriel
























