Abfrage ob Oracle-Dienst gestartet ist unter XP

Diskutiere Abfrage ob Oracle-Dienst gestartet ist unter XP im Programmierung Forum im Bereich Software Forum; Hi Freaks, ich brauche Eure Hilfe. Ich möchte eine Datensynchronisation automatisieren, hierfür habe ich auch schon ein entsprechendes batch-file...

Cycleman

Threadstarter
Dabei seit
06.03.2007
Beiträge
2
Hi Freaks,

ich brauche Eure Hilfe. Ich möchte eine Datensynchronisation automatisieren, hierfür habe ich auch schon ein entsprechendes batch-file erstellt. Nun ist aber das Problem, dass VOR der Synchronisation die Oracle-Datenbank gestartet sein muss, welches sich bspw. durch eine Abfrage, ob der entsprechende Oracle-Dienst gestartet ist, bewerkstelligen ließe. Wie kann ich das in einem script, welches unter WinXP laufen muss (also am besten ein batch oder etwas, was man in den batch einbetten kann) abfragen, wie kann ich per Skriptabfrage herausbekommen, ob der Oracle-Dienst gestartet ist? Es handelt sich im Übrigen um Ora 10gR2 Std.Ed. und WinXP SP2.

Über Tipps, Skripte und Hilfe würde ich mich freuen. :aah

MfG

Cycleman
 

BrandyJr

Dabei seit
02.11.2003
Beiträge
3.707
Alter
39
Ort
Berlin
Also ganz blauäugig würde ich das jetzt in der Batch mit
net start DIENSTNAME
machen...
Da wird halt versucht den Dienst nochmal zu starten.
Wenn du dann noch eine weitere Auswertung brauchst, kannst du noch den ERRORLEVEL abfragen den net start dann rausgibt.
0 - Dienst erfolgreich gestartet (Dienst war also vorher nicht aktiv)
1 - Fehler beim Starten des Dienstes
2 - Dienst war bereits gestartet (keine Änderung)
 

automatthias

vernunftgeplagt
Dabei seit
21.04.2006
Beiträge
11.085
Mit dem Hilfsprogramm SC kann man gezielt Dienste starten/stoppen oder abfragen. Aber leider nur interaktiv, also nicht direkt in einem Skript verwendbar.

Ich glaube, ich hatte mal ein Programm geschrieben, mit dem man den Status eines Dienstes abfragen kann. Wenn ich heute nachmittag Zeit habe, werde ich mal ein paar alte CDs danach absuchen. :-)

Ansonsten müsste es so funktionieren, wie BrandyJr es vorgeschlagen hat.
Du solltest aber dem Dienst nach dem Start ein wenig Zeit lassen. Je nachdem, was auf der Kiste läuft, kann das ein paar Sekunden dauern, bis der Dienst wikrlich nutzbar ist. Also am besten nach dem Start eine kleine Warteschleife "sleep 5" oder so einbauen (Hinweis: sleep ist kein XP-Kommando)
 

J.A.M.

Dabei seit
20.09.2004
Beiträge
341
Alter
43
@BrandyJr
Gerade Oracle macht enorme Probleme wenn man versucht den Dienst zu starten obwohl er schon läuft (weiß ich leider aus Erfahrung :pfeifen ).

Der sichere Weg wäre vorher den Dienst zu stoppen und dann direkt wieder zu starten (net stop .... net start .....)

Ich hatte damals mal ein Batchscript für die Datensicherung (Dumperstellung und komprimierung des Dumps) erstellt! Da hatte ich dem Umweg gehen müssen erst den Oracle Dienst beenden müssen und dann neu starten damit das alles auf der sichern Seite war.


Greets
JAY
 

automatthias

vernunftgeplagt
Dabei seit
21.04.2006
Beiträge
11.085
Programm zum Testen, ob ein Service läuft

Es ist zwar noch nicht Nachmittag ;-)
Aber ich habe das Programm gefunden. In der beigefügten Textdatei steht, wie´s gemacht wird. Getestet habe ich diese Version nur unter XP bzw. NT4.

In dieser Version sind die benötigten Microsoft-Runtime-Libraries MSVC*** o.ä. nicht mit hinein gelinkt, um Platz zu sparen. Bei Bedarf kann ich eine Variante mit eingebundenen Bibliotheken ausgeben, aber die ist dann ca 200KB groß. Man kann sich die Runtimes auch offiziell irgendwo herunter ziehen (bei MS nach vcredist_x86.exe suchen).
http://www.microsoft.com/downloads/...FamilyID=32BC1BEE-A3F9-4C13-9C99-220B62A191EE

Selbstverständlich OHNE GEWAEHR !


Nachtrag: das Programm läuft offenbar auch unter Vista, wie aus gut unterrichteten Kreisen zu hören ist :-)
 

Anhänge

  • testservice_1005.zip
    7,3 KB · Aufrufe: 254
Zuletzt bearbeitet:
Thema:

Abfrage ob Oracle-Dienst gestartet ist unter XP

Oben