Όταν το WebSphere Business Monitor επεξεργαστεί ένα συμβάν στην πλατφόρμα AIX, εμφανίζεται ένα σφάλμα SQL. Επίσης, όταν το WebSphere δεν κατορθώνει να αποδώσει αρχικές τιμές για τη σύνδεση βάσεων δεδομένων, τόσο κατά την εκκίνηση όσο και κατά την επεξεργασία συμβάντων. Η αποτυχία οφείλεται σε ένα όριο επιβεβλημένο από το λειτουργικό σύστημα που αφορά τον αριθμό των τμημάτων κοινόχρηστης μνήμης που είναι διαθέσιμος στο IBM DB2.
Η δοκιμή σύνδεσης απέτυχε για την προέλευση δεδομένων MonitorDataSource στον εξυπηρετητή server1 στον κόμβο Node01 με την ακόλουθη εξαίρεση: java.lang.Exception: java.sql.SQLException: SQL1224N Αδυναμία εκκίνησης της λειτουργίας βάσης δεδομένων για την εξυπηρέτηση αίτησης ή τερματίστηκε λόγω τερματισμού του συστήματος βάσης δεδομένων ή εκτέλεσης εντολής. SQLSTATE=55032 DSRA0010E: SQL State = 55032, Κωδικός σφάλματος = -1,224.
Όταν προκύψει αυτό το σφάλμα, πρέπει να αλλάξετε τη ρύθμιση του DB2 και να αυξήσετε τον αριθμό τμημάτων κοινόχρηστης μνήμης. Αυτή τη στιγμή, ο ειδικός αποκαταστάσεων δεν υποστηρίζει τον ορισμό ενός ψευδωνύμου του DB2 με ανάδρομο βρόχο (loopback) για την αποφυγή του προβλήματος της κοινόχρηστης μνήμης.
Λύση
# Local addition to fix AIX shared memory problem: EXTSHM=ON export EXTSHM
db2set DB2ENVLIST=EXTSHM
Σε κάθε χρήση θα οριστεί μια μεταβλητή προφίλ DB2 χάρη στην οποία η τιμή της μεταβλητής περιβάλλοντος EXTSHM θα συμπεριλαμβάνεται στο περιβάλλον των διεργασιών daemon του DB2 κατά την εκκίνησή τους. Καθορίστε το EXTSHM στα db2profiles κάθε χρήσης που εκτελούνται κατά τη σύνδεση, για να βεβαιωθείτε ότι η μεταβλητή έχει οριστεί σε κάθε περιβάλλον χρήσεων. Τέλος, τοποθετήστε το στο /etc/rc.db2 για να βεβαιωθείτε ότι η μεταβλητή έχει οριστεί όταν εκκινούνται οι διεργασίες DB2 processes κατά την έναρξη. Τέλος, επανεκκινήστε το σύστημα για να βεβαιωθείτε ότι όλες οι διεργασίες DB2 εκκινήθηκαν και περιέχουν στο περιβάλλον τους το EXTSHM=ON.
if [ -x $INSTHOME/sqllib/adm/db2set ] τότε αν [ "`$INSTHOME/sqllib/adm/db2set DB2ENVLIST`" != "EXTSHM" ] then $INSTHOME/sqllib/adm/db2set DB2ENVLIST=EXTSHM fi fiΟ κώδικας αυτός προκαλεί τον ορισμό της μεταβλητής προφίλ χρήσης DB2ENVLIST την πρώτη φορά που χρησιμοποιείται μια νέα χρήση.
EXTSHM=ON export EXTSHM