Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels 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 15/03/2007, 10h20   #1
Invité régulier
 
Inscription : février 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 49
Points : 9
Points : 9
Par défaut Kill de process serveur

Bonjour a tous, voila j'ai un ti script ksh que je dois réalisé. Un shutdown immediate d'une base ne fonctionne pas, il s'agirait de users utilisant des db_links qui empêchent l'arrêt normal de la base. Même si leur session sql plus arrive a être killé, le process serveur qui leur est alloué sur l'instance lui ne se libére pas et nous empêche d'arreter la base, hormis en faisant un shutdown abort.

J'aimerai donc savoir si il existe un moyen de reperer et donc d'identifier un process serveur(concernant ces users) en particulier et d'ensuite pouvoir le kill au sein d'un script.

Merci.
D_light est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 18h47   #2
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Un shutdown immediate fonctionne, quelque soit l'utilisation de db_link ou non.

Après, s'il ne fonctionne effectivement pas, c'est un bug.
Par contre, étant donné que c'est un arrêt propre, il peut prendre du temps.

Faire un script (de sauvegarde à froid, je présume) qui fait un shutdown abort est une hérésie.
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 19h07   #3
Membre actif
 
Inscription : septembre 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 142
Points : 156
Points : 156
avec les tables v$processes et v$session tu peux recuperer les pid des process unix ouvert n'ayant plus de sessions attaché. Ensuite tu fait un kill -9 de ces process.

Mais effectivement l'arrêt propre d'une base peut prendre pas mal de temp
__________________
DBA ORACLE
Arturius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 08h37   #4
Membre éclairé
 
Avatar de Wurlitzer
 
Inscription : avril 2006
Messages : 465
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 465
Points : 368
Points : 368
Un arret propre peut prendre tellement de temps que parfois il se bloque. En tout cas c'etait la cas en 8i et 9i.

Il m'est souvent arrivé de faire (et de voir fait par d'autre) la sequence

Code :
1
2
3
4
 
shutdown abort
startup
shutdown immediate
pour d'une part éviter un blocage et d'autre part avoir un arret propre qui permet une sauvegarde à froid
Wurlitzer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 10h11   #5
Invité régulier
 
Inscription : février 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 49
Points : 9
Points : 9
Merci pour ces infos en effet, on va faire ça sous forme de plusieurs scripts dont un en arriére plan pr surveiller si le shutdown immediate passe, si il ne passe pas
shutdown abort
startup restrict
recover
et shutdown immediate.


Merci encore.
D_light est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 16h34   #6
Invité de passage
 
Inscription : mars 2007
Messages : 4
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : mars 2007
Messages : 4
Points : 2
Points : 2
Bonjour a tous, une réponse a la question originale, des fois que quelqu'un tombe sur ce post a coup de moteur de recherche ...

Code :
1
2
SELECT s.MACHINE, s.OSUSER,s.PROCESS "CLIENTPID", b.spid "SERVERPID", s.USERNAME USERNAME FROM v$session s, v$process b
WHERE b.addr=s.paddr;
Voilà messieurs.

Edit : Attention aux serveurs configurés en MTS !
Bizen-Ya est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 16h41   #7
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par D_light
Merci pour ces infos en effet, on va faire ça sous forme de plusieurs scripts dont un en arriére plan pr surveiller si le shutdown immediate passe, si il ne passe pas
shutdown abort
startup restrict
recover
et shutdown immediate.


Merci encore.
le recover est fait lors du startup, automatiquement... donc pas la peine de faire cette étape
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h05.


 
 
 
 
Partenaires

Hébergement Web