Installazione e configurazione del database IBM DB2

Installazione e configurazione del database IBM DB2

In questo articolo vedremo come installare e come configurare il Relational Database Management System (RDBMS) IBM Db2. Nato nel lontano (tecnologicamente parlando) 1983, scritto in linguaggio C e C++, è considerato il primo DBMS ad aver introdotto l'uso del linguaggio SQL e la prima release girava solo su Mainframe IBM MVS. Durante gli anni 90 fu esteso il supporto anche alle piattaforme Windows e Linux. Nel 2001 con l'acquisizione di Informix da parte IBM, vengono introdotte le specifiche Object Oriented (ORDBMS) anche all'interno di Db2.Le versioni in cui è distribuito Db2 attualmente sono:DB2 Enterprise Server Edition: include librerie capaci di gestire i carichi di lavoro più esigenti; DB2 Workgroup Server Edition: ideale per le piccole e medie aziende; DB2 Express: è il livello base di RDBMS ed è l'ideale per il piccolo mercato; DB2 Express-C: è la versione gratuita dell'IBM, l'ideale per piccole aziende, compagnie multi-branch, sviluppatori.

Pentaho Mondrian: un motore OLAP per Java
MongoDB Atlas: un servizio di Cloud Database
MySQL Installer for Windows: un pacchetto software per installare e configurare MySQL su Windows

Per le nostre prove utilizzeremo la versione Express-C v9.7 (l’ultima disponibile nel momento in cui scriviamo) che è possibile scaricare gratuitamente dall’url:

http://www-01.ibm.com/software/data/db2/express/download.html

qui possiamo scegliere tra le varie Piattaforme (Windows, Linux, Solaris e Mac) sia a 32 che a 64 bit. La versione Express-C gira su qualsiasi tipo di hardware, ma si limita ad usare un massimo di due Core (indipendentemente dal numero di processori installati) ed un massimo di 2 GB di ram, sottoscrivendo una particolare licenza denominata Fixed Term License o FTL si potranno utilizzare 4 Core e fino a 4 GB di ram.

E’ inoltre possibile scaricare un libro-guida Getting Started with DB2 Express-C (disponibile in varie lingue, la versione 9.5 anche in italiano) all’indirizzo:

http://www.ibm.com/developerworks/wikis/display/DB2/FREE+Book-+Getting+Started+with+DB2+Express-C

Per installare il database basta lanciare il programma setup.exe per Windows oppure dando il comando ./db2setup per Linux e Unix. Completata l’installazione ritroveremo i file DB2 sotto le directory C:ProgrammiIBMSQLLIBBIN per Windows e /opt/ibm/db2/V9.7 per Linux e /opt/IBM/db2/V9.1 per Unix.

Durante il processo di installazione verranno creati 3 nuovi utenti e 3 nuovi gruppi in ambiente Linux:

  • l’utente proprietario delll’istanza DB2 (owner), denominato db2inst1 (la quale viene creata nella sua home directory nella cartella sqllib), questi controlla tutti i processi db2 ed è il proprietario di tutti i file ed i device usati dai database contenuti nella istanza, ci sono tanti utenti owner quante le istanze installate (il nome di questi saranno progressivi: db2inst2db2inst3, etc…). Il suo gruppo di default è db2iadm1;
  • l’utente fenced (letteralmente recintato), denominato db2fenc1, questi è utilizzato per eseguire le funzioni definite dall’utente (le cosiddette user defined functions, UDF) e le stored procedure al di fuori dello spazio di indirizzamento usato da un database db2. Il gruppo di default è db2fadm1;
  • l’utente amministratore del db2, denominato dasusr1, questi è utilizzato per le operazioni di amministrazione dul server db2, da notare che esiste un solo amministratore e quindi utente per macchina anche se ci sono più istanze. Il gruppo di default è dasadm1.

Possiamo amministrare i nostri database e gestire le varie utilities offerte da DB2 utilizzando una comoda GUI offerta dal DB2 Control Center. Per poter accedere a questo tool in Windows basta cliccare sull’icona Centro di Controllo presente al percorso Tutti i Programmi -> IBM DB2 -> DB2COPY -> Strumenti di gestione generale, in Linux dobbiamo essere loggati o con l’utente amministratore dasusr1 o l’utente owner db2inst1 ed aver avviato il server X, dopodichè avviamo una sessione di terminale e diamo il comando db2cc:

La schermata principale del Control Center

Possiamo anche operare in modalità totalmente testuale utilizzando la  DB2 Command Line Processor CLP dalla quale possiamo dare i nostri comandi DB2 ed istruzioni SQL. In Windows la lanciamo andando in Tutti i Programmi -> IBM DB2 -> DB2COPY -> Strumenti riga di comando e clicchiamo su CLP (la quale lancia il comando db2cmd.exe), in Linux una volta collegati con l’utente dasusr1 o db2inst1, diamo il comando db2, apparirà questa schermata:

La CLP in ambiente Windows

Creiamo ad esempio un database con il seguente comando SQL:

create database esempio

il sistema risponderà con un messaggio di successo, ricordiamo che per DB2 i nomi di database possono al massimo essere lunghi 8 caratteri.

Prima di poter eseguire un’istruzione SQL sul database appena creato, dobbiamo collegarci ad esso:

Per collegarci a un database scriviamo il comando:

db2 CONNECT TO database USER userID USING password

Per collegarci a un database in modo che DB2 ci richieda una password, scriviamo il comando:

db2 CONNECT TO database USER userID

Per collegarci a un database usando l’ID dell’utente predefinito, scriviamo il comando:

db2 CONNECT TO database

Di seguito elenchiamo alcuni comandi utili per recuperare delle informazioni e per configurare la istanza Db2 appena installata.

Per avere un elenco dei parametri su cui è configurata la istanza DB2 (database manager)  apriamo un terminale DB2 (dando il comando db2 da consolle) e diamo il comando:

get database manager configuration

oppure possiamo usare la forma abbreviata:

get dbm cfg

se invece vogliamo sapere i parametri di configurazione del singolo database, dobbiamo prima connetterci a questo (col comando connect to nomedatabase) e poi dare il comando:

get database configuration

oppure possiamo usare la forma abbreviata:

get db cfg

il comando per modificare una entry della configurazione è il seguente:

update database manager configuration  using <parameter-name> <parameter-value>

oppure

update dbm cfg using <parameter-name> <parameter-value>

e per i database:

update database configuration (oppure update dbm cfg) using <parameter-name> <parameter-value>

oppure

update db cfg using <parameter-name> <parameter-value>

Per conoscere il numero di  porta di connessione DB2 su Linux/unix:

  1. Aprire un terminale DB2 e verificare che si è sulla istanza corretta dando il comando:
    get instance
  2. dare il seguente comando per verificare il nome del servizio della nostra istanza:
  3. get dbm cfg | grep SVCE
  4. verrà generato un output del tipo:
  5. TCP/IP Service name          (SVCENAME) = db2cdb2inst24
  6. digitare sulla console linux il comando:
    grep service_name /etc/services

    ci saranno le informazioni riguardanti la porta del servizio, ad esempio:

    service_name   50012/tcp   # Connection port for DB2 instance instance

Per conoscere il nome delle istanze DB2 presenti sul sistema dare il comando:

db2ilist

di default avremo il nome DB2 per sistemi Windows e db2inst1 per Linux/Unix.

Per stoppare il DB2 se il comando db2stop non funziona e ritorna come errore:

SQL1025N  The database manager was not stopped because databases are still active.

Utilizziamo :

db2 force application all

db2stop force

dove force application <command> disconnette tutti gli utenti remoti e locali per permettere la manutenzione del server.

Per visualizzare tutte le applicazioni e gli utenti connessi al DB possiamo utilizzare il comando:

db2 list applications (è valido anche usando application)

Per conoscere la versione di DB2 che abbiamo installato e la licenza registrata diamo il comando:

db2licm -l

dove il parametro -l sta ad indicare di visualizzare i dettagli dell’installazione.

Per conoscere invece quali fix packs sono stati installati diamo il comando:

db2level

tra le informazioni visualizzate possiamo anche sapere se è una versione a 32 bit o a 64.

Per configurare la manutenzione automatica del DB2 (automatic maintenance) è possibile agire dal relativo menù cliccando col tasto desto sul database da manutenere e scegliendo l’opzione Configura manutenzione Automatica… in alternativa è possibile farlo da linea di comando.

Per conoscere tutte gli schemi o le tabelle presenti in un determinato database,  bisogna interrogare rispettivamente la tabella SYSTABLES e SYSSCHEMATA presenti nello schema SYSIBM, o in alternativa interrogare le viste SCHEMATA e TABLES presenti nello schema SYSCAT, dunque per conoscere gli schema utilizziamo la seguente query SQL:

select * from sysibm.sysschemata

oppure

select * from syscat.schemata

mentre per conoscere tutte le tabelle:

select * from sysibm.systables

oppure

select * from syscat.tables

PAGES

1 2

COMMENTS

WORDPRESS: 1
  • comment-avatar

    per me l’istallazione di questo programma è molto utile.