![]() |
|
|||||||
| Newsgroup de.comp.lang.delphi.datenbanken Lokale und Server-DBs, ODBC und BDE. |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
|
#1
|
|||
|
|||
|
Hallo,
ich habe ein DB-Modell unter Oracle 11.1g mit Tabellen, bei denen Felder auf andere Tabellen referenzieren (3ten Grades). Die Referenzierung erfolgt immer über den Primärschlüssel, für alle referenzierenden Felder gibt es einen passenden Index. Das funktioniert alles auch soweit gut. Was mich etwas verwirrt ist die Tatsache, dass wenn ich eine Row aus der Tabelle lösche, für allen referenzierten Tabellen ein Lock gesetzt wird. Kann mir jemand sagen warum, und ob man dies irgendwie verhindern kann. Hintergrund ist, im Normalbetrieb ca. 250 User arbeiten und in gewissen Tabellen sehr oft etwas gelöscht wird. Dadurch ist das Risiko eines Deadlocks recht hoch. -- Stefan Graf |
|
#2
|
|||
|
|||
|
"Stefan Graf" <s.graf2*web.de> writes:
> Hallo, > > ich habe ein DB-Modell unter Oracle 11.1g mit Tabellen, bei denen Felder auf andere Tabellen referenzieren (3ten Grades). > Die Referenzierung erfolgt immer über den Primärschlüssel, für alle > referenzierenden Felder gibt es einen passenden Index. Das funktioniert alles > auch soweit gut. > > Was mich etwas verwirrt ist die Tatsache, dass wenn ich eine Row aus der > Tabelle lösche, für allen referenzierten Tabellen ein Lock gesetzt wird. > > Kann mir jemand sagen warum, und ob man dies irgendwie verhindern kann. > Hintergrund ist, im Normalbetrieb ca. 250 User arbeiten und in gewissen > Tabellen sehr oft etwas gelöscht wird. Dadurch ist das Risiko eines Deadlocks > recht hoch. > > -- > Stefan Graf > Oracle muss prüfen, ob durch die Löschung evtl. eine Fremdschlüsselbedingung verletzt wird. Normalerweise werden in den referenzierten Tabellen aber nur Leselocks gesetzt. In Oracle blockieren lesende Locks keine schreibenden Locks und umgekehrt. Deadlocks duch Löschungen sollten also nicht auftreten. Wenn alle Fremdschlüssel indiziert sind, wird auch nur ein Datensatz und nicht die gesamte Tabelle gelockt. HTH, Lothar -- Lothar Armbrüster | lothar.armbruester*t-online.de Hauptstr. 26 | 65346 Eltville | |
![]() |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| Benutzer will Tabellen anlegen und löschen. | peter-sesam@arcor.de | Newsgroup microsoft.public.de.sqlserver | 5 | 06-02-2009 01:35 PM |
| Tabellen und Abfragen per Programmcode löschen ??? | Artur Schmitt | Newsgroup microsoft.public.de.access | 4 | 02-21-2008 12:57 PM |
| opensuse10.3 + orcale + x-server | Achim Klausmann | Newsgroup de.comp.os.unix.linux.misc | 16 | 02-08-2008 09:45 AM |
| Re: Löschen aller Tabellen | Peter Singer | Newsgroup microsoft.public.de.vb.datenbank | 0 | 02-02-2008 08:19 PM |
| Seitenumbruch zwischen Tabellen löschen | H.Hartwig | Newsgroup de.comp.office-pakete.staroffice.writer | 24 | 01-12-2007 03:12 PM |