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.
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:
Usate qualsiasi software client FTP e connettetevi a: ftp.software.ibm.com/software/data/db2/express/latest_debs
Scaricate db2exc_9.1.2-1_i386.deb (o il file .deb equivalente più recente)
Una volta che lo scarico sia stato completato, eseguite il comando:
sudo gdebi-gtk db2exc_9.1.2-1_i386.deb
Cliccate "Install Package"
Cliccate "Close" una volta che il pacchetto è stato installato
Dopo l'installazione eseguita da Synaptic, ci sono alcuni passi che sono necessari per fare in modo che DB2 funzioni agevolmente.
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 dasusr1Ogni volta vi verrà chiesto di impostare la nuova password per gli account degli utenti specificati.
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/shin
db2inst1:x:1001:1001::/home/db2inst1:/bin/bash db2fenc1:x:1002:1002::/home/db2fenc1:/bin/bash dasusr1:x:1003:1003::/home/dasusr1:/bin/bash
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 - db2inst1Poi, come proprietario dell'istanza DB2 (db2inst1 per default), eseguite questi comandi:
db2 update dbm cfg using SVCENAME db2c_db2inst1 db2set DB2COMM=tcpip db2stop db2startOra gli utenti remoti potranno connettersi ai database DB2 sul vostro sistema Ubuntu.
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 DASPoi, come proprietario del DB2 DAS (dasusr1 è quello di default), eseguite questi comandi:
db2admin stop db2admin startOra gli amministratori potranno connettersi al server DAS per amministrare i database sul vostro sistema Ubuntu.
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/db2poi 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 0e 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à.