You are here

Neuigkeiten

MySQL vs. PostgreSQL

Oli Sennhauser - Thu, 2011-11-17 11:33

Im Admin-Magazin 2011/06 hat es einen netten Artikel über MySQL und PostgreSQL Performance Tuning: Duell der Datenbanken: In einem Shootout messen sich MySQL und PostgreSQL

Susanne hat dabei PostgreSQL, wir MySQL betreut...

Taxonomy upgrade extras: Performance Tuningmysqlbenchmarkpostgresqlgerman

MySQL vs. PostgreSQL

Oli Sennhauser - Thu, 2011-11-17 11:33
Taxonomy upgrade extras: Performance Tuningmysqlbenchmarkpostgresqlgerman

Im Admin-Magazin 2011/06 hat es einen netten Artikel über MySQL und PostgreSQL Performance Tuning: Duell der Datenbanken: In einem Shootout messen sich MySQL und PostgreSQL

Susanne hat dabei PostgreSQL, wir MySQL betreut...

DOAG Conference 2011 - MySQL Community Abend

Oli Sennhauser - Tue, 2011-11-01 14:26

Hallo zusammen,

Einige von Euch haben sicher vor, an die DOAG Conference 2011 nach Nürnberg zu kommen, welche vom 15. bis 17. November statt findet.

Neben zahlreichen interessanten Vorträgen über MySQL soll auch das Gesellschaftliche nicht zu kurz kommen. Daher planen wir am Dienstag, 15. November einen MySQL Community Abend mit gemeinsamem Nachtessen in einer netten Lokalität in Nürnberg. Ca. 18:30 - 19:00

Ihr seid alle herzlich eingeladen, daran teilzunehmen (auch wenn Ihr es nicht auf die DOAG Conference 2011 schafft).

Wer kennt ein nettes Restaurant wo wir hin gehen könnten (ich wüsste noch ein peruanisches Restaurant (nein, es gibt KEINE Meerschweinchen zu essen!) unterhalb der Burg!)?

Wer kommen möchte, bitte asap bei uns melden (contact@fromdual.com), damit wir genügend Plätze reservieren können.

Wenn die Speaker das Event während Ihres Vortrags ebenfalls ankündigen würden, wäre das sehr nett! Und wenn Ihr noch alle Leute, welche ebenfalls Interesse daran haben, informieren würdet wäre das toll!

Liebe Grüsse,

Oli

Taxonomy upgrade extras: doagcommunityconferencesocial eventgerman

DOAG Conference 2011 - MySQL Community Abend

Oli Sennhauser - Tue, 2011-11-01 14:26

Hallo zusammen,

Einige von Euch haben sicher vor, an die DOAG Conference 2011 nach Nürnberg zu kommen, welche vom 15. bis 17. November statt findet.

Neben zahlreichen interessanten Vorträgen über MySQL soll auch das Gesellschaftliche nicht zu kurz kommen. Daher planen wir am Dienstag, 15. November einen MySQL Community Abend mit gemeinsamem Nachtessen in einer netten Lokalität in Nürnberg. Ca. 18:30 - 19:00

Ihr seid alle herzlich eingeladen, daran teilzunehmen (auch wenn Ihr es nicht auf die DOAG Conference 2011 schafft).

Wer kennt ein nettes Restaurant wo wir hin gehen könnten (ich wüsste noch ein peruanisches Restaurant (nein, es gibt KEINE Meerschweinchen zu essen!) unterhalb der Burg!)?

Wer kommen möchte, bitte asap bei uns melden (contact@fromdual.com), damit wir genügend Plätze reservieren können.

Wenn die Speaker das Event während Ihres Vortrags ebenfalls ankündigen würden, wäre das sehr nett! Und wenn Ihr noch alle Leute, welche ebenfalls Interesse daran haben, informieren würdet wäre das toll!

Liebe Grüsse,

Oli

Taxonomy upgrade extras: doagcommunityconferencesocial eventgerman

DOAG Conference 2011 - MySQL Community Abend

Oli Sennhauser - Tue, 2011-11-01 14:26
Taxonomy upgrade extras: doagcommunityconferencesocial eventgerman

Hallo zusammen,

Einige von Euch haben sicher vor, an die DOAG Conference 2011 nach Nürnberg zu kommen, welche vom 15. bis 17. November statt findet.

Neben zahlreichen interessanten Vorträgen über MySQL soll auch das Gesellschaftliche nicht zu kurz kommen. Daher planen wir am Dienstag, 15. November einen MySQL Community Abend mit gemeinsamem Nachtessen in einer netten Lokalität in Nürnberg. Ca. 18:30 - 19:00

Ihr seid alle herzlich eingeladen, daran teilzunehmen (auch wenn Ihr es nicht auf die DOAG Conference 2011 schafft).

Wer kennt ein nettes Restaurant wo wir hin gehen könnten (ich wüsste noch ein peruanisches Restaurant (nein, es gibt KEINE Meerschweinchen zu essen!) unterhalb der Burg!)?

Wer kommen möchte, bitte asap bei uns melden (contact@fromdual.com), damit wir genügend Plätze reservieren können.

Wenn die Speaker das Event während Ihres Vortrags ebenfalls ankündigen würden, wäre das sehr nett! Und wenn Ihr noch alle Leute, welche ebenfalls Interesse daran haben, informieren würdet wäre das toll!

Liebe Grüsse,

Oli

MySQL Queries taggen

Oli Sennhauser - Thu, 2011-10-20 22:36

Früher, lange, lange ist's her, konnte man den folgenden Trick verwenden um MySQL Queries in der Applikation zu taggen:

SELECT /* My Application Tag */ * FROM test;

Im Slow Query Log und im General Query Log ist das SQL Query dann wie folgt erschienen:

# Time: 111020 22:03:33 # User@Host: root[root] @ localhost [] Id: 1335 # Query_time: 17.873938 Lock_time: 0.007952 Rows_sent: 12048576 Rows_examined: 12048576 use test; SET timestamp=1319141013; SELECT /* My Application Tag */ * FROM test;

und

111020 22:03:15 1335 Query SELECT /* My Application Tag */ * FROM test

Das ist recht nützlich, wenn man nicht genau weiss woher ein Query stammt oder wie es von der Applikation schlussendlich ausformuliert wird.

Leider wurde dieses Feature irgendwann einmal von MySQL abgeschafft. Wann das genau geschehen ist, konnte ich nicht mehr herausfinden. Heute sehen die entsprechenden Einträge wie folgt aus:

# Time: 111020 22:03:33 # User@Host: root[root] @ localhost [] Id: 1335 # Query_time: 17.873938 Lock_time: 0.007952 Rows_sent: 12048576 Rows_examined: 12048576 use test; SET timestamp=1319141013; SELECT * FROM test;

und

111020 22:03:15 1335 Query SELECT * FROM test

Bei unserem heutigen Kunden hatten wir wieder mal genau dieses Problem. Zum Glück hatte er eine glorreiche Idee. Aus:

SELECT * FROM test WHERE 1 = 1;

machten wir kurzerhand:

SELECT * FROM test WHERE 'My Application Tag' = 'My Application Tag';

und siehe da:

# Time: 111020 22:24:59 # User@Host: root[root] @ localhost [] Id: 2077 # Query_time: 12.270074 Lock_time: 0.000124 Rows_sent: 12048576 Rows_examined: 12048576 use test; SET timestamp=1319142299; SELECT * FROM test WHERE 'My Application Tag' = 'My Application Tag';

und

2077 Query SELECT * FROM test WHERE 'My Application Tag' = 'My Application Tag'

es funktioniert...

Ist zwar nicht ganz so sexy, aber recht nützlich...

Taxonomy upgrade extras: tagquerygeneral query log

MySQL Queries taggen

Oli Sennhauser - Thu, 2011-10-20 22:36

Früher, lange, lange ist's her, konnte man den folgenden Trick verwenden um MySQL Queries in der Applikation zu taggen:

SELECT /* My Application Tag */ * FROM test;

Im Slow Query Log und im General Query Log ist das SQL Query dann wie folgt erschienen:

# Time: 111020 22:03:33 # User@Host: root[root] @ localhost [] Id: 1335 # Query_time: 17.873938 Lock_time: 0.007952 Rows_sent: 12048576 Rows_examined: 12048576 use test; SET timestamp=1319141013; SELECT /* My Application Tag */ * FROM test;

und

111020 22:03:15 1335 Query SELECT /* My Application Tag */ * FROM test

Das ist recht nützlich, wenn man nicht genau weiss woher ein Query stammt oder wie es von der Applikation schlussendlich ausformuliert wird.

Leider wurde dieses Feature irgendwann einmal von MySQL abgeschafft. Wann das genau geschehen ist, konnte ich nicht mehr herausfinden. Heute sehen die entsprechenden Einträge wie folgt aus:

# Time: 111020 22:03:33 # User@Host: root[root] @ localhost [] Id: 1335 # Query_time: 17.873938 Lock_time: 0.007952 Rows_sent: 12048576 Rows_examined: 12048576 use test; SET timestamp=1319141013; SELECT * FROM test;

und

111020 22:03:15 1335 Query SELECT * FROM test

Bei unserem heutigen Kunden hatten wir wieder mal genau dieses Problem. Zum Glück hatte er eine glorreiche Idee. Aus:

SELECT * FROM test WHERE 1 = 1;

machten wir kurzerhand:

SELECT * FROM test WHERE 'My Application Tag' = 'My Application Tag';

und siehe da:

# Time: 111020 22:24:59 # User@Host: root[root] @ localhost [] Id: 2077 # Query_time: 12.270074 Lock_time: 0.000124 Rows_sent: 12048576 Rows_examined: 12048576 use test; SET timestamp=1319142299; SELECT * FROM test WHERE 'My Application Tag' = 'My Application Tag';

und

2077 Query SELECT * FROM test WHERE 'My Application Tag' = 'My Application Tag'

es funktioniert...

Ist zwar nicht ganz so sexy, aber recht nützlich...

Taxonomy upgrade extras: tagquerygerman

MySQL Queries taggen

Oli Sennhauser - Thu, 2011-10-20 22:36
Taxonomy upgrade extras: tagquerygerman

Früher, lange, lange ist's her, konnte man den folgenden Trick verwenden um MySQL Queries in der Applikation zu taggen:

SELECT /* My Application Tag */ * FROM test;

Im Slow Query Log und im General Query Log ist das SQL Query dann wie folgt erschienen:

# Time: 111020 22:03:33 # User@Host: root[root] @ localhost [] Id: 1335 # Query_time: 17.873938 Lock_time: 0.007952 Rows_sent: 12048576 Rows_examined: 12048576 use test; SET timestamp=1319141013; SELECT /* My Application Tag */ * FROM test;

und

111020 22:03:15 1335 Query SELECT /* My Application Tag */ * FROM test

Das ist recht nützlich, wenn man nicht genau weiss woher ein Query stammt oder wie es von der Applikation schlussendlich ausformuliert wird.

Leider wurde dieses Feature irgendwann einmal von MySQL abgeschafft. Wann das genau geschehen ist, konnte ich nicht mehr herausfinden. Heute sehen die entsprechenden Einträge wie folgt aus:

# Time: 111020 22:03:33 # User@Host: root[root] @ localhost [] Id: 1335 # Query_time: 17.873938 Lock_time: 0.007952 Rows_sent: 12048576 Rows_examined: 12048576 use test; SET timestamp=1319141013; SELECT * FROM test;

und

111020 22:03:15 1335 Query SELECT * FROM test

Bei unserem heutigen Kunden hatten wir wieder mal genau dieses Problem. Zum Glück hatte er eine glorreiche Idee. Aus:

SELECT * FROM test WHERE 1 = 1;

machten wir kurzerhand:

SELECT * FROM test WHERE 'My Application Tag' = 'My Application Tag';

und siehe da:

# Time: 111020 22:24:59 # User@Host: root[root] @ localhost [] Id: 2077 # Query_time: 12.270074 Lock_time: 0.000124 Rows_sent: 12048576 Rows_examined: 12048576 use test; SET timestamp=1319142299; SELECT * FROM test WHERE 'My Application Tag' = 'My Application Tag';

und

2077 Query SELECT * FROM test WHERE 'My Application Tag' = 'My Application Tag'

es funktioniert...

Ist zwar nicht ganz so sexy, aber recht nützlich...

Automatitisiertes Starten und Stoppen der Canias ERP Applikation

Oli Sennhauser - Wed, 2011-10-19 17:40

Beim Betrieb der Canias ERP Applikation stösst man unweigerlich früher oder später auf das lästige Verhalten, dass eine Konsole mit der Canias RMI Registry Applikation offen gehalten werden muss.

Eine offene Konsole kann dazu führen, dass aus Versehen die Applikation gestoppt wird und somit die ganze Produktion, welche am ERP hängt, still steht.
Ein weiteres Problem besteht darin, dass der Canias Server mit seinen Komponenten (RMI-Registry, Lizenz- und Applikations-Server) nicht als Dienst gestartet werden kann.
Das hat zur Folge, dass keine Standard Monitoring Lösung für die Canias-Überwachung genutzt werden kann.

Um dieses Problem zu umgehen haben wir für die Canias ERP Applikation ein start/stop Skript unter CentOS gebaut, welches alle Canias Komponenten steuert. Dieses Skript sollte mit minimalen Änderungen auch auf anderen Linux Distributionen lauffähig sein.

Mit diesem Skript lässt sich nun die Canias RMI-Registry, der Canias Controler sowie der Canias Server automatisiert beim Systemstart über den init-Prozess starten und wieder stoppen ohne, dass eine lästige Konsole offen bleiben muss.
Somit kann eine hohe Verfügbarkeit der Canias Applikation beim System-Neustart gewährleistet werden.

Zudem lässt sich dieses Skript als Ressource in einen aktiv/passiv Failover Cluster mit einbauen und im Fehlerfall automatisch mit auf den anderen Node rüberschwenken, wo die ERP Applikation innert weniger Minuten wieder zur Verfügung steht.

Wir konnten trotzt ausführlicher Tests keine Probleme mit dieser Konfiguration feststellen und wundern uns daher, dass dieses Verfahren nicht bereits durch den Hersteller Canias eingesetzt wird.

Durch leichtes Abändern des Skripts kann sogar ein Icon auf dem Desktop angelegt werden, welches durch Klicken den ganzen Canias Stack neu startet.

Bei Fragen zur Installation oder zum Betrieb von Canias ERP sowie des zugrunde liegenden MySQL Datenbank helfen wir gerne weiter.

#!/bin/sh # # /etc/init.d/canias {start|stop|reload|restart|status} # # canias: Start and Stop Canias ERP System # # chkconfig: is manged by Cluster suite # # Source function library. if [ -f /etc/init.d/functions ] ; then . /etc/init.d/functions elif [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functions else exit 1 fi appdir="/canias/iasAppServer" logdir="$appdir/Log" start() { echo -n "Starting Canias RMI Registry: " runuser -l canias -c "cd $appdir && nohup /usr/lib/jvm/jre-1.6.0/bin/java -jar serverUtils.jar \ start_ias_rmi_registry debug 1>$logdir/start_rmi_registry.log 2>&1 &" echo sleep 2 echo -n "Starting Canias Controller: " export DISPLAY=$(hostname):1 runuser -l canias -c "cd $appdir && nohup /canias/java/j2re1.4.2_18/bin/java -classpath controller.jar \ -Djava.security.policy=canias.policy -Djava.library.path=. com.ias.starter.iasControllerStarter /Port:USB \ 1>$logdir/start_controller.log 2>&1 &" echo sleep 2 echo -n "Starting Canias Server: " export DISPLAY=$(hostname):1 runuser -l canias -c "cd $appdir && nohup /usr/lib/jvm/jre-1.6.0/bin/java -Xmx4g \ -Djava.security.policy=canias.policy -cp server.jar:./RESOURCES/lib/activation.jar:./RESOURCES/lib/axis.jar:\ ./RESOURCES/lib/commons-discovery.jar:./RESOURCES/lib/commons-fileupload-1.1.1.jar:./RESOURCES/lib/commons-io-1.2.jar:\ ./RESOURCES/lib/commons-logging.jar:./RESOURCES/lib/FontBox-0.1.0-dev.jar:./RESOURCES/lib/iascommapi.jar:\ ./RESOURCES/lib/itext-paulo-155.jar:./RESOURCES/lib/jai_codec.jar:./RESOURCES/lib/jai_core.jar:\ ./RESOURCES/lib/jaxrpc.jar:./RESOURCES/lib/jcchart451K.jar:./RESOURCES/lib/jcert.jar:./RESOURCES/lib/jcfield451K.jar:\ ./RESOURCES/lib/jctable451K.jar:./RESOURCES/lib/jdbc2_0-stdext.jar:./RESOURCES/lib/jnet.jar:./RESOURCES/lib/jradius-client.jar:\ ./RESOURCES/lib/jsse.jar:./RESOURCES/lib/mail_v1.4.jar:./RESOURCES/lib/mlibwrapper_jai.jar:./RESOURCES/lib/NSClient_comp_1.4.jar:\ ./RESOURCES/lib/PDFBox-0.7.3-dev-20060516.jar:./RESOURCES/lib/RetepPDF.jar:./RESOURCES/lib/saaj.jar:./RESOURCES/lib/servlet.jar:\ ./RESOURCES/lib/smlib.jar:./RESOURCES/lib/soap.jar:./RESOURCES/lib/uddi4j.jar:./RESOURCES/lib/wsdl4j.jar:\ ./RESOURCES/lib/xerces.jar:./RESOURCES/lib/xml4j.jar:./RESOURCES/lib/JDBCDrivers com.ias.starter.iasServerStarter \ /settings:ServerSettings.ias 1>$logdir/start_server.log 2>&1 &" echo } stop() { echo -n "Shutting down all Canias related Java processes: " # kill processes in reverse order plist=$(pgrep -u canias java | sort -n -r) for i in $plist ; do kill $i done echo } status() { cnt=$(pgrep -u canias java | wc -l) if [[ $cnt -gt 0 ]] ; then echo "$cnt java processes for user canias are running..." exit 0 else echo "Canias seems to be stopped" exit 1 fi } case "$1" in start) start ;; stop) stop ;; restart|reload) stop sleep 5 start ;; status) status ;; *) echo "Usage: $0 {start|stop|restart|reload|status}" exit 1 esac # Always return 0 because we do not want to have a cluster starting # failure just because of Canias! exit 0 Über acar software GmbH

Acar software GmbH ist ein IT-Systemhaus, welches sich im ERP Bereich spezialisiert und weitreichendes Know-How in komplexen Geschäftsprozessen angeeignet hat. Wir sorgen dafür, dass der Kunde seine komplexen Prozesse mit unserer Software transparent und leicht abwickeln kann, ohne einen grossen Overhead zu erzeugen.
Mehr Infos zur acar software GmbH finden Sie unter: www.acarsoftware.de

Über FromDual GmbH

FromDual GmbH ist ein Hersteller unabhängiges und neutrales Beratungs- und Dienstleistungs-Unternehmen für MySQL, Percona Server und MariaDB.
Wir unterstützen unsere Kunden bei der Wartung und dem Betrieb von MySQL Datenbanken. Zudem machen wir auch MySQL Performance Tuning und helfen unseren Kunden MySQL Hochverfügbarkeits-Lösung zu implementieren, für welche wir auf Wunsch auch MySQL Support anbieten.
Mehr Infos zur FromDual GmbH finden Sie unter: www.fromdual.com

Taxonomy upgrade extras: haerpcaniasstartstopinitskripthochverfügbarkeitgerman

Automatitisiertes Starten und Stoppen der Canias ERP Applikation

Oli Sennhauser - Wed, 2011-10-19 17:40

Beim Betrieb der Canias ERP Applikation stösst man unweigerlich früher oder später auf das lästige Verhalten, dass eine Konsole mit der Canias RMI Registry Applikation offen gehalten werden muss.

Eine offene Konsole kann dazu führen, dass aus Versehen die Applikation gestoppt wird und somit die ganze Produktion, welche am ERP hängt, still steht.
Ein weiteres Problem besteht darin, dass der Canias Server mit seinen Komponenten (RMI-Registry, Lizenz- und Applikations-Server) nicht als Dienst gestartet werden kann.
Das hat zur Folge, dass keine Standard Monitoring Lösung für die Canias-Überwachung genutzt werden kann.

Um dieses Problem zu umgehen haben wir für die Canias ERP Applikation ein start/stop Skript unter CentOS gebaut, welches alle Canias Komponenten steuert. Dieses Skript sollte mit minimalen Änderungen auch auf anderen Linux Distributionen lauffähig sein.

Mit diesem Skript lässt sich nun die Canias RMI-Registry, der Canias Controler sowie der Canias Server automatisiert beim Systemstart über den init-Prozess starten und wieder stoppen ohne, dass eine lästige Konsole offen bleiben muss.
Somit kann eine hohe Verfügbarkeit der Canias Applikation beim System-Neustart gewährleistet werden.

Zudem lässt sich dieses Skript als Ressource in einen aktiv/passiv Failover Cluster mit einbauen und im Fehlerfall automatisch mit auf den anderen Node rüberschwenken, wo die ERP Applikation innert weniger Minuten wieder zur Verfügung steht.

Wir konnten trotzt ausführlicher Tests keine Probleme mit dieser Konfiguration feststellen und wundern uns daher, dass dieses Verfahren nicht bereits durch den Hersteller Canias eingesetzt wird.

Durch leichtes Abändern des Skripts kann sogar ein Icon auf dem Desktop angelegt werden, welches durch Klicken den ganzen Canias Stack neu startet.

Bei Fragen zur Installation oder zum Betrieb von Canias ERP sowie des zugrunde liegenden MySQL Datenbank helfen wir gerne weiter.

#!/bin/sh # # /etc/init.d/canias {start|stop|reload|restart|status} # # canias: Start and Stop Canias ERP System # # chkconfig: is manged by Cluster suite # # Source function library. if [ -f /etc/init.d/functions ] ; then . /etc/init.d/functions elif [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functions else exit 1 fi appdir="/canias/iasAppServer" logdir="$appdir/Log" start() { echo -n "Starting Canias RMI Registry: " runuser -l canias -c "cd $appdir && nohup /usr/lib/jvm/jre-1.6.0/bin/java -jar serverUtils.jar \ start_ias_rmi_registry debug 1>$logdir/start_rmi_registry.log 2>&1 &" echo sleep 2 echo -n "Starting Canias Controller: " export DISPLAY=$(hostname):1 runuser -l canias -c "cd $appdir && nohup /canias/java/j2re1.4.2_18/bin/java -classpath controller.jar \ -Djava.security.policy=canias.policy -Djava.library.path=. com.ias.starter.iasControllerStarter /Port:USB \ 1>$logdir/start_controller.log 2>&1 &" echo sleep 2 echo -n "Starting Canias Server: " export DISPLAY=$(hostname):1 runuser -l canias -c "cd $appdir && nohup /usr/lib/jvm/jre-1.6.0/bin/java -Xmx4g \ -Djava.security.policy=canias.policy -cp server.jar:./RESOURCES/lib/activation.jar:./RESOURCES/lib/axis.jar:\ ./RESOURCES/lib/commons-discovery.jar:./RESOURCES/lib/commons-fileupload-1.1.1.jar:./RESOURCES/lib/commons-io-1.2.jar:\ ./RESOURCES/lib/commons-logging.jar:./RESOURCES/lib/FontBox-0.1.0-dev.jar:./RESOURCES/lib/iascommapi.jar:\ ./RESOURCES/lib/itext-paulo-155.jar:./RESOURCES/lib/jai_codec.jar:./RESOURCES/lib/jai_core.jar:\ ./RESOURCES/lib/jaxrpc.jar:./RESOURCES/lib/jcchart451K.jar:./RESOURCES/lib/jcert.jar:./RESOURCES/lib/jcfield451K.jar:\ ./RESOURCES/lib/jctable451K.jar:./RESOURCES/lib/jdbc2_0-stdext.jar:./RESOURCES/lib/jnet.jar:./RESOURCES/lib/jradius-client.jar:\ ./RESOURCES/lib/jsse.jar:./RESOURCES/lib/mail_v1.4.jar:./RESOURCES/lib/mlibwrapper_jai.jar:./RESOURCES/lib/NSClient_comp_1.4.jar:\ ./RESOURCES/lib/PDFBox-0.7.3-dev-20060516.jar:./RESOURCES/lib/RetepPDF.jar:./RESOURCES/lib/saaj.jar:./RESOURCES/lib/servlet.jar:\ ./RESOURCES/lib/smlib.jar:./RESOURCES/lib/soap.jar:./RESOURCES/lib/uddi4j.jar:./RESOURCES/lib/wsdl4j.jar:\ ./RESOURCES/lib/xerces.jar:./RESOURCES/lib/xml4j.jar:./RESOURCES/lib/JDBCDrivers com.ias.starter.iasServerStarter \ /settings:ServerSettings.ias 1>$logdir/start_server.log 2>&1 &" echo } stop() { echo -n "Shutting down all Canias related Java processes: " # kill processes in reverse order plist=$(pgrep -u canias java | sort -n -r) for i in $plist ; do kill $i done echo } status() { cnt=$(pgrep -u canias java | wc -l) if [[ $cnt -gt 0 ]] ; then echo "$cnt java processes for user canias are running..." exit 0 else echo "Canias seems to be stopped" exit 1 fi } case "$1" in start) start ;; stop) stop ;; restart|reload) stop sleep 5 start ;; status) status ;; *) echo "Usage: $0 {start|stop|restart|reload|status}" exit 1 esac # Always return 0 because we do not want to have a cluster starting # failure just because of Canias! exit 0 Über acar software GmbH

Acar software GmbH ist ein IT-Systemhaus, welches sich im ERP Bereich spezialisiert und weitreichendes Know-How in komplexen Geschäftsprozessen angeeignet hat. Wir sorgen dafür, dass der Kunde seine komplexen Prozesse mit unserer Software transparent und leicht abwickeln kann, ohne einen grossen Overhead zu erzeugen.
Mehr Infos zur acar software GmbH finden Sie unter: www.acarsoftware.de

Über FromDual GmbH

FromDual GmbH ist ein Hersteller unabhängiges und neutrales Beratungs- und Dienstleistungs-Unternehmen für MySQL, Percona Server und MariaDB.
Wir unterstützen unsere Kunden bei der Wartung und dem Betrieb von MySQL Datenbanken. Zudem machen wir auch MySQL Performance Tuning und helfen unseren Kunden MySQL Hochverfügbarkeits-Lösung zu implementieren, für welche wir auf Wunsch auch MySQL Support anbieten.
Mehr Infos zur FromDual GmbH finden Sie unter: www.fromdual.com

Taxonomy upgrade extras: haerpcaniasstartstopinitskripthochverfügbarkeitgerman

Automatitisiertes Starten und Stoppen der Canias ERP Applikation

Oli Sennhauser - Wed, 2011-10-19 17:40
Taxonomy upgrade extras: haerpcaniasstartstopinitskripthochverfügbarkeitgerman

Beim Betrieb der Canias ERP Applikation stösst man unweigerlich früher oder später auf das lästige Verhalten, dass eine Konsole mit der Canias RMI Registry Applikation offen gehalten werden muss.

Eine offene Konsole kann dazu führen, dass aus Versehen die Applikation gestoppt wird und somit die ganze Produktion, welche am ERP hängt, still steht.
Ein weiteres Problem besteht darin, dass der Canias Server mit seinen Komponenten (RMI-Registry, Lizenz- und Applikations-Server) nicht als Dienst gestartet werden kann.
Das hat zur Folge, dass keine Standard Monitoring Lösung für die Canias-Überwachung genutzt werden kann.

Um dieses Problem zu umgehen haben wir für die Canias ERP Applikation ein start/stop Skript unter CentOS gebaut, welches alle Canias Komponenten steuert. Dieses Skript sollte mit minimalen Änderungen auch auf anderen Linux Distributionen lauffähig sein.

Mit diesem Skript lässt sich nun die Canias RMI-Registry, der Canias Controler sowie der Canias Server automatisiert beim Systemstart über den init-Prozess starten und wieder stoppen ohne, dass eine lästige Konsole offen bleiben muss.
Somit kann eine hohe Verfügbarkeit der Canias Applikation beim System-Neustart gewährleistet werden.

Zudem lässt sich dieses Skript als Ressource in einen aktiv/passiv Failover Cluster mit einbauen und im Fehlerfall automatisch mit auf den anderen Node rüberschwenken, wo die ERP Applikation innert weniger Minuten wieder zur Verfügung steht.

Wir konnten trotzt ausführlicher Tests keine Probleme mit dieser Konfiguration feststellen und wundern uns daher, dass dieses Verfahren nicht bereits durch den Hersteller Canias eingesetzt wird.

Durch leichtes Abändern des Skripts kann sogar ein Icon auf dem Desktop angelegt werden, welches durch Klicken den ganzen Canias Stack neu startet.

Bei Fragen zur Installation oder zum Betrieb von Canias ERP sowie des zugrunde liegenden MySQL Datenbank helfen wir gerne weiter.

#!/bin/sh # # /etc/init.d/canias {start|stop|reload|restart|status} # # canias: Start and Stop Canias ERP System # # chkconfig: is manged by Cluster suite # # Source function library. if [ -f /etc/init.d/functions ] ; then . /etc/init.d/functions elif [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functions else exit 1 fi appdir="/canias/iasAppServer" logdir="$appdir/Log" start() { echo -n "Starting Canias RMI Registry: " runuser -l canias -c "cd $appdir && nohup /usr/lib/jvm/jre-1.6.0/bin/java -jar serverUtils.jar \ start_ias_rmi_registry debug 1>$logdir/start_rmi_registry.log 2>&1 &" echo sleep 2 echo -n "Starting Canias Controller: " export DISPLAY=$(hostname):1 runuser -l canias -c "cd $appdir && nohup /canias/java/j2re1.4.2_18/bin/java -classpath controller.jar \ -Djava.security.policy=canias.policy -Djava.library.path=. com.ias.starter.iasControllerStarter /Port:USB \ 1>$logdir/start_controller.log 2>&1 &" echo sleep 2 echo -n "Starting Canias Server: " export DISPLAY=$(hostname):1 runuser -l canias -c "cd $appdir && nohup /usr/lib/jvm/jre-1.6.0/bin/java -Xmx4g \ -Djava.security.policy=canias.policy -cp server.jar:./RESOURCES/lib/activation.jar:./RESOURCES/lib/axis.jar:\ ./RESOURCES/lib/commons-discovery.jar:./RESOURCES/lib/commons-fileupload-1.1.1.jar:./RESOURCES/lib/commons-io-1.2.jar:\ ./RESOURCES/lib/commons-logging.jar:./RESOURCES/lib/FontBox-0.1.0-dev.jar:./RESOURCES/lib/iascommapi.jar:\ ./RESOURCES/lib/itext-paulo-155.jar:./RESOURCES/lib/jai_codec.jar:./RESOURCES/lib/jai_core.jar:\ ./RESOURCES/lib/jaxrpc.jar:./RESOURCES/lib/jcchart451K.jar:./RESOURCES/lib/jcert.jar:./RESOURCES/lib/jcfield451K.jar:\ ./RESOURCES/lib/jctable451K.jar:./RESOURCES/lib/jdbc2_0-stdext.jar:./RESOURCES/lib/jnet.jar:./RESOURCES/lib/jradius-client.jar:\ ./RESOURCES/lib/jsse.jar:./RESOURCES/lib/mail_v1.4.jar:./RESOURCES/lib/mlibwrapper_jai.jar:./RESOURCES/lib/NSClient_comp_1.4.jar:\ ./RESOURCES/lib/PDFBox-0.7.3-dev-20060516.jar:./RESOURCES/lib/RetepPDF.jar:./RESOURCES/lib/saaj.jar:./RESOURCES/lib/servlet.jar:\ ./RESOURCES/lib/smlib.jar:./RESOURCES/lib/soap.jar:./RESOURCES/lib/uddi4j.jar:./RESOURCES/lib/wsdl4j.jar:\ ./RESOURCES/lib/xerces.jar:./RESOURCES/lib/xml4j.jar:./RESOURCES/lib/JDBCDrivers com.ias.starter.iasServerStarter \ /settings:ServerSettings.ias 1>$logdir/start_server.log 2>&1 &" echo } stop() { echo -n "Shutting down all Canias related Java processes: " # kill processes in reverse order plist=$(pgrep -u canias java | sort -n -r) for i in $plist ; do kill $i done echo } status() { cnt=$(pgrep -u canias java | wc -l) if [[ $cnt -gt 0 ]] ; then echo "$cnt java processes for user canias are running..." exit 0 else echo "Canias seems to be stopped" exit 1 fi } case "$1" in start) start ;; stop) stop ;; restart|reload) stop sleep 5 start ;; status) status ;; *) echo "Usage: $0 {start|stop|restart|reload|status}" exit 1 esac # Always return 0 because we do not want to have a cluster starting # failure just because of Canias! exit 0 Über acar software GmbH

Acar software GmbH ist ein IT-Systemhaus, welches sich im ERP Bereich spezialisiert und weitreichendes Know-How in komplexen Geschäftsprozessen angeeignet hat. Wir sorgen dafür, dass der Kunde seine komplexen Prozesse mit unserer Software transparent und leicht abwickeln kann, ohne einen grossen Overhead zu erzeugen.
Mehr Infos zur acar software GmbH finden Sie unter: www.acarsoftware.de

Über FromDual GmbH

FromDual GmbH ist ein Hersteller unabhängiges und neutrales Beratungs- und Dienstleistungs-Unternehmen für MySQL, Percona Server und MariaDB.
Wir unterstützen unsere Kunden bei der Wartung und dem Betrieb von MySQL Datenbanken. Zudem machen wir auch MySQL Performance Tuning und helfen unseren Kunden MySQL Hochverfügbarkeits-Lösung zu implementieren, für welche wir auf Wunsch auch MySQL Support anbieten.
Mehr Infos zur FromDual GmbH finden Sie unter: www.fromdual.com

ER-Diagramm des InnoDB Data Dictionaries

Oli Sennhauser - Wed, 2011-08-03 10:03

Mit dem neuen MySQL Release 5.6 sind einige neue InnoDB Data Dictionary Tabellen zum INFORMATION_SCHEMA hinzu gekommen:

Neu in MySQL 5.5 sind:

INNODB_CMPINNODB_CMP_RESETINNODB_CMPMEMINNODB_CMPMEM_RESETINNODB_TRXINNODB_LOCK_WAITSINNODB_LOCKS

Neu in MySQL 5.6 sind:

INNODB_BUFFER_PAGEINNODB_BUFFER_PAGE_LRUINNODB_BUFFER_POOL_STATSINNODB_METRICSINNODB_SYS_COLUMNSINNODB_SYS_FIELDSINNODB_SYS_FOREIGNINNODB_SYS_FOREIGN_COLSINNODB_SYS_INDEXESINNODB_SYS_TABLESINNODB_SYS_TABLESTATS

Die INNODB_SYS Tabellen waren bereits früher vorhanden, aber nicht über SQL zugreifbar. Man konnte Sie sehen, indem man den InnoDB Table Monitor eingeschaltet hat.

Um eine grobe Übersicht zu erhalten, welchen Bezug diese Tabellen zueinander haben, haben wir das ER-Diagramm des InnoDB Data Dictionaries reverse engineered. Bitte teilt uns mit, wenn Ihr einen Fehler findet oder wenn etwas fehlt...

Viel Spass!

Oli

innodb_dd.pdf (PDF: 93k)

Taxonomy upgrade extras: innodbdata dictionaryer-diagramgerman

ER-Diagramm des InnoDB Data Dictionaries

Oli Sennhauser - Wed, 2011-08-03 10:03

Mit dem neuen MySQL Release 5.6 sind einige neue InnoDB Data Dictionary Tabellen zum INFORMATION_SCHEMA hinzu gekommen:

Neu in MySQL 5.5 sind:

INNODB_CMPINNODB_CMP_RESETINNODB_CMPMEMINNODB_CMPMEM_RESETINNODB_TRXINNODB_LOCK_WAITSINNODB_LOCKS

Neu in MySQL 5.6 sind:

INNODB_BUFFER_PAGEINNODB_BUFFER_PAGE_LRUINNODB_BUFFER_POOL_STATSINNODB_METRICSINNODB_SYS_COLUMNSINNODB_SYS_FIELDSINNODB_SYS_FOREIGNINNODB_SYS_FOREIGN_COLSINNODB_SYS_INDEXESINNODB_SYS_TABLESINNODB_SYS_TABLESTATS

Die INNODB_SYS Tabellen waren bereits früher vorhanden, aber nicht über SQL zugreifbar. Man konnte Sie sehen, indem man den InnoDB Table Monitor eingeschaltet hat.

Um eine grobe Übersicht zu erhalten, welchen Bezug diese Tabellen zueinander haben, haben wir das ER-Diagramm des InnoDB Data Dictionaries reverse engineered. Bitte teilt uns mit, wenn Ihr einen Fehler findet oder wenn etwas fehlt...

Viel Spass!

Oli

innodb_dd.pdf (PDF: 93k)

Taxonomy upgrade extras: innodbdata dictionaryer-diagramgerman

ER-Diagramm des InnoDB Data Dictionaries

Oli Sennhauser - Wed, 2011-08-03 10:03
Taxonomy upgrade extras: innodbdata dictionaryer-diagramgerman

Mit dem neuen MySQL Release 5.6 sind einige neue InnoDB Data Dictionary Tabellen zum INFORMATION_SCHEMA hinzu gekommen:

Neu in MySQL 5.5 sind:

INNODB_CMPINNODB_CMP_RESETINNODB_CMPMEMINNODB_CMPMEM_RESETINNODB_TRXINNODB_LOCK_WAITSINNODB_LOCKS

Neu in MySQL 5.6 sind:

INNODB_BUFFER_PAGEINNODB_BUFFER_PAGE_LRUINNODB_BUFFER_POOL_STATSINNODB_METRICSINNODB_SYS_COLUMNSINNODB_SYS_FIELDSINNODB_SYS_FOREIGNINNODB_SYS_FOREIGN_COLSINNODB_SYS_INDEXESINNODB_SYS_TABLESINNODB_SYS_TABLESTATS

Die INNODB_SYS Tabellen waren bereits früher vorhanden, aber nicht über SQL zugreifbar. Man konnte Sie sehen, indem man den InnoDB Table Monitor eingeschaltet hat.

Um eine grobe Übersicht zu erhalten, welchen Bezug diese Tabellen zueinander haben, haben wir das ER-Diagramm des InnoDB Data Dictionaries reverse engineered. Bitte teilt uns mit, wenn Ihr einen Fehler findet oder wenn etwas fehlt...

Viel Spass!

Oli

innodb_dd.pdf (PDF: 93k)

Deutschsprachige MySQL Anwender Gruppe gegründet (DMySQLAG)

Oli Sennhauser - Mon, 2011-06-06 16:51
Heute wurde in Berlin die Deutschsprachige MySQL Anwender Gruppe formal gegründet. Der Verein fördert:
  • die Information über den Einsatz, den Umgang und die Erfahrung mit MySQL und Entwicklungen im MySQL Eco-System sowie Anwendungssysteme welche MySQL nutzen.
  • den Erfahrungsaustausch zwischen den Benutzern über MySQL sowie anderer Systeme.
  • die Beratung und Zusammenarbeit mit Oracle und Herstellern anderer Systeme.
  • die Unterbreitung von Mitgliedervorschlägen an Oracle und Hersteller von anderen Systemen.
Die deutschsprachige MySQL Anwender Gruppe ist für MySQL Anwender aus Deutschland, Österreich und der Schweiz gedacht. Damit Österreich und Schweiz ein genügend grosses Gewicht erhalten sind insbesondere zahlreiche Anmeldungen aus diesen beiden Ländern erwünscht! Wer als Gründungsmitglied aufgeführt werden will, soll sich asap (bis Freitag) bei uns per e-Mail melden. Eine spätere Mitgliedschaft ist jederzeit möglich. Mitgliederbeiträge
  • Schüler und Studenten: frei
  • Einzelmitglieder: EUR 100.-/a
  • Firmen bis 500 Mitarbeiter: EUR 200.-/a
  • Firmen über 500 Mitarbeiter: EUR 300.-/a
Taxonomy upgrade extras: mysqlanwendergerman

Deutschsprachige MySQL Anwender Gruppe gegründet (DMySQLAG)

Oli Sennhauser - Mon, 2011-06-06 16:51
Heute wurde in Berlin die Deutschsprachige MySQL Anwender Gruppe formal gegründet. Der Verein fördert:
  • die Information über den Einsatz, den Umgang und die Erfahrung mit MySQL und Entwicklungen im MySQL Eco-System sowie Anwendungssysteme welche MySQL nutzen.
  • den Erfahrungsaustausch zwischen den Benutzern über MySQL sowie anderer Systeme.
  • die Beratung und Zusammenarbeit mit Oracle und Herstellern anderer Systeme.
  • die Unterbreitung von Mitgliedervorschlägen an Oracle und Hersteller von anderen Systemen.
Die deutschsprachige MySQL Anwender Gruppe ist für MySQL Anwender aus Deutschland, Österreich und der Schweiz gedacht. Damit Österreich und Schweiz ein genügend grosses Gewicht erhalten sind insbesondere zahlreiche Anmeldungen aus diesen beiden Ländern erwünscht! Wer als Gründungsmitglied aufgeführt werden will, soll sich asap (bis Freitag) bei uns per e-Mail melden. Eine spätere Mitgliedschaft ist jederzeit möglich. Mitgliederbeiträge
  • Schüler und Studenten: frei
  • Einzelmitglieder: EUR 100.-/a
  • Firmen bis 500 Mitarbeiter: EUR 200.-/a
  • Firmen über 500 Mitarbeiter: EUR 300.-/a
Taxonomy upgrade extras: mysqlanwendergerman

Deutschsprachige MySQL Anwender Gruppe gegründet (DMySQLAG)

Oli Sennhauser - Mon, 2011-06-06 16:51
Taxonomy upgrade extras: mysqlanwendergermanHeute wurde in Berlin die Deutschsprachige MySQL Anwender Gruppe formal gegründet. Der Verein fördert:
  • die Information über den Einsatz, den Umgang und die Erfahrung mit MySQL und Entwicklungen im MySQL Eco-System sowie Anwendungssysteme welche MySQL nutzen.
  • den Erfahrungsaustausch zwischen den Benutzern über MySQL sowie anderer Systeme.
  • die Beratung und Zusammenarbeit mit Oracle und Herstellern anderer Systeme.
  • die Unterbreitung von Mitgliedervorschlägen an Oracle und Hersteller von anderen Systemen.
Die deutschsprachige MySQL Anwender Gruppe ist für MySQL Anwender aus Deutschland, Österreich und der Schweiz gedacht. Damit Österreich und Schweiz ein genügend grosses Gewicht erhalten sind insbesondere zahlreiche Anmeldungen aus diesen beiden Ländern erwünscht! Wer als Gründungsmitglied aufgeführt werden will, soll sich asap (bis Freitag) bei uns per e-Mail melden. Eine spätere Mitgliedschaft ist jederzeit möglich. Mitgliederbeiträge
  • Schüler und Studenten: frei
  • Einzelmitglieder: EUR 100.-/a
  • Firmen bis 500 Mitarbeiter: EUR 200.-/a
  • Firmen über 500 Mitarbeiter: EUR 300.-/a

BLOB's aus der MySQL Datenbank herausklauben

Oli Sennhauser - Fri, 2011-04-22 14:12

Ein Kunde, welcher mit digitalen Zertifikaten zu tun hat, hatte ein Problem mit einem solchen. Also mussten wir nachforschen, was das Problem war.

Weil das Zertifikat in binärer Form vorliegt, ist es in einem BLOB gespeichert und wir mussten es aus der Datenbank herausklauben um einige Tests damit durchzuführen.

Als erstes kam mir in den Sinn, das Zertifikat mit dem Befehl SELECT INTO OUTFILE zu erhalten. Aber das Verifizierungstool reklamierte und sagte uns, dass das Zertifikat ein falsches Format habe.

Zum Glück fand ich in der MySQL Dokumentation den folgenden Satz: If you use INTO DUMPFILE instead of INTO OUTFILE, MySQL writes only one row into the file, without any column or line termination and without performing any escape processing. This is useful if you want to store a BLOB value in a file.

Wir haben es ausprobiert mit:

mysql> SELECT certificate INTO DUMPFILE '/tmp/certificate.bin' FROM identity WHERE id = 42;

und es hat perfekt funktioniert. Das Zertifikat-Verifizierungstool hatte nichts mehr zu meckern und wir konnten weiter nachforschen, warum das Zertifikat überhaupt ein Problem verursacht hat...

Mit diesem Befehl, welchen ich vorher noch nicht kannte, ist es sehr einfach ein einzelnes BLOB aus der Datenbank in eine Datei zu dumpen und dieses von dort aus weiter zu verarbeiten.

Zur Erinnerung: MySQL hat eine generelle Protokoll-Limitation für BLOB's von 1 Gbyte und die Grösse für max_allowed_packet muss entsprechend für den Client UND den Server angepasst werden wenn grosse BLOB's verwendet werden. Weitere Informationen über MySQL-Limitationen finden Sie hier.

Im weiteren muss der Typ des BLOB's entsprechend der erwarteten Grösse des BLOB's richtig gewählt werden. Siehe auch: Data Type Storage Requirements.

Literatur
  1. SELECT Syntax
Taxonomy upgrade extras: mysqlblobdumpselectgerman

BLOB's aus der MySQL Datenbank herausklauben

Oli Sennhauser - Fri, 2011-04-22 14:12

Ein Kunde, welcher mit digitalen Zertifikaten zu tun hat, hatte ein Problem mit einem solchen. Also mussten wir nachforschen, was das Problem war.

Weil das Zertifikat in binärer Form vorliegt, ist es in einem BLOB gespeichert und wir mussten es aus der Datenbank herausklauben um einige Tests damit durchzuführen.

Als erstes kam mir in den Sinn, das Zertifikat mit dem Befehl SELECT INTO OUTFILE zu erhalten. Aber das Verifizierungstool reklamierte und sagte uns, dass das Zertifikat ein falsches Format habe.

Zum Glück fand ich in der MySQL Dokumentation den folgenden Satz: If you use INTO DUMPFILE instead of INTO OUTFILE, MySQL writes only one row into the file, without any column or line termination and without performing any escape processing. This is useful if you want to store a BLOB value in a file.

Wir haben es ausprobiert mit:

mysql> SELECT certificate INTO DUMPFILE '/tmp/certificate.bin' FROM identity WHERE id = 42;

und es hat perfekt funktioniert. Das Zertifikat-Verifizierungstool hatte nichts mehr zu meckern und wir konnten weiter nachforschen, warum das Zertifikat überhaupt ein Problem verursacht hat...

Mit diesem Befehl, welchen ich vorher noch nicht kannte, ist es sehr einfach ein einzelnes BLOB aus der Datenbank in eine Datei zu dumpen und dieses von dort aus weiter zu verarbeiten.

Zur Erinnerung: MySQL hat eine generelle Protokoll-Limitation für BLOB's von 1 Gbyte und die Grösse für max_allowed_packet muss entsprechend für den Client UND den Server angepasst werden wenn grosse BLOB's verwendet werden. Weitere Informationen über MySQL-Limitationen finden Sie hier.

Im weiteren muss der Typ des BLOB's entsprechend der erwarteten Grösse des BLOB's richtig gewählt werden. Siehe auch: Data Type Storage Requirements.

Literatur
  1. SELECT Syntax
Taxonomy upgrade extras: mysqlblobdumpselectgerman

BLOB's aus der MySQL Datenbank herausklauben

Oli Sennhauser - Fri, 2011-04-22 14:12
Taxonomy upgrade extras: mysqlblobdumpselectgerman

Ein Kunde, welcher mit digitalen Zertifikaten zu tun hat, hatte ein Problem mit einem solchen. Also mussten wir nachforschen, was das Problem war.

Weil das Zertifikat in binärer Form vorliegt, ist es in einem BLOB gespeichert und wir mussten es aus der Datenbank herausklauben um einige Tests damit durchzuführen.

Als erstes kam mir in den Sinn, das Zertifikat mit dem Befehl SELECT INTO OUTFILE zu erhalten. Aber das Verifizierungstool reklamierte und sagte uns, dass das Zertifikat ein falsches Format habe.

Zum Glück fand ich in der MySQL Dokumentation den folgenden Satz: If you use INTO DUMPFILE instead of INTO OUTFILE, MySQL writes only one row into the file, without any column or line termination and without performing any escape processing. This is useful if you want to store a BLOB value in a file.

Wir haben es ausprobiert mit:

mysql> SELECT certificate INTO DUMPFILE '/tmp/certificate.bin' FROM identity WHERE id = 42;

und es hat perfekt funktioniert. Das Zertifikat-Verifizierungstool hatte nichts mehr zu meckern und wir konnten weiter nachforschen, warum das Zertifikat überhaupt ein Problem verursacht hat...

Mit diesem Befehl, welchen ich vorher noch nicht kannte, ist es sehr einfach ein einzelnes BLOB aus der Datenbank in eine Datei zu dumpen und dieses von dort aus weiter zu verarbeiten.

Zur Erinnerung: MySQL hat eine generelle Protokoll-Limitation für BLOB's von 1 Gbyte und die Grösse für max_allowed_packet muss entsprechend für den Client UND den Server angepasst werden wenn grosse BLOB's verwendet werden. Weitere Informationen über MySQL-Limitationen finden Sie hier.

Im weiteren muss der Typ des BLOB's entsprechend der erwarteten Grösse des BLOB's richtig gewählt werden. Siehe auch: Data Type Storage Requirements.

Literatur
  1. SELECT Syntax

Pages

Subscribe to FromDual aggregator - FromDual all (de)