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:

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]