sql >> Databáze >  >> RDS >> Mysql

Jak řešit pády databáze (Glassfish/MySQL)?

A) Ujistěte se, že jste nakonfigurovali Glassfish Connection Pool pro automatické obnovení/znovu připojení

V konfiguraci fondu připojení Glassfish JDBC nastavte hodnoty pro:

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

Konfigurace Glassfish jdbc-connection -vlastnosti bazénu
Glassfish Admin - dílčí příkaz create-jdbc-connection-pool

Kroky:

  1. Za předpokladu, že je spuštěný Glassfish (např. spusťte server na kartě Netbeans Services otevřením Servery a kliknutím pravým tlačítkem myši na Glassfish), měli byste mít spuštěný server pro správu domény
  2. Otevřete administrátorskou konzoli ve webovém prohlížeči:http://localhost:4848 (nebo použijte jakýkoli port, který jste určili během instalace.
  3. Vlevo v nabídce Common Tasks otevřete Zdroje -> JDBC a klikněte na JDBC Connection Pools
  4. Klikněte na NÁZEV fondu připojení (nebo vytvořte nový kliknutím na tlačítko Nový)
  5. Vyberte Rozšířená karta a zadejte:
  6. Ověřit maximálně jednou:(např. 60) v sekundách
  7. Pokusy o opakování vytvoření:(např. 3)
  8. Interval opakování:(např. 10) v sekundách
  9. Ověření připojení:(zaškrtnutí) povinné
  10. Metoda ověření:(např. automatické potvrzení)
  11. Další pokročilé vlastnosti podle potřeby
  12. Vyberte kartu Obecné a zadejte:
  13. Ping (Tick)
  14. Další obecné vlastnosti podle potřeby

B) Implementujte zpracování chyb aplikací / DB Monitoring &Alerts

  1. Povinné:zachyťte fatální chyby uživatelů „na úrovni infrastruktury“ a upozorněte pracovníky podpory.

    Vytvořte jednoduchou třídu JMX pro odesílání upozornění a volání její metody, když dojde k závažné chybě JMX MBean Class, která odesílá upozornění . Ke sledování stavu serverů můžete použít monitorovací konzoli JMX – některé z těchto konzolí odesílají e-mailová upozornění (např. JManage a RHQ) a existují mosty pro přístup z HTTP/AJax nebo jiných jazyků (např. Jolokia můžete použít javascript/perl/java API pro přístup k oznámením JMX).

    Použijte Google Calendar API k odeslání chybové zprávy do kalendáře google pracovníků podpory (1 nebo 2 minuty do budoucnosti). Poté nakonfigurujte kalendář Google tak, aby zasílal e-mailová/sms upozornění – upozorní na chybu přímo pracovníky podpory v téměř reálném čase. Toto podléhá omezením používání Google (zdvořilostní limit 10 000 dotazů za den, takže se ujistěte, že vaše aplikace nejsou superbuggy a pomocí logiky omezte počet zpráv odeslaných za hodinu/den/týden)

  2. Žádoucí:monitorovat DB (a pravděpodobně aplikační server) a upozornit pracovníky podpory na výpadky

    • Open source Zabbix má vestavěné monitorování a upozornění mySQL – je lehký, ale vyžaduje nastavení a konfiguraci
    • Hyperický open source má rozšiřující zásuvné moduly pro monitorování mySQL a vestavěné upozornění – je těžký, jeho nastavení a konfigurace může být složitá
    • Otevřený zdroj Nagois je výchozím nastavením pro *nix OS – je těžký, jeho nastavení a konfigurace může být složitá

    Ve všech případech k nastavení nedojde okamžitě – nejlépe je implementovat jako samostatný mini projekt a udělat to správně – nejlépe, když se do toho zapojí podpůrný personál.

    Pokud jsou tyto „mimo rozsah“, vytvořte si vlastní jednoduchý monitor:

    • Časovač EJB pro spuštění naplánovaného jednoduchého testovacího dotazu proti vaší DB – pokud selže, pošlete upozornění (prostřednictvím rozhraní API JMX/Google Calendar/Java Mail/SMS brány). Nebo použijte Quartz open source plánovač k provedení stejné práce


  1. Co dělá (+) v Oracle SQL?

  2. JSON_VALID() – Test na platný JSON v MySQL

  3. Zřetězení řetězce a ID primárního klíče při vkládání

  4. Importujte soubory XML do PostgreSQL