Oracle – Auslastung Datendateien

Wenn Oracle so konfiguriert ist, dass die Datendateien nicht automatisch mit dem Datenbestand wachsen, können diese voll laufen und die DB zum Stillstand bringen. Damit dann auch alle Anwendungen, die auf die DB zugreifen wollen… ein Arbeiten ist also nicht mehr möglich.
Nachfolgend eine Info, wie man per SQLPLUS den Status der Datendateien prüft.

Zunächst sollte man folgendes SQL als Textdatei erstellen und auf dem DB-Server ablegen. Im Beispiel heißt die Datei dann SQLPLUS_Auslastung_Datendateien.sql:

SET FEEDBACK OFF
SET PAGESIZE 2000
SET LINESIZE 260

COLUMN "Tablespace Name" FORMAT A16
COLUMN "File Name"       FORMAT A40
 
SELECT   substr(df.tablespace_name,1,20)  "Tablespace Name",
         substr(df.file_name,1,40)        "File Name",
         round(df.bytes/1024/1024,2)      "Size (M)",
         round(e.used_bytes/1024/1024,2)  "Used (M)",
         round(f.free_bytes/1024/1024,2)  "Free (M)",
         rpad(' '|| rpad ('X',
                          round(e.used_bytes*10/df.bytes,0), 'X')
                          ,11,'-')        "Used"
FROM   DBA_DATA_FILES DF,
         (SELECT file_id,
                 sum(Decode(bytes,NULL,0,bytes)) used_bytes
          FROM dba_extents
          GROUP by file_id) E,
         (SELECT Max(bytes) free_bytes,
                 file_id
          FROM dba_free_space
          GROUP BY file_id) f
WHERE     e.file_id (+) = df.file_id
AND       df.file_id  = f.file_id (+)
ORDER BY df.tablespace_name,
         df.file_name;

Aufgerufen wird dieses SQL aus SQLPLUS heraus und ein Ergebnis (hier von recht ausgelasteten Dateien) würde dann z.B. so aussehen:
Oracle - Auslastung Datendateien

Als ‚Gimmick‘ wurde in der letzten Spalte eine ‚optische Anzeige‘ der Auslastung angefügt. Dadurch kann man sehr schnell erfassen, wie die aktuelle Auslastung aussieht ohne die Werte beachten zu müssen, das kann gerade bei vielen Dateien hilfreich sein.

Je nach Ergebnis kann dann entsprechend gehandelt werden…

Quelle: [1]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.