Frage zu DB-Link

er nu wieder… (jaja, der hat immer fragen…)

also, ich habe ein Script gebastelt, das alle 1Sec. einen Datumseintrag in eine Tabelle schreibt.

es würde so laufen das das script auf der einen DB läuft und in die Tabelle auf der anderen DB schreibt
hintergrund ist der Vorwurf das eine Applikation abbricht weil ein netzwerkabruch stattfindet.

DECLARE

c_Abort constant date := sysdate + 1;
c_SEC constant number := 1/86400*1;

d_next date;

v_stmt varchar2(4000) := ‚insert into test values (sysdate)‘;
BEGIN
while( sysdate

hintergrund ist der Vorwurf das eine Applikation abbricht weil
ein netzwerkabruch stattfindet.

naja, wenn’s wirklich nur darum geht, einen netz-totalausfall zu beweisen, reicht auch ein stinknormales ping

einfach ein
ping -t -l 500 hostname > protokoll.txt
von der eingabeaufforderung aus eingeben (obiges kommando gilt für dos/windows! unter unix ist der Parameter -t nicht notwendig).

das system setzt nun jede sekunde ein ping mit 500 Byte länge gegen den angegebenen rechner ab. 500 byte desshalb, um das netz etwas mehr zu belasten - normale ping-pakete sind so kurz, dass man kleinere netzprobleme ev. nicht sofort sieht. die ausgabe des ping-befehls wird in eine datei umgeleitet, die natürlich von sekunde zu sekunde wächst. das ganze ruft man auf und lässt es eine zeit lang laufen. danach bricht man mit strg-c ab und öffnet die datei mit einem editor, der auch mit langen dateien klarkommt.

ping liefert eine fortlaufende nummer für die datenpakete sowie eine laufzeit, wielange das pakte gebraucht hat. mögliche netzprobleme können sich wie folgt äussern:

  • einzelne pakete fehlen ohne weiteren kommentar - auf paket 13 folgt also z.b. paket 15. ein zeichen dafür, dass das netz einzelne pakete einfach verwirft. ist meist eine fehlkonfiguration eines routers o.ä.
  • laufzeit einzelner pakete überproportional lang. optimalerweise sollte ein ping weniger als 10 ms dauern. zeiten über 100 ms sind ein zeichen für netzüberlastung.
  • timeout bei einzelnen paketen. wenn die laufzeit eines pakets eine maximalzeit überschreiten (unter windows defaultmässig 1 s, kann aber eingestellt werden), wird abgebrochen und das nächste paket gesendet. kann auf überlastung des systems hinweisen.
  • hostname nicht gefunden. das system kann nicht einmal den hostnamen über dns auflösen. hinweis auf totalausfall des netzes. meist fehler im router.
  • pakete werden doppelt zugestellt. da ist feuer am dach. der router ist falsch eingestellt und verdoppelt jedes paket (das dann wiederum verdoppelt wird). innerhalb kurzer zeit ist das gesammte system überlastet.

aber achtung: die pakete, die von ping abgesetzt werden, habe extrem niedrige priorität im system. bei überlastung werden diese pakete als erste verworfen. es kann also sein, dass ping probleme meldet, obwohl das system noch halbwegs stabil läuft.

andererseits sind die ping-pakete relativ kurz. es kann also sein, dass das system die kurzen pakete noch fehlerfrei zustellt (ping also gute antwortzeiten anzeigt), das system aber bereits lahmt. dem kann man mit grösseren paketgrössen entgegen wirken. übergrosse pakete belasten aber das system und verfälschen die messung derart, dass sie unbrauchbar wird.

wenns dir aber auch um die verfügbarkeit der datenbank geht, ist deine idee gar nicht so schlecht. profi-tools machen im prinzip auch nichts anderes, nur dass die halt die laufzeiten genauer messen und das ganze schöner auswerten können.

erwin

Hallo Erwin,

ich hatte mich etwas ungenau ausgedrückt, sorry.

also das mit dem normalen ping ist schon gemacht worden, dann haben die noch einen drauf gesetzt und das ganze mit nem tnsping gemacht…

um jetzt aber wirklich zu beweisen das die beiden datenbanken immer nett miteinander kommunizieren hatte ich mir die lösung überlegt.

danke für deine Aussage, mein Script betreffend.

evtl. kann ich das doch testen, ein kollege hat noch eine DB, da werde ich mal einen test einrichten…

Grüße

chris