Oracle startup mit NT-Batch

Hallo zusammen,

ich moechte meine Oracle-DB mit Hilfe eines Doppelklicks auf dem NT-Desktop starten und runterfahren. Also muss ein Batch her, das mit „cmd“ anfaengt. Die Frage ist allerdings, wie ich im Batchskript den Servermanager aufrufe, mich anmelde, die Instanz hoch-/ herunterfahre und die DOS-Box wieder verlasse.

Wer keine Ahnung von Oracle hat, aber weiss wie so ein Job geschrieben wird koennte mir nach folgenden Angaben vielleicht auch helfen. Der Batchjob sollte folgende ‚Eingaben‘ vornehmen:

  1. Windowstaste + R
  2. cmd
  3. svrmgrl
  4. connect / as sysdba
  5. shutdown abort
  6. exit
  7. exit

Vielen Dank fuer eure Hilfe.

Gruss Janus

PS: Ich denke, man haette dies auch am NT-Brett posten koennen. Dort duerfte aber die Oracle-Erfahrung nicht so ausgepraegt sein.

Hallo Janus!

Zwei Ideen:

  1. Oracle-Service rauf und runterfahren, müßte dasselbe machen, oder? Geht einfach mit:

net start Servicename
net stop Servicename

  1. Umlenkung der Eingabe, du machst eine Datei die so aussieht:

connect / as sysdba
shutdown abort
exit

svrmgrl rufst du so auf (wobei input.txt die obige Datei ist):

svrmgrl

besten dank
besten dank dafuer.

gruss janus

Hallo Janus!

Zwei Ideen:

  1. Oracle-Service rauf und runterfahren, müßte dasselbe
    machen, oder? Geht einfach mit:

net start Servicename
net stop Servicename

Das ist absolut ruppig (entspricht dem Ausschalten des Computers ohne Windows herunterzufahren) und sollte nicht gemacht werden. Funktionieren tut es trotzdem, da Oracle sich dann wieder berappt und beim Hochfahren ein Database Recovery durchführt.

  1. Umlenkung der Eingabe, du machst eine Datei die so
    aussieht:

connect / as sysdba
shutdown abort
exit

Das wäre OK, aber… benenne sie *.sql, und Du hast ein SQL-Skript.

svrmgrl rufst du so auf (wobei input.txt die obige Datei ist):

svrmgrl

> Warum so umständlich?

Weil ich wenig Ahnung solchen Dingen mit Oracle habe … :o)

Wegen dem Service, muß das nicht reichen, das Service runterzufahren?

Ich meine, wir fahren unsre Entwicklungs-Server mit Oracle drauf auch einfach runter ohne was explizit zu beenden, sondern gehen einfach davon aus, dass das Service automatisch beendet und Oracle damit runtergefahren wird.

Unsre Datenbank-Crew hat uns zumindest noch nie dafür geschlagen. :smile:

Grüße, Robert

Ich meine, wir fahren unsre Entwicklungs-Server mit Oracle
drauf auch einfach runter ohne was explizit zu beenden,
sondern gehen einfach davon aus, dass das Service automatisch
beendet und Oracle damit runtergefahren wird.

Intern macht das dasselbe wie „shutdown abort“ - d.h., Service, beende dich - Datenverlust hin oder her. Die Datenbank bleibt im inkonsistenten Zustand; meistens (eigentlich immer, aber who knows…) wird sie aus den Log-Informationen wiederhergestellt.

Unsre Datenbank-Crew hat uns zumindest noch nie dafür
geschlagen. :smile:

Naja, bis zu dem Tag, an dem die Wiederherstellung scheitert. Und dann kriegt Ihr bestimmt zu hören: Was? Wie fahrt Ihr den Server runter? Ihr Schlingel (watsch, watsch!)

Gruß

J.

P.S. Bin für 3 Wochen weg

Hallo José!

Intern macht das dasselbe wie „shutdown abort“ - d.h.,
Service, beende dich - Datenverlust hin oder her. Die
Datenbank bleibt im inkonsistenten Zustand; meistens
(eigentlich immer, aber who knows…) wird sie aus den
Log-Informationen wiederhergestellt.

Hmmmm, da stehe ich auf der Leitung. Wenn Service runterfahren dasselbe macht wie das shutdown abort, dann ist die andre Lösung mit dem SQL Skript auch nicht sauber?

Und wie fährt man die DB dann sauber runter?

Grüße, Robert

Hab schon :o)
Da gibts im Technet einen Artikel „Startup and Shutdown“, da ist das beschrieben, „shutdown normal“ wäre der richtige Weg. :o)

Naja, bis zu dem Tag, an dem die Wiederherstellung scheitert.
Und dann kriegt Ihr bestimmt zu hören: Was? Wie fahrt Ihr den
Server runter? Ihr Schlingel (watsch, watsch!)

Ich bilde mir ein, dass die das auch so machen. Naja, werd sie mal darauf ansprechen. :smile:

Grüße, Robert

Mit „Shutdown abort“ werden knallhart die instanzen zugemacht !
wenn irgendwas noch auch der datenbank passiert, z.B irgend ein Datenimport der kein „commit“ setzt läuft sind diese daten einfach weg ! Die sicherste methode die oracle runter zu fahren ist „shutdown immediate“. das bewirkt das saubere abhängen der DB Instanzen, der befehl wartet auch bis alle user zugriffe beendet sind.

Und zu meinem Vorrednern, Leute Oracle ist auf jedenfall eine ganze menge mehr als ein „NT Dienst“ !!!

hier ein Beispiel:
stop.bat
*************************
e:
svrmgr30 @e:\orant\database\stop.sql
exit
*************************
stop.sql
*************************
set echo on
connect INTERNAL/system
shutdown immediate
exit
*************************

Gruss Dennis

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,
ein wenig verspätet wg. Urlaub :smile:))

Hmmmm, da stehe ich auf der Leitung. Wenn Service runterfahren
dasselbe macht wie das shutdown abort, dann ist die andre
Lösung mit dem SQL Skript auch nicht sauber?

Ups, ja, copy and paste. Im Script sollte dann schon „shutdown immediate“ statt „shutdown abort“ stehen. Ich habe Deine Nachricht oben gelesen: ja, shutdown normal ist empfohlen. Ist aber irgend ein Dödel eingeloggt und hat eine Transaktion offen, verhindert er damit Dein shutdown. Also lieber immediate.

Gruß

J.

Mit „Shutdown abort“ werden knallhart die instanzen zugemacht
!

Mein ich doch - ich habe Robert unten bereits geantwortet.

Gruß

J.

ein wenig verspätet wg. Urlaub :smile:))

Du hasts gut. :smile:

Ich habe Deine
Nachricht oben gelesen: ja, shutdown normal ist empfohlen. Ist
aber irgend ein Dödel eingeloggt und hat eine Transaktion
offen, verhindert er damit Dein shutdown. Also lieber
immediate.

Aso, verstehe. :o)

Grüße, Robert