Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
IBM DB2 Installation für Gentoo
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation
View previous topic :: View next topic  
Author Message
aZZe
l33t
l33t


Joined: 20 Feb 2003
Posts: 965
Location: Dinslaken, Germany

PostPosted: Fri Oct 22, 2004 8:06 pm    Post subject: IBM DB2 Installation für Gentoo Reply with quote

Hallo!

Wie vielleicht schon einige gesehen haben, beschäftige ich mich mit der IBM DB2 Datenbank. Da ich diese DB auch unter Gentoo nutzen möchte und viele Probleme mit der Installation hatten, da die IBM sich via rpm Paketmanager installiert und dieser nunmal nicht Standard ist bei Gentoo (Gott sei gelobt ;)), habe ich mir gedacht ich schreibe hier ein HOWTO wie man die aktuelle IBM DB2 V8.2 ans laufen bekommt. Es gibt zwar hier einige Hinweise, Tips und Tricks und auch Links z.B. zur IBM Seite, diese sind aber nicht vollständig.

Step by step:

Wir benötigen zur Installation den rpm Paketmanager, ob wir wollen oder nicht:

Code:
emerge rpm


Danach müssen wir den gesamten Inhalt von der CD in ein Verzeichnis auf der Festplatte kopieren, da wir gleich noch ein paar Scripte abändern müssen und das geht nun auf einer gebrannten CD schlecht ;)

Da Gentoo ja keine rpm Distri ist wirds auch schwierig mit dem Auflösen der Abhängigkeiten. Da sich aber alle nötigen Pakete auf der CD befinden bzw. nachher in unserem Ordner auf unserer Festplatte können wir die Pakete mittels der Option "--nodeps" installieren.
Wenn wir also den gesamten Inhalt der CD in z.B. /home/tux/DB2 installiert haben bitte ins folgende Verzeichnis wechseln:

Code:
cd /home/tux/DB2/db2/linux


Dort befindet sich das Install Script "db2_install". Dieses ist dafür verantwortlich die rpms zu installieren und die Abhängigkeiten zu prüfen. Hier muss nun folgende Zeile gefunden werden:

Code:
 # Install packages
    if [ ! "${DB2PKGLIST?}" = "" ]; then
        RPMEXTN="-8.1.0-0.i386.rpm"
        for pkg in ${DB2PKGLIST?}; do
            echo "   ${pkg?}..."
            rpm -ivh  ${INSTDEV?}/${pkg?}${RPMEXTN?} 2>&1 \  <--- die hier!!
            | tee -a ${DB2INSTLOG?}
            if [ $? -ne 0 ]
            then
                StopProg 1
            fi
        done
    fi



Diese Sektion muss nun ergänzt werden durch die Option "--nodeps":

Code:

 # Install packages
    if [ ! "${DB2PKGLIST?}" = "" ]; then
        RPMEXTN="-8.1.0-0.i386.rpm"
        for pkg in ${DB2PKGLIST?}; do
            echo "   ${pkg?}..."
            rpm --nodeps -ivh  ${INSTDEV?}/${pkg?}${RPMEXTN?} 2>&1 \
            | tee -a ${DB2INSTLOG?}
            if [ $? -ne 0 ]
            then
                StopProg 1
            fi
        done
    fi


Nun sind wir in der Lage das eigentliche Install Skript im Ordner /home/tux/DB2 auszuführen. Dieses Skript hat den gleichen Namen wie das, das wir gerade geändert haben. Dieses ist das Haupt Installations Skript womit man die verschiedenen Server wie Enterprise Server Application Server etc. auswählen kann. Nach Bestätigung des gewählten Servers ruft dieses Skript das Skript auf, was wir gerade geändert haben, um die rpms zu installieren.

In diesem Ordner befindet sich auch das Installationsscript "db2setup" für die grafische Installation mittels Java. Dieses Script hat so wirklich noch keiner ans laufen gebracht und kann daher gerne ignoriert werden. Sollte hier jemand erfolgreich sein gibts von der IBM ein Geschenk ;)

Nun müssen drei Benutzer angelegt werden, die die DB2 benötigt. Einen User "db2inst1" für die Instanz, um mit der Datenbank arbeiten zu können, einen fenc Benutzer "db2fenc1" für Sicherheitsmechanismen und einen Benutzer "db2as" für den Verwaltungsserver. Alle drei Benutzer benötigen aber auch eigene Gruppen, die jeweils auch ihre primäre Gruppe sein müssen.

Die Gruppe users darf nicht primäre Gruppe dieser Benutzer sein!!!

Code:

groupadd db2iadm1 #Gruppe für User db2inst1


Code:
groupadd db2fadm1 #Gruppe für User db2fenc1


Code:
groupadd db2asgrp #Gruppe für User db2as


Nun werden die einzelnen User mit ihren Gruppen angelegt:

Code:
useradd -m db2inst1 -g db2iadm1


Code:
useradd -m db2fenc1 -g db2fadm1


Code:
useradd -m db2as -g db2asgrp


Nun muss eine Instanz und ein Verwaltungsserver angelegt werden. Hier müssen nun unter Gentoo und vielleicht auch anderen Distris alle Skripte in /opt/IBM/db2/V8.1/instance angefasst werden in denen ein "tail" aufgerufen wird. Welche das sind kann man leicht mit grep herausfinden:

Code:
 grep -ir tail* db2* 


Die Skripte rufen tail z.B. mit der Syntax "tail +2" auf. Da neuere tail Versionen von gentoo damit nicht klar kommen muss jedes tail ein "-n" enthalten. Wenn also z.B. wie im Skript db2iutil folgende Zeile steht:

Code:
fsname=`awk '{print $NF}' ${TMPFILE3?} | tail -1


muss diese abgeändert werden in:

Code:
fsname=`awk '{print $NF}' ${TMPFILE3?} | tail -n -1


Und so muss jede Zeile in allen Skripten im Verzeichnis instance abgeändert werden, die ein tail enthält. Bevor wir die Instanz und den Verwaltungsserver nun anlegen, sollte man an dieser Stelle nun das Fixpack7 einspielen, da man ansonsten bei bestehender Instanz und Verwaltungsserver diese auch noch updaten muss, was ein bischen viel Arbeit ist und da wir ja faul sind updaten wir von Anfang an. ;) Das Fixpack7 Codename "Stinger" upgradet die DB2 8.1 zur Version 8.2. (Besteht dennoch Interesse bezüglich eines nachträglichem Updates bitte eben posten.)

Das Update verläuft nun genauso wie die Installation der DB2 selbst. Ich denke ich muss hier nicht weiter darauf eingehen. Im Anschluss können wir nun unsere Instanz anlegen:

Code:
/opt/IBM/db2/V8.1/instance/db2icrt -u db2fenc1 db2inst1


Lässt man den db2fenc1 user hier weg verzichtet man auf die Sicherheitsmechanismen für diese Instanz. Dies sähe analog dazu so aus:

Code:
/opt/IBM/db2/V8.1/instance/db2icrt -u db2inst1 db2inst1



Nun noch der Verwaltungsserver:

Code:
/opt/IBM/db2/V8.1/instance/dascrt -u db2as


Nun meldet man sich als Benutzer db2inst1 an. Nur dieser Benutzer kann die DB2 starten, db2 Befehle ausführen und die DB2 weider stoppen.

Den Verwaltungsserver kann nur der db2as Benutzer starten und stoppen. Dieser wird benötigt um Client-Server Verbindungen herzustellen.

Ich hoffe hier für ein wenig Klarheit verholfen zu haben und wünsche viel Spass bei der Arbeit.


aZZe
_________________
ASUS 4A785TD-V EVO with AMD Phenom(tm) II X4 965
4GB RAM DDR3-1333
ATI Radeon HD4870


Last edited by aZZe on Thu Jan 26, 2006 10:56 am; edited 1 time in total
Back to top
View user's profile Send private message
dakjo
Veteran
Veteran


Joined: 31 Jan 2004
Posts: 1544

PostPosted: Sat Oct 23, 2004 8:47 pm    Post subject: Reply with quote

Gratulation :D
_________________
'Dieselben Naturkräfte, die uns ermöglichen, zu den Sternen zu fliegen, versetzen uns auch in die Lage, unseren Stern zu vernichten.' - Wernher von Braun
http://www.mpsna.de
Back to top
View user's profile Send private message
andreask
Apprentice
Apprentice


Joined: 09 Sep 2003
Posts: 282
Location: Aachen, Germany

PostPosted: Sun Oct 24, 2004 10:49 am    Post subject: Reply with quote

Hi!

Vielen Dank, das hatte ich in der nächsten Zeit auch mal vor. Bisher hatte ich DB2 nur unter RedHat laufen. Ich hatte auch schonmal nach Anleitungen gesucht und bin auf folgende gestoßen (kennst Du vermutlich schon...):

http://www-106.ibm.com/developerworks/db2/library/techarticle/dm-0403wright/?ca=dnl-db2mag
http://kjeldahl.net/db2/

Zusammen mit Deiner Anleitung sollte ich es jetzt ja hinbekommen können ;-)

Allerdings hatte ich gehofft dass ich um rpm herum komme. Ich dachte, evtl. könnte man mit Hilfe von rpm2tgz und ein bisschen Handarbeit ein tbz2 Paket erstellen, welches die Abhängigkeiten aus dem RPM für portage "übersetzt"?

Aber bisher haben alle Anleitungen einfach rpm mit --nodeps" verwendet, scheint also der schlauere Weg zu sein. Aber was ist, wenn es tatsächlich Abhängigkeiten von irgendwelchen libs gibt, die nicht oder in falscher Version vorhanden sind? Kann man nicht irgendwie an die Abhängigkeiten aus dem RPM kommen so dass man diese ggfs. manuell nachinstallieren kann?

Jedenfalls vielen Dank für die Anleitung!
Back to top
View user's profile Send private message
andreask
Apprentice
Apprentice


Joined: 09 Sep 2003
Posts: 282
Location: Aachen, Germany

PostPosted: Sun Oct 24, 2004 11:09 am    Post subject: Reply with quote

Ein paar (leider etwas veraltete) Infos gibt es auch im LDP: http://www.tldp.org/HOWTO/DB2-HOWTO/

Aber wie es aussieht soll sich dies bald ändern:

Quote:
# DB2 For Linux HOWTO
Ian Hakes talked to Dan Scott about the DB2 For Linux HOWTO who allowed him to take over the DB2 for Linux Howto, with basically a full re-write to cover DB2's latest release V8.2 on up-to-date enterprise and personal Linux distributions (RHEL 3, SLES 8, SLES 9, along with Red Hat 8, Fedora Core 2, SuSE Pro 9.1, and possibly Mandrake 10, Gentoo and maybe even Debian). This effort was started by another writer, Rory Hinton, who had to drop off the project, so Ian would be taking primary responsibility for the document, which is about 60% complete.
(Quelle: http://www.tldp.org/ldpwn/20040915.html#tldp-world-news)

AFAIK geht es hier um folgendes HOWTO: http://www.julieandian.com/writing/82howto/db2LinuxHowToV8_definitive_5.pdf

(nur um hier mal ein paar Infos zusammenzutragen ;-))
Back to top
View user's profile Send private message
andreask
Apprentice
Apprentice


Joined: 09 Sep 2003
Posts: 282
Location: Aachen, Germany

PostPosted: Sun Oct 24, 2004 11:22 am    Post subject: Reply with quote

Wie man von Apache/PHP auf eine IBM DB2 zugreift wird hier erklärt:
http://www-106.ibm.com/developerworks/db2/library/techarticle/scott/0614_scott.html

IBM DB2 ist durchaus interessant, man kann sie natürlich um sonst zum Testen/Entwickeln installieren, und eine kommerzielle Lizenz kostet nicht viel mehr als eine kommerzielle MySQL-Lizenz.
Back to top
View user's profile Send private message
aZZe
l33t
l33t


Joined: 20 Feb 2003
Posts: 965
Location: Dinslaken, Germany

PostPosted: Sun Oct 24, 2004 8:43 pm    Post subject: Reply with quote

andreask wrote:

IBM DB2 ist durchaus interessant, man kann sie natürlich um sonst zum Testen/Entwickeln installieren, und eine kommerzielle Lizenz kostet nicht viel mehr als eine kommerzielle MySQL-Lizenz.



Genau! ;) Die DB2 bietet zudem eine Menge mehr Features. Es lassen sich auch richtig schöne Cluster mit der DB2 bauen. 8)
_________________
ASUS 4A785TD-V EVO with AMD Phenom(tm) II X4 965
4GB RAM DDR3-1333
ATI Radeon HD4870
Back to top
View user's profile Send private message
andreask
Apprentice
Apprentice


Joined: 09 Sep 2003
Posts: 282
Location: Aachen, Germany

PostPosted: Mon Aug 08, 2005 11:38 am    Post subject: Reply with quote

Hab noch ein paar Links gefunden:

DB2 Installation:

http://iedb.org/db2/db2-install.txt
http://howtos.linux.com/howtos/DB2-HOWTO/gentoo.shtml
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0403wright/?ca=dnl-db2mag
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0409cline2/readme_linux.txt


PHP-Anbindung:

http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0505furlong/
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0502scott/?ca=dgr-phpw08PHPdatabaseApps
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0507hutchison/
http://www-306.ibm.com/software/data/info/zendcore/?ca=dti-tile
http://www.zend.com/pecl/tutorials/sdo.php


Allerdings ist das alles sehr, sehr umständlich. Wie es aussieht hat lediglich Zend mit seinem Zend Core for IBM einen fertigen DB2-Client, allerdings nur "zertifiziert" für RHEL und SLES, außerdem sind es binäre pakete, vermutlich rpms. Außerdem kostet das vermutlich was - wenn ich auch keine Angaben dazu finden konnte.

Aber auch das behebt ja nur den einen Teil des Problems, den Server zu installieren ist immer noch so kompliziert. Gibt es da denn keine Bestrebungen das mal etwas zu vereinfachen? Oder könnte man aus dem RPM nicht irgendwie ein binäres Paket für Portage machen? Wäre cool wenn man ein Script hätte, welches aus archiv von IBM ein binäres Paket für Portage machen könnte - aber wie?


edit: also mit Debian kann man wohl einfach ein .deb aus einem .rpm machen: http://lists.debian.org/debian-user-german/2004/06/msg00082.html
Back to top
View user's profile Send private message
psyqil
Advocate
Advocate


Joined: 26 May 2003
Posts: 2767

PostPosted: Mon Aug 08, 2005 11:49 am    Post subject: Reply with quote

andreask wrote:
Oder könnte man aus dem RPM nicht irgendwie ein binäres Paket für Portage machen?
Hau rein:
Code:
*  app-arch/rpm2targz
      Latest version available: 9.0-r3
      Latest version installed: 9.0-r2
      Size of downloaded files: 2 kB
      Homepage:    http://www.slackware.com/config/packages.php
      Description: Convert a .rpm file to a .tar.gz archive
      License:     as-is
Back to top
View user's profile Send private message
andreask
Apprentice
Apprentice


Joined: 09 Sep 2003
Posts: 282
Location: Aachen, Germany

PostPosted: Mon Aug 08, 2005 11:58 am    Post subject: Reply with quote

Ja, Dank Debian bin ich auch auf

Code:
*  app-arch/alien
      Latest version available: 8.53
      Latest version installed: [ Not Installed ]
      Size of downloaded files: 83 kB
      Homepage:    http://kitenet.net/programs/alien/
      Description: Converts between the rpm, dpkg, stampede slp, and slackware tgz file formats
      License:     LGPL-2.1


gestoßen. Allerdings habe ich keine Ahnung davon, es gibt anscheinend Möglichkeiten RPMs in DEBs (für Debian) und TGZs (für Slackware) zu verwandeln. Aber was hat man davon? Die Datei hat ne andere Endung und ich kann es immer noch nicht emergen ;-)

Was ist denn nötig um aus einem RPM, DEB oder TGZ ein Portage-kompatibles TBZ2 Paket zu erhalten? Ich kenne das nur dass so ein Paket per emerge erzeugt wird. Aber wie funktioniert das wenn ich bereits bestehende binaries/libraries in einem Archiv habe? Gibts dazu irgendwo irgendeine nette Dokumentation? Was das binäre Paket-Format für Gentoo angeht finde ich da doch recht wenig.

Oder müsste man ein wildes ebuild schreiben das alle möglichen binären Dateien durch die Gegend kopiert?
Back to top
View user's profile Send private message
psyqil
Advocate
Advocate


Joined: 26 May 2003
Posts: 2767

PostPosted: Mon Aug 08, 2005 12:05 pm    Post subject: Reply with quote

andreask wrote:
Oder müsste man ein wildes ebuild schreiben das alle möglichen binären Dateien durch die Gegend kopiert?
Nun, es müßte nicht notwendigerweise wild sein, es sollte auch nicht alle möglichen Binärdateien durch die Gegend kopieren, sondern nur die aus dem Archiv dahin, wo sie hingehören, aber prinzipiell hast Du völlig recht! :mrgreen:
Back to top
View user's profile Send private message
andreask
Apprentice
Apprentice


Joined: 09 Sep 2003
Posts: 282
Location: Aachen, Germany

PostPosted: Thu Nov 10, 2005 4:02 pm    Post subject: Reply with quote

übrigens wurde DB2 jetzt auch für Ubuntu von IBM zertifiziert: http://www.ubuntulinux.org/newsitems/db2cert
Und Ubuntu erscheint tatsächlich als zertifizierte Distribution bei IBM: http://ibm.com/db2/linux/validate/

Und dann war ich ja fast geschockt, IBM verlinkt von der Ubuntu Seite auf das DB2 Universal Database Version 8.2 for Linux HOWTO unter tldp.org, und da gab es in den letzten Wochen und Monaten einige Updates, denn inzwischen gibt es in dem HOWTO auch ein Kapitel: Installing DB2 Version 8.2 on Gentoo!

Und bei der Gelegenheit habe ich direkt noch eine weitere Anleitung für nicht-RPM Distributionen gefunden:
http://www.scotdb.com/downloads/DB2V8SpecialInstall.pdf
Back to top
View user's profile Send private message
andreask
Apprentice
Apprentice


Joined: 09 Sep 2003
Posts: 282
Location: Aachen, Germany

PostPosted: Mon Jan 30, 2006 7:21 pm    Post subject: Reply with quote

Seit heute gibt es auch eine freie Variante: DB2 Express-C

Ist wohl wie die normale Express-Version, aber beschränkt auf max. 2 x86 Dual-Core Prozessoren und 4 GB Ram.

Download: http://www-306.ibm.com/software/data/db2/udb/db2express/download.html
Forum: http://www-128.ibm.com/developerworks/forums/dw_forum.jsp?forum=805&cat=19
Lizenz: ftp://ftp.software.ibm.com/software/data/db2/udb/db2express/exp_LI_en

Hat jemand vielleicht schon ein ebuild parat? Jedenfalls könnte man doch jetzt noch ein nettes ebuild wie für die neue, freie Oracle Version schreiben und die dann nach Möglichkeit in Portage übernehmen, oder?

Was haltet Ihr davon?

Grüße
Andreas
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum