<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://knowledge.pinon-hebert.fr/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Connections_oracle</id>
	<title>Connections oracle - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Connections_oracle"/>
	<link rel="alternate" type="text/html" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Connections_oracle&amp;action=history"/>
	<updated>2026-05-19T18:12:06Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Connections_oracle&amp;diff=949&amp;oldid=prev</id>
		<title>Jpinon : Page créée avec « Comment gérer les connections des utilisateurs a une base Oracle. == Liste des utilisateurs connectés == Comment récupérer la liste des utilisateurs connectés à un schéma donné sur une base Oracle Donnée. (Dans cet exemple on cherche les utilisateurs connectés au schema &#039;jean&#039;)      export ORACLE_SID=dbname     sqlplus / as sysdba      select sid, serial# from v$session where upper(username)=upper(&#039;jean&#039;);        SID    SERIAL#     ---------- ----------... »</title>
		<link rel="alternate" type="text/html" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Connections_oracle&amp;diff=949&amp;oldid=prev"/>
		<updated>2025-02-27T22:15:47Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « Comment gérer les connections des utilisateurs a une base Oracle. == Liste des utilisateurs connectés == Comment récupérer la liste des utilisateurs connectés à un schéma donné sur une base Oracle Donnée. (Dans cet exemple on cherche les utilisateurs connectés au schema &amp;#039;jean&amp;#039;)      export ORACLE_SID=dbname     sqlplus / as sysdba      select sid, serial# from v$session where upper(username)=upper(&amp;#039;jean&amp;#039;);        SID    SERIAL#     ---------- ----------... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Comment gérer les connections des utilisateurs a une base Oracle.&lt;br /&gt;
== Liste des utilisateurs connectés ==&lt;br /&gt;
Comment récupérer la liste des utilisateurs connectés à un schéma donné sur une base Oracle Donnée. (Dans cet exemple on cherche les utilisateurs connectés au schema &amp;#039;jean&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    export ORACLE_SID=dbname&lt;br /&gt;
    sqlplus / as sysdba&lt;br /&gt;
&lt;br /&gt;
    select sid, serial# from v$session where upper(username)=upper(&amp;#039;jean&amp;#039;);&lt;br /&gt;
       SID    SERIAL#&lt;br /&gt;
    ---------- ----------&lt;br /&gt;
       733       6738&lt;br /&gt;
&lt;br /&gt;
Ici une connexion existe.&lt;br /&gt;
On peut également faire une requête sur les autres champs de la vue v$session:&lt;br /&gt;
    osuser     le nom de l&amp;#039;utilisateur au niveau du system d&amp;#039;expoitation&lt;br /&gt;
    machine    l&amp;#039;ordinateur utilisé pour la connexion&lt;br /&gt;
    status     l&amp;#039;état de la connexion&lt;br /&gt;
    program    le programme utilisé pour accéder à la base (sqlplus, une application...)&lt;br /&gt;
&lt;br /&gt;
== Déconnecter les utilisateurs ==&lt;br /&gt;
=== Principe ===&lt;br /&gt;
La connexion est classique:&lt;br /&gt;
    export ORACLE_SID=dbname&lt;br /&gt;
    sqlplus / as sysdba&lt;br /&gt;
Puis il faut trouver les couples &amp;quot;SID + SERIAL#&amp;quot; de chacune des connexions:&lt;br /&gt;
    select sid, serial# from v$session where upper(username)=upper(&amp;#039;jean&amp;#039;);&lt;br /&gt;
       SID    SERIAL#&lt;br /&gt;
    ---------- ----------&lt;br /&gt;
       733       6738&lt;br /&gt;
Ensuite on cloture les connexions :&lt;br /&gt;
    alter system kill session &amp;#039;sid, serial#&amp;#039;;&lt;br /&gt;
Dans le cas ci dessus:&lt;br /&gt;
    alter system kill session &amp;#039;733, 6738&amp;#039;;&lt;br /&gt;
=== Script ===&lt;br /&gt;
&lt;br /&gt;
Un script simple permet de faciliter cette déconnexion &amp;quot;forcée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Fichier &amp;quot;forcelogoff.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Usage: ./forcelogoff.sh schema database&lt;br /&gt;
&lt;br /&gt;
    #!/bin/bash&lt;br /&gt;
&lt;br /&gt;
    if [ $# -ne 2 ]&lt;br /&gt;
    then&lt;br /&gt;
        echo &amp;quot;Usage: $0 schema db&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;-------------------------------------------------------------&amp;quot;&lt;br /&gt;
    ./list_logged.sh $1 $2&lt;br /&gt;
    echo &amp;quot;-------------------------------------------------------------&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;DO YOU WANT DO FORCE LOGOFF Y/N [N]?&amp;quot;&lt;br /&gt;
    read n&lt;br /&gt;
&lt;br /&gt;
    export n=&amp;quot;${n}n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    if &amp;amp;#91;&amp;amp;#91; ( $n != &amp;#039;yn&amp;#039; ) &amp;amp;&amp;amp; ( $n != &amp;#039;Yn&amp;#039; ) &amp;amp;#93;&amp;amp;#93;&lt;br /&gt;
    then&lt;br /&gt;
        echo &amp;quot;Aborted&amp;quot;&lt;br /&gt;
        exit 0&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Generating kill sql script...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    export TMPFILE=`date +%Y%m%d%H%M%S.tmp`&lt;br /&gt;
&lt;br /&gt;
    export ORACLE_SID=$2&lt;br /&gt;
&lt;br /&gt;
    sqlplus -s /nolog &amp;lt;&amp;lt; EOF &amp;gt; $TMPFILE&lt;br /&gt;
     connect / as sysdba;&lt;br /&gt;
     SET pagesize 0;&lt;br /&gt;
&lt;br /&gt;
     SET FEEDBACK OFF&lt;br /&gt;
     SET HEADING OFF&lt;br /&gt;
     SET VERIFY OFF&lt;br /&gt;
     SET ECHO OFF&lt;br /&gt;
     SET TIMING OFF&lt;br /&gt;
&lt;br /&gt;
     SET pause off&lt;br /&gt;
         SET LINESIZE 600&lt;br /&gt;
     SET underline off&lt;br /&gt;
     SET trimspool off&lt;br /&gt;
&lt;br /&gt;
     SET sqlblanklines ON&lt;br /&gt;
&lt;br /&gt;
     select &amp;#039;alter system kill session &amp;amp;#39;&amp;amp;#39;&amp;#039;||sid||&amp;#039;, &amp;#039;||serial#||&amp;amp;#39;&amp;amp;#39;&amp;#039;;&amp;#039; from v\$session where upper(username) =upper(&amp;#039;$1&amp;#039;);&lt;br /&gt;
    EOF&lt;br /&gt;
    echo &amp;quot;commit;&amp;quot; &amp;gt;&amp;gt; $TMPFILE&lt;br /&gt;
    echo &amp;quot;-------------------------------------------------------------&amp;quot;&lt;br /&gt;
    cat $TMPFILE&lt;br /&gt;
    echo &amp;quot;-------------------------------------------------------------&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;DO YOU WANT TO EXECUTE THIS SCRIPT Y/N [N]?&amp;quot;&lt;br /&gt;
    read n&lt;br /&gt;
&lt;br /&gt;
    export n=&amp;quot;${n}n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    if &amp;amp;#91;&amp;amp;#91; ( $n != &amp;#039;yn&amp;#039; ) &amp;amp;&amp;amp; ( $n != &amp;#039;Yn&amp;#039; ) &amp;amp;#93;&amp;amp;#93;&lt;br /&gt;
    then&lt;br /&gt;
        echo &amp;quot;Aborted&amp;quot;&lt;br /&gt;
        rm -f $TMPFILE&lt;br /&gt;
        exit 0&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    sqlplus -s /nolog &amp;lt;&amp;lt; EOF&lt;br /&gt;
     connect / as sysdba;&lt;br /&gt;
&lt;br /&gt;
     @$TMPFILE&lt;br /&gt;
    EOF&lt;br /&gt;
&lt;br /&gt;
    rm -f $TMPFILE&lt;br /&gt;
&lt;br /&gt;
Ce script commence par faire la liste des connexion puis demande une conformation. Ensuite il construit la requête de déconnexion et demande une seconde confirmation pour l&amp;#039;exécuter.&lt;br /&gt;
&lt;br /&gt;
C&amp;#039;est par ailleurs un bon exemple de &amp;#039;&amp;#039;sql générant du sql&amp;#039;&amp;#039;.&lt;/div&gt;</summary>
		<author><name>Jpinon</name></author>
	</entry>
</feed>