602SQL-┌plnß dokumentace Index   Tisk  

Provoz sdφlen²ch aplikacφ

Replikovßnφ mezi servery lze °φdit na dvou ·rovnφch: na meziserverovΘ komunikaΦnφ ·rovni a na ·rovni konkrΘtnφ sdφlenΘ aplikace. P°i normßlnφm provozu replikace ₧ßdnΘ explicitnφ °φzenφ nevy₧adujφ.

╪φzenφ komunikace mezi servery

Servery si mezi sebou zasφlajφ oΦφslovanΘ replikaΦnφ pakety a vracejφ si potvrzenφ o zpracovßnφ paketu. Protokol komunikace je navr₧en tak, ₧e by nem∞l doznat ·hony ani p°i opakovan²ch ztrßtßch paket∙, ztrßtßch potvrzenφ, vφcenßsobnΘm doruΦenφ stejnΘho paketu nebo zm∞n∞ po°adφ zßsilek. Ka₧d² sm∞r komunikace je zajiÜt∞n nezßvisle.

Operace °φdφcφ komunikaci mezi servery smφ provßd∞t pouze sprßvce databßze.

Zapnutφ a vypnutφ replikacφ

Replikovßnφ se zapφnß nebo vypφnß v dialogovΘm okn∞ pro nastavenφ parametr∙ replikacφ na ╪φdicφ konzoli SQL serveru. Stav tohoto p°epφnaΦe se pamatuje a vypnete-li server se zapnut²mi replikacemi, bude replikovßnφ automaticky zahßjeno p°i op∞tovnΘm spuÜt∞nφ serveru.

Parametry replikacφ

Parametry replikovßnφ se nastavujφ v dialogovΘm okn∞ zmφn∞nΘm v p°edchozφm odstavci. Lze nastavit PoΦet replikaΦnφch vlßken v rozmezφ 1 a₧ 10. Tento parametr urΦuje, kolik replikaΦnφch paket∙ m∙₧e serverem b²t zpracovßvßno (Φteno nebo vytvß°eno) soub∞₧n∞. Pokud neprobφhajφ replikace enormnφho mno₧stvφ dat, postaΦφ nastavit parametr na hodnotu 1. Dßle lze nastavit Periodu prohlφ₧enφ replikaΦnφch plßn∙. Udßvß poΦet minut, po nich₧ se prohlΘdnou sdφlenΘ aplikace a zjistφ se, zda pro n∞kterou nenastala doba pro generovßnφ replikaΦnφho paketu (podle nastavenφ v ReplikaΦnφch pravidlech). Zßrove≥ se prohlΘdne fronta (poÜtovnφ adresa û poÜtovnφ schrßnka nebo adresß° podle zp∙sobu replikace), ne-jsou-li v nφ doÜlΘ replikaΦnφ pakety od prot∞jÜφho serveru. Pro Direkt IP toto nastavenφ neplatφ û provßdφ se okam₧it∞.

Dßle je mo₧nΘ zapnout podrobn∞jÜφ sledovßnφ replikacφ a reagovßnφ na n∞: pomocφ Φtverce Logovat do tabulky lze zapnout zapisovßnφ informacφ o chybßch p°i replikaci do systΘmov²ch tabulek v aplikaci _SYSEXT. Pomocφ Φtverce SpouÜt∞t triggery lze zapnout systΘmov²ch trigger∙ v aplikaci _SYSEXT spouÜt∞n²ch jako rekce na replikovßnφ.

TechnickΘ detaily meziserverovΘ komunikace

Äßdn² server nezaΦne vytvß°et dalÜφ replikaΦnφ paket, dokud neobdr₧el potvrzenφ o zpracovßnφ p°edchozφho paketu. Dokud nedojde potvrzenφ, server si dr₧φ kopii naposled zaslanΘho paketu a je schopen jej poslat opakovan∞. Je-li server znepokojen tφm, ₧e nedostal potvrzenφ o zpracovßnφ zaslanΘho paketu, vyÜle dotaz na stav komunikace. Zjistφ-li, ₧e se paket ztratil, poÜle jej znovu.

Monitorovßnφ replikacφ

Zßkladnφ informaci o stavu komunikace s urΦit²m serverem lze nalΘzt na zßlo₧ce Popis pro replikaΦnφ server vybran² ve st°ednφ oblasti °φdicφho panelu. Zßlo₧ka obsahuje adresy serveru, po°adovΘ Φφsla poslednφho p°ijatΘho a odeslanΘho paketu a p°φznak, zda replikaΦnφ paket naposled odeslan² tomuto serveru byl ji₧ potvrzen. Potvrzenφ poslednφho odeslanΘho paketu mß klφΦov² v²znam, proto₧e pokud nedoÜlo, nelze zaΦφt vytvß°et dalÜφ paket.

Pr∙b∞h replikacφ se vÜemi servery lze detailn∞ monitorovat v okn∞ serveru (resp. jinΘm logu serveru), pokud je zapnuto trasovßnφ replikacφ. Do logu se vypisujφ veÜkerΘ informace o vytvß°en²ch a odesφlan²ch paketech, vΦetn∞ zahßjenφ vytvß°enφ t∞ch paket∙, kterΘ nebudou odeslßny, proto₧e se zjistφ, ₧e v databßzi nenastaly ₧ßdnΘ zm∞ny, kterΘ by se m∞ly replikovat, dßle se zapisujφ informace o replikaΦnφch konfliktech, o duplicitßch apod.

Resynchronizace replikujφcφch server∙

Komunikovßnφ mezi servery nevy₧aduje ₧ßdnΘ zßsahy u₧ivatel∙ a p°i chybßch se obnovu-je automaticky. Pro absolutnφ jistotu vÜak bylo p°idßno "tlaΦφtko poslednφ zßchrany". Provedenφm akce Synchronizovat pro vybran² replikaΦnφ server se zahßjφ replikovßnφ s tφmto serverem "od nuly" bez ohledu na momentßlnφ stav. P°itom se p°ereplikuje cel² obsah sdφlen²ch tabulek ve vÜech sdφlen²ch aplikacφch.

╪φzenφ komunikace pro urΦitou aplikaci

Pro ka₧dou aplikaci sdφlenou s urΦit²m serverem je v replikaΦnφch pravidlech nastavena replikaΦnφ perioda, tj. Φas, po kterΘm se vytvo°φ ze zm∞n∞n²ch ·daj∙ ve sdφlen²ch tabulkßch dalÜφ replikaΦnφ paket a odeÜle se prot∞jÜφmu serveru. Vytvß°enφ replikaΦnφho paketu se pozdr₧φ, pokud dosud nedorazilo potvrzenφ o zpracovßnφ p°edchozφho paketu.

Mimo tyto pravidelnΘ replikace u₧ivatel nebo aplikaΦnφ program m∙₧e provΘst tyto akce:

U₧ivatel m∙₧e tyto akce provΘst z °φdicφho panelu tak, ₧e oznaΦφ aplikaci a provede akci Replikovat tam nebo Replikovat sem a ze seznamu server∙, sdφlejφcφch tuto aplikaci, vybere cφlov² server a stiskne tlaΦφtko OK.

Program provede stejnΘ akce volßnφm funkce Areplicate (s interaktivnφm v²b∞rem server∙) nebo funkce Replicate (pro zvolen² server) nebo se pou₧ijφ obdobnΘ standardnφ akce (Replikovat aplikaci a Odeslat ₧ßdost o replikaci)

Synchronizace replikacφ v aplikaci

Na rozdφl od akce Synchronizovat, kterß se provßdφ pro vÜechny sdφlenΘ aplikace p°ereplikovßnφm obsahu vÜech sdφlen²ch tabulek, m∙₧e b²t obΦas pot°eba pon∞kud mΘn∞ siln² nßstroj. Je-li t°eba prohlßsit aktußlnφ stav sdφlenΘ aplikace za takov², ₧e nßsledujφcφ replikace nic nesmφ p°enΘst, lze provΘst akci Vypustit replikaci. Tato akce upravφ internφ ΦφtaΦ zm∞n v replikovan²ch tabulkßch do toho stavu, ₧e generovßnφ dalÜφho replikaΦnφho paketu skonΦφ s tφm, ₧e nenφ co replikovat.Tento stav m∙₧e nastat nap°. p°i importu dat apod.

Program provede stejnΘ akce volßnφm funkce ASkip_repl (s interaktivnφm v²b∞rem server∙) nebo funkce Skip_repl pro zvolen² server.