Frage

Ich wundere mich über einen seltsamen Deadlock und nachdem ich alle anderen Komponenten überprüft habe, denke ich, dass es sich um ein Initrans -Problem in Oracle 11.2 handelt.

Jetzt entstanden drei Fragen:

  • Gibt es eine Möglichkeit, zu analysieren, wie voll die Blöcke sind?

  • Meine Datenbank erreichte vor einiger Zeit ihre maximale Tablespace -Größe und begann, Einfügungen abzulehnen. Dann habe ich eine andere Datendatei hinzugefügt, dies wächst jedoch nur, wenn fast der gesamte Speicherplatz aufgebraucht ist. Mein PCT_UTED ist 96%. Ist meine Annahme korrekt, dass alle Datenblöcke vollständig gefüllt sind und ein Initrans -Deadlock ebenso wie?

  • Gibt es eine Möglichkeit, ein Initrans -Problem in einer Deadlock -Spur zu sehen?

Ich freue mich auch über teilweise Antworten.

War es hilfreich?

Lösung

Initrans ist für gleichzeitige Einsätze in denselben Blöcken einer Tabelle am wichtigsten. Normalerweise erkennen Sie dies, wenn es um die Blockheader kämpft. Solange im Block genügend freien Speicherplatz vorhanden ist, kann die Liste im freien Speicherplatz des Blocks wachsen. Wenn Sie also wissen, dass Sie für einige Tabellen viele gleichzeitige Jobs haben, die Daten am selben Ende der Tabelle einfügen, hilft es, die Initrans auf einen Wert zu setzen, der der Anzahl der gleichzeitigen Jobs ähnelt.

pct_used bedeutet, dass dieser Block in Ihrem Fall, sobald ein Block 4% Platz frei hat, zur kostenlosen Liste gelangt, um neue Zeilen zu akzeptieren.

PCT_FREE bedeutet, dass der freie Speicherplatz in einem Block unter pct_free fällt, der Block nicht mehr neue Zeilen akzeptiert, um Platz für Updates zu erhalten, in denen Zeilen wachsen können.

Die Tabellenstatistik zeigen eine Statistik wie avg_space, avg_row_len.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top