Oracle Probleme: Unterschied zwischen den Versionen

Aus PPwiki
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
 
== Gesperrte Tabellen entspereen ==
 
== Gesperrte Tabellen entspereen ==
  
==SID der gesperrten Tabelle ermitteln==
+
==SID der gesperrten Tabelle ermitteln (nicht notwendig?)==
 +
 
 +
''Kann eigentlich übersprungen und direkt mit '''Step 2''' angefangen werden''
 +
 
 
STEP 1:  To identify the SID for the table with the lock, you will use this system ID in a later query to get the serial number for the table row lock:
 
STEP 1:  To identify the SID for the table with the lock, you will use this system ID in a later query to get the serial number for the table row lock:
  
Zeile 38: Zeile 41:
 
       dba_dml_locks
 
       dba_dml_locks
 
   where
 
   where
       name = 'EMP');
+
       name = 'b_auftrcol');
 
</pre>
 
</pre>
 
Output :
 
Output :
Zeile 47: Zeile 50:
 
</pre>
 
</pre>
 
   
 
   
==Session beenden, die die Zeile sperrt==
+
==Session beenden, der die Zeile sperrt==
 
STEP 3:  Finally, we can use the "alter system" command to kill the session that is holding the table lock:
 
STEP 3:  Finally, we can use the "alter system" command to kill the session that is holding the table lock:
  
Zeile 57: Zeile 60:
 
</pre>
 
</pre>
 
http://www.dba-oracle.com/t_remove_oracle_table_row_lock.htm
 
http://www.dba-oracle.com/t_remove_oracle_table_row_lock.htm
 
 
 
 
 
 
 
 
 
 
== Gesperrte Tabellen entspereen ==
 
 
 
STEP 1:  To identify the SID for the table with the lock, you will use this system ID in a later query to get the serial number for the table row lock:
 
 
select
 
  session_id
 
from
 
  dba_dml_locks
 
where
 
  name = 'EMP';
 
 
 
Output :
 
 
SID
 
___
 
607
 
 
 
STEP 2:  The next step is a script to find the Serial# for the table row lock :
 
 
select
 
  sid,
 
  serial#
 
from
 
  v$session
 
where
 
  sid in (
 
  select
 
      session_id
 
  from
 
      dba_dml_locks
 
  where
 
      name = 'EMP');
 
 
Output :
 
 
SID SERIAL#
 
---- -------
 
607 1402
 
 
 
 
STEP 3:  Finally, we can use the "alter system" command to kill the session that is holding the table lock:
 
 
alter system kill session 'SID,SERIALl#';
 
 
alter system kill session '607,1402';
 

Version vom 16. März 2018, 12:07 Uhr

1 Gesperrte Tabellen entspereen

2 SID der gesperrten Tabelle ermitteln (nicht notwendig?)

Kann eigentlich übersprungen und direkt mit Step 2 angefangen werden

STEP 1: To identify the SID for the table with the lock, you will use this system ID in a later query to get the serial number for the table row lock:

 
select
   session_id
from
   dba_dml_locks
where
   name = 'b_auftrcol';

Output :

SID
___
607


3 ID der gesperrten Tabellenzeile ermitteln

STEP 2: The next step is a script to find the Serial# for the table row lock :

select
   sid,
   serial#
from
   v$session
where
   sid in (
   select
      session_id
   from
      dba_dml_locks
   where
      name = 'b_auftrcol');

Output :

SID SERIAL#
---- -------
607 1402

4 Session beenden, der die Zeile sperrt

STEP 3: Finally, we can use the "alter system" command to kill the session that is holding the table lock:

alter system kill session 'SID,SERIALl#';

alter system kill session '607,1402';

http://www.dba-oracle.com/t_remove_oracle_table_row_lock.htm