Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/09/2007, 06h51   #1
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
Par défaut vérifier si la base tourne

Bonjour,
avec la base 8i sous Windows server 2003, je cherche à vérifier si la base tourne et sinon envoyer un mail. Avez-vous une idée ? Une solution ?
Sous unix send mail existe et je peux prendre le résultat de
Mais sous windows ?
Si la base est arrêtée je ne peux pas utiliser UTL_SMTP.
Merci d'avance.
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 10h41   #2
Rédacteur
 
Inscription : décembre 2002
Messages : 2 397
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 397
Points : 3 298
Points : 3 298
Bonjour

Sous Windows, l'instance est incarnée par le processus unique ORACLE.EXE.

Mais attention, quel que soit l'OS, le fait que le processus principal d'Oracle tourne ne veut pas dire que la base est accessible aux utilisateurs. Elle peut être par exemple en état NOMOUNT.

Donc le seul test valable est de se connecter à la base avec un compte Oracle non privilégié (pas SYSDBA).
Et si ce test de connexion échoue (parce que la base n'est pas démarrée) alors vous traitez le message d'erreur obtenu.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 11h48   #3
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
Merci,
j'ai fait un fichier.bat, je le lance quand la base est arrêté pour voir ce qu'il me rend :
Code :
1
2
3
 
sqlplus -s scott/tiger1@orcl
EXIT;
mais il reste en attent et ne ferme pas la fenêtre DOS, que je metes EXIT ou Pas.
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 13h40   #4
Rédacteur/Modérateur
 
Inscription : janvier 2005
Messages : 2 320
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 320
Points : 2 368
Points : 2 368
Bonjour,
il est possible de vérifier le code retour d'une commande sous Windows grâce à la variable : %ERRORLEVEL%

Par exemple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
 
C:\>echo %ERRORLEVEL%
C:\>d:
D:\>echo %ERRORLEVEL%
0
D:\>dire
'dire' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
 
D:\>echo %ERRORLEVEL%
9009
SI la valeur de cette variable est différente de 0, il y a eu une erreur dans la commande precedente.

Un exemple pour ce qui nous concerne :

test_1.sql
Code :
1
2
3
4
Whenever sqlerror Exit Failure
WHENEVER SQLERROR EXIT SQL.SQLCODE;
connect a/a@dvp
exit
test_connect.cmd
Code :
1
2
3
echo %ERRORLEVEL%
sqlplus /nolog @d:\test_1.sql
echo %ERRORLEVEL%
Bon courage à toi
Jaouad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 16h49   #5
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
Merci Jaouad.
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h07.


 
 
 
 
Partenaires

Hébergement Web