Oracle Probleme: Unterschied zwischen den Versionen

Aus PPwiki
Wechseln zu: Navigation, Suche
Zeile 4: Zeile 4:
 
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:
  
<code> select session_id from dba_dml_locks where name = 'EMP';</code>
+
<pre>  
 
+
select
 
+
  session_id
<syntaxhighlight lang="cpp">
+
from
#include <iostream>
+
  dba_dml_locks
int m2 (int ax, char *p_ax) {
+
where
  std::cout <<"Hello World!";
+
  name = 'b_auftrcol';
  return 0;
+
</pre>
}</syntaxhighlight>
 
  
 
Output :
 
Output :
  
 +
<pre>
 
SID
 
SID
 
___
 
___
 
607
 
607
 +
 +
</pre>
  
  
Zeile 39: Zeile 41:
 
</pre>
 
</pre>
 
Output :
 
Output :
 
+
<pre>
 
SID SERIAL#
 
SID SERIAL#
 
---- -------
 
---- -------
 
607 1402
 
607 1402
 
+
</pre>
 
   
 
   
 
==Session beenden, die die Zeile sperrt==
 
==Session beenden, die 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:
  
 +
<pre>
 
alter system kill session 'SID,SERIALl#';
 
alter system kill session 'SID,SERIALl#';
  
 
alter system kill session '607,1402';
 
alter system kill session '607,1402';
  
 +
</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
  

Version vom 16. März 2018, 11:04 Uhr

1 Gesperrte Tabellen entspereen

2 SID der gesperrten Tabelle ermitteln

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 = 'EMP');

Output :

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

4 Session beenden, die 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






5 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';