16. Installare DB2 Express-C su Ubuntu 7.04 'Feisty Fawn'

Queste note d'installazione sono basate su un'installazione su singola partizione usando il kernel 2.6.20-16-generic.

Si noti che IBM non supporta ufficialmente questa distribuzione per DB2 9. Qualsiasi problema incontriate usando questa distribuzione deve essere replicato su una distribuzione supportata, prima che il Supporto IBM possa aiutarvi a risolvere il problema.

Tenete presente anche che l'architettura PowerPC non è più supportata a partire da Ubuntu 7.04.

16.1. Note d'installazione

Visto che non potete connettervi direttamente come root a un sistema Ubuntu, questa installazione di DB2 viene eseguita con l'utente predefinito creato durante l'impostazione di Ubuntu (cioè l'utente normale con possibilità di fare 'sudo').

Ci sono due modi per installare DB2 Express-C 9 su Ubuntu. Il metodo più difficile dei due è usare il db2setup predefinito di DB2 e poi fare gli aggiustamenti al sistema Ubuntu per gestire le particolarità del pacchetto Ubuntu, che è basato su Debian. Per ragioni di chiarezza e brevità, ometterò le istruzioni per farlo nella maniera più difficile; cionondimeno, se qualcuno volesse vedere queste istruzioni, mandate un email a db2howto@gmail.com e io ve le farò avere.

Il modo semplice per installare DB2 Express-C su Ubuntu 7.04 è quello di scaricare il file di pacchetto nel formato Debian di DB2 Express-C per poi usare l'installatore di pacchetti di Ubuntu. In questo modo, quasi tutto viene fatto al vostro posto, dall'installazione alla configurazione. Ecco come farlo:

  1. Usate qualsiasi software client FTP e connettetevi a: ftp.software.ibm.com/software/data/db2/express/latest_debs

  2. Scaricate db2exc_9.1.2-1_i386.deb (o il file .deb equivalente più recente)

  3. Una volta che lo scarico sia stato completato, eseguite il comando:

    sudo gdebi-gtk db2exc_9.1.2-1_i386.deb

  4. Cliccate "Install Package"

  5. Cliccate "Close" una volta che il pacchetto è stato installato

Dopo aver premuto il bottone "Install Package", l'installatore di pacchetti di Ubuntu spacchetterà e installerà e configurerà gli utenti DB2 e l'istanza predefinita. Cliccate il bottone "Close" una volta che l'installazione sarà completata.

16.2. Note di post-installazione

Dopo l'installazione eseguita da Synaptic, ci sono alcuni passi che sono necessari per fare in modo che DB2 funzioni agevolmente.

  1. Password utilizzabili per gli account predefiniti di DB2.

    Per riuscire a connettersi e fare il login ai database e ai server DB2 usando gli utenti predefiniti di DB2 (db2inst1, db2fenc1, e dasusr1), dovete modificare le password iniziali. Per fare questo, aprite un terminale (come utente normale), e scrivete sudo su - per ottenere accesso come root. Poi eseguite i seguenti tre comandi:

    passwd db2inst1
    passwd db2fenc1
    passwd dasusr1
    Ogni volta vi verrà chiesto di impostare la nuova password per gli account degli utenti specificati.

  2. Cambiate la shell predefinita per gli account di default di DB2.

    La shell di comandi predefinita per gli account di DB2 è impostata alla semplice e vecchia /bin/sh. Per avere a disposizione le comode funzionalità della shell BASH, dovrete cambiarla per questi tre account. Nella stessa finestra da cui avete accesso ai privilegi di root aprire il file /etc/passwd con il vostro editor di testo preferito e cambiate:

    
db2inst1:x:1001:1001::/home/db2inst1:/bin/sh
    db2fenc1:x:1002:1002::/home/db2fenc1:/bin/sh
    dasusr1:x:1003:1003::/home/dasusr1:/bin/sh
    in
    
db2inst1:x:1001:1001::/home/db2inst1:/bin/bash
    db2fenc1:x:1002:1002::/home/db2fenc1:/bin/bash
    dasusr1:x:1003:1003::/home/dasusr1:/bin/bash

  3. Abilitate le porte di servizio di DB2 per le connessioni remote.

    Per consentire agli utenti esterni di connettersi ai vostri database DB2, dovrete impostare la porta di servizio di DB2, dato che non è configurata dal processo d'installazione di Synaptic.

    Come utente normale, eseguite sudo vi /etc/services e aggiungete questa linea alla fine del file:

    db2c_db2inst1       50001/tcp        # IBM DB2 instance - db2inst1
    Poi, come proprietario dell'istanza DB2 (db2inst1 per default), eseguite questi comandi:
    db2 update dbm cfg using SVCENAME db2c_db2inst1
    db2set DB2COMM=tcpip
    db2stop
    db2start
    Ora gli utenti remoti potranno connettersi ai database DB2 sul vostro sistema Ubuntu.

  4. Abilitare connessioni di amministrazione remote a DB2.

    Per consentire l'amministrazione remota al vostro server DB2, dovrete impostare la porta di connessione al DAS di DB2, visto che non è configurata dal processo d'installazione Synaptic.

    Come utente normale, eseguite sudo vi /etc/services e aggiungete questa linea alla fine del file:

    ibm-db2           523/tcp          # IBM DB2 DAS
    ibm-db2           523/udp          # IBM DB2 DAS
    Poi, come proprietario del DB2 DAS (dasusr1 è quello di default), eseguite questi comandi:
    db2admin stop
    db2admin start
    Ora gli amministratori potranno connettersi al server DAS per amministrare i database sul vostro sistema Ubuntu.

  5. Correzione del problema del riavvio dell'istanza

    Una questione interessante nell'installazione di Ubuntu 7.04 è che le istanze DB2 non ripartono in maniera appropriata dopo un reboot del sistema e che l'impostazione di DB2AUTOSTART=YES non corregge la situazione.

    Un modo per risolvere questo problema è in parte stato proposto da IgorM sul forum dedicato a DB2 Express-C, e consiste nel creare ed eseguire un proprio script (alternativo) di lancio dell'istanza DB2.

    Per cominciare, eseguite login e create un nuovo script usando il comando:

    sudo vi /etc/init.d/db2
    poi inserite il seguente testo:
    #!/bin/sh
    #
    # Script per il lancio delle istanze DB2 al bootup.
    #
    set -e
    
    . /lib/lsb/init-functions
    
    case "$1" in
    start)
            /opt/ibm/db2exc/V9.1/instance/db2istrt
            ;;
    stop|restart|reload)
            ;;
    esac
    
    exit 0
    e alla fine scrivete il file su disco usando il comando di vi :wq.

    Notate che il percorso degli eseguibili è /opt/ibm/db2exc/V9.1/, il percorso predefinito dell'installazione dal file .deb di DB2. Se la vostra installazione ha messo i file di DB2 altrove, assicuratevi di adattare lo script come richiesto per trovare la directory /instance/.

    Una volta salvato lo script dare al file l'appropriata proprietà e gli appropriati permessi:

    chown root.root db2
    chmod 755 db2

    Ora, per inizializzare lo script in modo che parta al momento del boot, installare il Boot-Up Manager con questo comando:

    sudo apt-get bum

    Dopo che Synaptic ha scaricato e installato l'applicazione, potete eseguire il programma cliccando System -> Administration -> BootUp-Manager. Poi cliccate sulla casella di selezione "Activate" di fianco alla voce db2. Cliccate Apply e dite "No" all'elemento di dialogo che chiede se volete lanciare il servizio subito. Cliccate Quit. Lo script verrà eseguito al prossimo boot e lancerà tutte le istanze di DB2.

    L'unica altra maniera di risolvere il problema è di attivare manualmente le istanze dopo un reboot con db2start (come proprietario delle istanze) e db2admin start (come il proprietario di DAS). Una volta che il DB2 Express-C avrà superato il processo di validazione per Ubuntu 7.04, questo problema legato al lancio delle istanze scomparirà.