Quantcast

SECURITE - USER

Samedi 11 juin 2011 6 11 /06 /Juin /2011 11:52

 

ORACLE SQL ALTER SYSTEM KILL SESSION

Comment tuer, déconnecter une session utilisateur existante ou tuer un processus d'arrière-plan Oracle?.

Syntax commande SQL ALTER SYSTEM KILL/DISCONNECT SESSION.

 
ALTER SYSTEM  { DISCONNECT SESSION 'sid, serial#' [ POST_TRANSACTION | IMMEDIATE ]} ;
ALTER SYSTEM  { KILL SESSION 'sid, serial#' [ IMMEDIATE ]} ;

 

Trouver  une session active Oracle avec les vues GV$ (G=Grid=RAC)

 
 
SQL> COLUMN inst_id FORMAT 9999
SQL> COLUMN sid FORMAT 9999
SQL> COLUMN serial# FORMAT 9999999
SQL> COLUMN spid FORMAT 9999
SQL> COLUMN username FORMAT A10
SQL> COLUMN program FORMAT A30
SQL> SET LINESIZE 150
SQL> SELECT s.inst_id,
  2           s.sid,
  3           s.serial#,
  4           p.spid,
  5           s.username,
  6           s.program
  7    FROM   gv$session s
  8           JOIN gv$process p ON p.addr = s.paddr AND p.inst_id = s.inst_id;

INST_ID   SID  SERIAL# SPID         USERNAME   PROGRAM
------- ----- -------- ------------ ---------- ------------------------------
      1   170        1 5788                    ORACLE.EXE (PMON)
      1   169        1 5236                    ORACLE.EXE (PSP0)
      1   168        1 1304                    ORACLE.EXE (MMAN)
      1   167        1 4076                    ORACLE.EXE (DBW0)
      1   166        1 5328                    ORACLE.EXE (LGWR)
      1   165        1 3572                    ORACLE.EXE (CKPT)
      1   164        1 3932                    ORACLE.EXE (SMON)
      1   163        1 2292                    ORACLE.EXE (RECO)
      1   162        1 4000                    ORACLE.EXE (MMON)
      1   161        1 6064                    ORACLE.EXE (MMNL)
      1   160        3 5228                    ORACLE.EXE (q000)

INST_ID   SID  SERIAL# SPID         USERNAME   PROGRAM
------- ----- -------- ------------ ---------- ------------------------------
      1   158        1 6084                    ORACLE.EXE (ARC0)
      1   157        1 4432                    ORACLE.EXE (ARC1)
      1   140       14 3036         SYS        sqlplus.exe
      1   153        1 5912                    ORACLE.EXE (QMNC)
      1   143        5 4912         SYS        sqlplus.exe
      1   141       55 3804         SYSADM     toad.exe
      1   150        1 444                     ORACLE.EXE (CJQ0)
      1   148        1 3944                    ORACLE.EXE (q001)

19 rows selected.

SQL>

 

Trouver  une session qui a une Transaction active.

 
 
SQL> COLUMN STATUS FORMAT A10
SQL> COLUMN PROGRAM FORMAT A20
SQL> COLUMN MODULE FORMAT A20
SQL> SELECT   T.STATUS,
  2           T.START_TIME,
  3           S.INST_ID,
  4           S.SID,
  5           S.SERIAL#,
  6           S.USERNAME,
  7           S.PROGRAM,
  8           S.MODULE
  9    FROM      GV$TRANSACTION T
 10           JOIN GV$SESSION S ON T.SES_ADDR = S.SADDR;

STATUS     START_TIME           INST_ID   SID  SERIAL# USERNAME   PROGRAM              MODULE
---------- -------------------- ------- ----- -------- ---------- -------------------- -------------
ACTIVE     06/11/11 11:57:48          1   140       14 SYS        sqlplus.exe          sqlplus.exe

SQL>

 

KILL SESSION ORACLE.

 
SQL> ALTER SYSTEM KILL SESSION '140,14';

SQL> ALTER SYSTEM KILL SESSION '140,14' IMMEDIATE;

En RAC 10G
SQL> ALTER SYSTEM KILL SESSION '140,14,1';

En RAC 11G
SQL> ALTER SYSTEM KILL SESSION '140,14,@1';

 

DISCONNECT SESSION ORACLE.

 
Attends la fin de la transaction existante et deconnexion (POST_TRANSACTION)

SQL> ALTER SYSTEM DISCONNECT SESSION '140,14' POST_TRANSACTION;

SQL> ALTER SYSTEM DISCONNECT SESSION '140,14' IMMEDIATE;

 

Tuer une session Oracle avec ORAKILL à partir du système d'exploitation Windows.

 
 
INST_ID   SID  SERIAL# SPID         USERNAME   PROGRAM
------- ----- -------- ------------ ---------- ------------------------------
      1   158        1 6084                    ORACLE.EXE (ARC0)
      1   157        1 4432                    ORACLE.EXE (ARC1)
      1   140       14 3036         SYS        sqlplus.exe
      1   153        1 5912                    ORACLE.EXE (QMNC)
      1   143        5 4912         SYS        sqlplus.exe
      1   141       55 3804         SYSADM     toad.exe
      1   150        1 444                     ORACLE.EXE (CJQ0)
      1   148        1 3944                    ORACLE.EXE (q001)

C:\> orakill 'instance_name' 'spid' 
C:\> orakill dbtest 3036

 

Tuer un process Oracle avec kill -9 sous UNIX.

 
 
% ps -ef | grep DBTEST

  oracle  4200   1  0 12:54:10 ?  0:01 ora_smon_DBTEST
  oracle  4201   1  0 12:54:10 ?  0:00 ora_arc0_DBTEST
  oracle  4210   1  0 12:54:10 ?  0:02 ora_lgwr_DBTEST
  oracle  4212   1  0 12:54:10 ?  0:00 ora_ckpt_DBTEST
  oracle  4230   1  2 11:32:19 ?  0:00 oracleTARGDB (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
  oracle  4237   1  0 12:54:10 ?  0:20 ora_qmn0_DBTEST
  oracle  4321   1  0 12:54:10 ?  0:00 ora_arc1_DBTEST
  oracle  4325   1  0 12:54:11 ?  0:00 ora_dbw0_DBTEST
  oracle  4340   1  0 12:54:11 ?  0:00 ora_reco_DBTEST
  oracle  4376   1  0 12:54:11 ?  0:02 ora_pmon_DBTEST
  oracle  4389   1  0 12:54:11 ?  0:00 ora_cjq0_DBTEST

% kill -9 4230

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Oracle USER Quota - Account Lock Unlock - Expire
• Create USER Oracle
Par Daniel Roesch - Publié dans : SECURITE - USER
Ecrire un commentaire - Voir les 0 commentaires
Jeudi 2 juin 2011 4 02 /06 /Juin /2011 11:18

 

ALTER USER Quota - Account Lock / Unlock / Expired.

Comment verrouiller, de-verrouiller un utilisateur Oracle.
Comment voir les Quota Tablespace d'un utilisateur dans Oracle.

Voici quelques commandes qui permettent de verrouiller un compte oracle, déverrouiller, forcer un changement de mot de passe à la prochaine connexion, de voir les entrées dans le fichier de mot de passe PWDsid.ora, de voir les USER qui ont des quotas sur les tablespace.

Comment Verrouiller un USER Oracle.

 
SQL>
SQL> ALTER USER SCOTT ACCOUNT LOCK;

User altered.

SQL> connect scott/tiger
ERROR:
ORA-28000: compte verrouille


Warning: You are no longer connected to ORACLE.
SQL>

 

Comment déverrouiller un USER Oracle.

 
SQL>
SQL> ALTER USER SCOTT ACCOUNT UNLOCK;

User altered.

SQL> connect scott/tiger
Connected.
SQL>

 

Comment forcer le changement de mot de passe d'un USER Oracle.

 
SQL>
SQL> ALTER USER SCOTT PASSWORD EXPIRE;

User altered.

SQL> connect scott/tiger
ERROR:
ORA-28001: le mot de passe est expire


Changing password for scott
New password:
Retype new password:

Password changed
Connected.

SQL> connect scott/change
Connected.
SQL>

 

Comment voir les entrées USER du fichier de mot de passe PWDsid.ora

 
SQL>
SQL> SELECT   * FROM V$PWFILE_USERS;

USERNAME                       SYSDB SYSOP
------------------------------ ----- -----
SYS                            TRUE  TRUE

SQL>

 

Comment voir les QUOTA et UNLIMITED par USER sur les TABLESPACES

 
SQL>
SQL> SET LINESIZE 110
SQL> SELECT   USERNAME,
  2           TABLESPACE_NAME,
  3           DECODE (SIGN (MAX_BYTES), -1, 'UNLIMITED', 'QUOTA') "QUOTA ?"
  4    FROM   DBA_TS_QUOTAS
  5   WHERE   USERNAME IN ('RMAN', 'SCOTT');

USERNAME                       TABLESPACE_NAME                QUOTA ?
------------------------------ ------------------------------ ---------
RMAN                           RMAN_CATALOG                   UNLIMITED
RMAN                           DATA                           QUOTA
SCOTT                          DATA                           UNLIMITED

SQL>

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Create USER Oracle
Par Daniel Roesch - Publié dans : SECURITE - USER
Ecrire un commentaire - Voir les 0 commentaires

Oracle Sql et administration

Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés