Oracle Probleme: Unterschied zwischen den Versionen

Aus PPwiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „== 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 n…“)
 
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Gesperrte Tabellen entspereen ==
+
für Windows 10 Home siehe auch [[Windows_10_Updates_ueberspringen|Updates überspringen]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== Gesperrte Tabellen entsperren ==
 +
===Vorbemerkung===
 +
Kann sein, dass man dazu als Sys as Sysdba angemeldet sein muss.
 +
 
 +
===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:
  
 +
<pre>
 
select
 
select
 
   session_id
 
   session_id
Zeile 8: Zeile 22:
 
   dba_dml_locks
 
   dba_dml_locks
 
where
 
where
   name = 'EMP';
+
   name = 'b_auftrcol';</pre>
 
 
  
 
Output :
 
Output :
  
 +
<pre>
 
SID
 
SID
 
___
 
___
607
+
607</pre>
  
  
 +
===ID der gesperrten Tabellenzeile ermitteln===
 
STEP 2:  The next step is a script to find the Serial# for the table row lock :
 
STEP 2:  The next step is a script to find the Serial# for the table row lock :
 
+
<pre>
 
select
 
select
 
   sid,
 
   sid,
Zeile 32: Zeile 47:
 
       dba_dml_locks
 
       dba_dml_locks
 
   where
 
   where
       name = 'EMP');
+
       name = 'b_auftrcol');</pre>
  
 
Output :
 
Output :
 
+
<pre>
 
SID SERIAL#
 
SID SERIAL#
 
---- -------
 
---- -------
607 1402
+
607 1402</pre>
 
 
 
   
 
   
 
+
===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:
  
 +
<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

Aktuelle Version vom 14. Mai 2018, 19:47 Uhr

für Windows 10 Home siehe auch Updates überspringen




1 Gesperrte Tabellen entsperren

1.1 Vorbemerkung

Kann sein, dass man dazu als Sys as Sysdba angemeldet sein muss.

1.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


1.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

1.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