Exécuter un batch avec arrêt de service

Le
fabrice
Bonjour à tous,

Dans le cadre d'un petit souci avec une base oracle, j'aurais besoin
d'éxécuter un batch avant l'arret du service de l'instance Oracle sous
windows.
Si je stoppe manuellement la base, pas de problème. Je peux exécuter moi
même le batch.

Je voudrais automatiser cela dans le cadre par exemple d'un shutdown de la
machine.
Alos je ne sais pas s'il est poissible dans l'absolu de dire à windows
d'exécuter un script batch avant de procéder à l'arret des services.
Si on met cela dans script à la fermeture de la machine dans les stratégies,
je ne sais pas si le script est exécuté avant ou après l'arret des services
de la machine.


Merci de votre aide
fabrice
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
jerome
Le #793420
"fabrice" news:ujY$
Bonjour à tous,

Dans le cadre d'un petit souci avec une base oracle, j'aurais besoin
d'éxécuter un batch avant l'arret du service de l'instance Oracle sous
windows.
Si je stoppe manuellement la base, pas de problème. Je peux exécuter moi
même le batch.

Je voudrais automatiser cela dans le cadre par exemple d'un shutdown de la
machine.
Alos je ne sais pas s'il est poissible dans l'absolu de dire à windows
d'exécuter un script batch avant de procéder à l'arret des services.
Si on met cela dans script à la fermeture de la machine dans les
stratégies, je ne sais pas si le script est exécuté avant ou après l'arret
des services de la machine.


Merci de votre aide
fabrice

Bonjour Fabrice.

Tu dis que tu as besoin de stopper ta base Oracle avant de stopper ton
serveur.
Ton script de stop de base Oracle est OK.
Il va durer X secondes, puis arretera le serveur.
De base il n'y a plus les commandes SLEEP ou WAIT comme sur les versions
clientes.
Il faut télécharger les outils du kit de ressources.
http://www.microsoft.com/downloads/details.aspx?FamilyID467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en
et dedans, il y a SLEEP.EXE !
Ne pas oublier de spécifier le répertoire "C:Program FilesWindows Resource
KitsTools" dans le path de ton système.
C:Program FilesWindows Resource KitsTools>sleep /?
Usage: sleep time-to-sleep-in-seconds
sleep [-m] time-to-sleep-in-milliseconds
sleep [-c] commited-memory ratio (1%-100%)
Puis au final, tu stoppes manuellement ton serveur: shutdown /s

Donc un script "Arret_serveur.bat"
ton script de stop service Oracle
sleep XX
shutdown -s

Voila :)
Jerome

fabrice
Le #793419
Bonjour jérome,

Merci de ta réponse.
Arreter la base avant le service, pas de souci. Tant que cela est manuel.
Mais je voudrais que cela soit vrai meme si ce n est pas moi qui arrete le
serveur.
C'est à dire que si quelqu'un fait un shutdown, que le script d'arret de la
base oracle se lance tout de suite, avant l'arret des services NT.

Je ne sais pas si je suis tres clair :-(
fabrice
"jerome" 478ddcd7$0$837$

"fabrice" news:ujY$
Bonjour à tous,

Dans le cadre d'un petit souci avec une base oracle, j'aurais besoin
d'éxécuter un batch avant l'arret du service de l'instance Oracle sous
windows.
Si je stoppe manuellement la base, pas de problème. Je peux exécuter moi
même le batch.

Je voudrais automatiser cela dans le cadre par exemple d'un shutdown de
la machine.
Alos je ne sais pas s'il est poissible dans l'absolu de dire à windows
d'exécuter un script batch avant de procéder à l'arret des services.
Si on met cela dans script à la fermeture de la machine dans les
stratégies, je ne sais pas si le script est exécuté avant ou après
l'arret des services de la machine.


Merci de votre aide
fabrice

Bonjour Fabrice.

Tu dis que tu as besoin de stopper ta base Oracle avant de stopper ton
serveur.
Ton script de stop de base Oracle est OK.
Il va durer X secondes, puis arretera le serveur.
De base il n'y a plus les commandes SLEEP ou WAIT comme sur les versions
clientes.
Il faut télécharger les outils du kit de ressources.
http://www.microsoft.com/downloads/details.aspx?FamilyID467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en
et dedans, il y a SLEEP.EXE !
Ne pas oublier de spécifier le répertoire "C:Program FilesWindows
Resource KitsTools" dans le path de ton système.
C:Program FilesWindows Resource KitsTools>sleep /?
Usage: sleep time-to-sleep-in-seconds
sleep [-m] time-to-sleep-in-milliseconds
sleep [-c] commited-memory ratio (1%-100%)
Puis au final, tu stoppes manuellement ton serveur: shutdown /s

Donc un script "Arret_serveur.bat"
ton script de stop service Oracle
sleep XX
shutdown -s

Voila :)
Jerome




jerome
Le #793212
Je crois voir l'origine de ton problème Fabrice.
Physiquement , sur ton serveur, tu ne peux pas désactiver le bouton
"démarrer / Arreter". Il faut donc que tes intervenants, lancent le batch
pour arreter le serveur.

Autre métode:
Obliger les intervenants à arreter le serveur uniquement par session TSE. Tu
peux, interdire, là, l'arret de serveur (voir stratégie locale). Ils ne
pourront que fermer leur session. Donc, pour arrêter le serveur, ils seront
onligés de passer par le batch. L'idéal, serait de créer un compte
"arretsrv" uniquement pour arrêter le serveur, avec un mot de passe
spécifique.
Après, dans l'absolu, il faudrait que tu changes le mdp admin de ton
serveur, pour être sur que personne ne s'y loggue pour l'arreter par
démarrer/arreter .....

Je pense avoir répondu plus concrétement.
Jerome

"fabrice" news:
Bonjour jérome,

Merci de ta réponse.
Arreter la base avant le service, pas de souci. Tant que cela est manuel.
Mais je voudrais que cela soit vrai meme si ce n est pas moi qui arrete le
serveur.
C'est à dire que si quelqu'un fait un shutdown, que le script d'arret de
la base oracle se lance tout de suite, avant l'arret des services NT.

Je ne sais pas si je suis tres clair :-(
fabrice
"jerome" 478ddcd7$0$837$

"fabrice" news:ujY$
Bonjour à tous,

Dans le cadre d'un petit souci avec une base oracle, j'aurais besoin
d'éxécuter un batch avant l'arret du service de l'instance Oracle sous
windows.
Si je stoppe manuellement la base, pas de problème. Je peux exécuter moi
même le batch.

Je voudrais automatiser cela dans le cadre par exemple d'un shutdown de
la machine.
Alos je ne sais pas s'il est poissible dans l'absolu de dire à windows
d'exécuter un script batch avant de procéder à l'arret des services.
Si on met cela dans script à la fermeture de la machine dans les
stratégies, je ne sais pas si le script est exécuté avant ou après
l'arret des services de la machine.


Merci de votre aide
fabrice

Bonjour Fabrice.

Tu dis que tu as besoin de stopper ta base Oracle avant de stopper ton
serveur.
Ton script de stop de base Oracle est OK.
Il va durer X secondes, puis arretera le serveur.
De base il n'y a plus les commandes SLEEP ou WAIT comme sur les versions
clientes.
Il faut télécharger les outils du kit de ressources.
http://www.microsoft.com/downloads/details.aspx?FamilyID467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en
et dedans, il y a SLEEP.EXE !
Ne pas oublier de spécifier le répertoire "C:Program FilesWindows
Resource KitsTools" dans le path de ton système.
C:Program FilesWindows Resource KitsTools>sleep /?
Usage: sleep time-to-sleep-in-seconds
sleep [-m] time-to-sleep-in-milliseconds
sleep [-c] commited-memory ratio (1%-100%)
Puis au final, tu stoppes manuellement ton serveur: shutdown /s

Donc un script "Arret_serveur.bat"
ton script de stop service Oracle
sleep XX
shutdown -s

Voila :)
Jerome








jerome
Le #793211
Autre truc que j'ai oublié.
Via les batchs, tu peux arreter toi même les services que tu désires, dans
l'ordre que tu veux, pour un arrêt super propre. (applis spécifiques)
Windows se chargera d'arrêter ses services lui même, lors de l'arrêt du
serveur.

Jerome

"fabrice" news:
Bonjour jérome,

Merci de ta réponse.
Arreter la base avant le service, pas de souci. Tant que cela est manuel.
Mais je voudrais que cela soit vrai meme si ce n est pas moi qui arrete le
serveur.
C'est à dire que si quelqu'un fait un shutdown, que le script d'arret de
la base oracle se lance tout de suite, avant l'arret des services NT.

Je ne sais pas si je suis tres clair :-(
fabrice
"jerome" 478ddcd7$0$837$

"fabrice" news:ujY$
Bonjour à tous,

Dans le cadre d'un petit souci avec une base oracle, j'aurais besoin
d'éxécuter un batch avant l'arret du service de l'instance Oracle sous
windows.
Si je stoppe manuellement la base, pas de problème. Je peux exécuter moi
même le batch.

Je voudrais automatiser cela dans le cadre par exemple d'un shutdown de
la machine.
Alos je ne sais pas s'il est poissible dans l'absolu de dire à windows
d'exécuter un script batch avant de procéder à l'arret des services.
Si on met cela dans script à la fermeture de la machine dans les
stratégies, je ne sais pas si le script est exécuté avant ou après
l'arret des services de la machine.


Merci de votre aide
fabrice

Bonjour Fabrice.

Tu dis que tu as besoin de stopper ta base Oracle avant de stopper ton
serveur.
Ton script de stop de base Oracle est OK.
Il va durer X secondes, puis arretera le serveur.
De base il n'y a plus les commandes SLEEP ou WAIT comme sur les versions
clientes.
Il faut télécharger les outils du kit de ressources.
http://www.microsoft.com/downloads/details.aspx?FamilyID467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en
et dedans, il y a SLEEP.EXE !
Ne pas oublier de spécifier le répertoire "C:Program FilesWindows
Resource KitsTools" dans le path de ton système.
C:Program FilesWindows Resource KitsTools>sleep /?
Usage: sleep time-to-sleep-in-seconds
sleep [-m] time-to-sleep-in-milliseconds
sleep [-c] commited-memory ratio (1%-100%)
Puis au final, tu stoppes manuellement ton serveur: shutdown /s

Donc un script "Arret_serveur.bat"
ton script de stop service Oracle
sleep XX
shutdown -s

Voila :)
Jerome








Publicité
Poster une réponse
Anonyme