sql >> Databasteknik >  >> RDS >> Mysql

Hur hanterar man databaskrascher (Glassfish/MySQL)?

A) Se till att du konfigurerar Glassfish Connection Pool för automatisk återställning/återanslutning

I Glassfish JDBC-anslutningspoolens konfiguration, ställ in värdena för:

  • Attribut:is-connection-validation-required, validate-atmost-once-period-in-seconds, connection-creation-retry-attempts, connection-validation-method, connection-creation-retry-interval-in-seconds, ping

Glassfish Configuration jdbc-connection -poolegenskaper
Glassfisk Admin - create-jdbc-connection-pool underkommando

Steg:

  1. Förutsatt att Glassfish körs (t.ex. starta servern på fliken Netbeans Services, genom att öppna Servrar och högerklicka på Glassfish), så bör du ha domänadministratörsservern igång
  2. Öppna administratörskonsolen i webbläsaren:http://localhost:4848 (eller använd vilken port du angav under installationen.
  3. Till vänster, under menyn Vanliga uppgifter, öppna Resurser -> JDBC och klicka på JDBC Connection Pools
  4. Klicka på din anslutningspool POOLNAMN (eller skapa en ny genom att klicka på knappen Ny)
  5. Välj flik Avancerat och Retur:
  6. Validera högst en gång:(t.ex. 60) på sekunder
  7. Försök att skapa igen:(t.ex. 3)
  8. Återförsöksintervall:(t.ex. 10) i sekunder
  9. Anslutningsvalidering:(Bocka) krävs
  10. Verifieringsmetod:(t.ex. auto-commit)
  11. Andra avancerade egenskaper efter önskemål
  12. Välj fliken Allmänt och Retur:
  13. Pinga (Tick)
  14. Andra allmänna egenskaper efter önskemål

B) Implementera hantering av programfel / DB-övervakning och varningar

  1. Obligatoriskt:fånga fatala användarfel på "infrastrukturnivå" och varna supportpersonal.

    Skapa en enkel JMX-klass för att skicka ett meddelande och anropa dess metod när ett allvarligt fel inträffar JMX MBean Class som skickar meddelanden . Du kan använda en JMX-monitorkonsol för att observera servrarnas tillstånd - vissa av dessa konsoler skickar e-postvarningar (t.ex. JManage och RHQ) och det finns bryggor för åtkomst från HTTP/AJax eller andra språk (t.ex. Jolokia kan använda javascript/perl/java API för att komma åt JMX-aviseringar).

    Använd Google Calendar API för att skicka felmeddelandet till supportpersonalens Google-kalender (1 eller 2 minuter in i framtiden). Konfigurera sedan google kalender för att skicka e-post/sms-aviseringar - ger felvarning direkt till supportpersonal i nästan realtid. Detta är föremål för Googles användningsbegränsningar (en artighetsgräns på 10 000 frågor per dag, så se till att dina appar inte är superbuggiga och använd logik för att begränsa antalet meddelanden som skickas under en timme/dag/vecka)

  2. Önskvärt:övervaka DB (och förmodligen appserver) och varna supportpersonal om avbrott

    • Zabbix open source har inbyggd mySQL-övervakning och varning - är lätt men kräver inställningar och konfiguration
    • Hyperic open source har tilläggsplugin-program för mySQL-övervakning och inbyggd varning - är tung, kan vara komplicerad att ställa in och konfigurera
    • Nagois öppen källkod är standard för *nix OS - är tung, kan vara komplicerad att ställa in och konfigurera

    I alla fall kommer installationen inte att ske omedelbart - bäst att implementera som ett separat miniprojekt och göra det rätt - bäst att ha supportpersonal involverad i detta.

    Om dessa är "utanför omfånget", skapa din egen enkla monitor:

    • En EJB-timer för att köra schemalagd enkel testfråga mot din DB - om den misslyckas skicka en varning (via JMX/Google Calendar/Java Mail/SMS gateway API). Eller använd Quartz open source-schemaläggare för att göra samma jobb


  1. Hur skapar man localhost-databas med mysql?

  2. Hur man hittar när MySQL/MariaDB-servern startades

  3. SQLServer vs StateServer för ASP.NET Session State Performance

  4. INSERT INTO med SubQuery MySQL