SQL-Abfrage bei v$logfile (Oracle)

Hi,

mache momentan diese Abfrage hier:
select ‚GROUP‘ || group# || ’ ’ || ‚‘’’ || ‚&DB_PFAD‘ || getfilename(member) || ‚‘’’ || ’ SIZE 8M’ from v$logfile;

Die mir allerdings dann folgendes liefert:

GROUP1 ‚D:\database\cosd07am\LOG1.ORA‘ SIZE 8M
GROUP2 ‚D:\database\cosd07am\LOG2.ORA‘ SIZE 8M
GROUP1 ‚D:\database\cosd07am\LOG1A.ORA‘ SIZE 8M

ich möchte aber immer nur eine Zeile von einer Gruppe ausgeben, d.h. dann nur diese hier
GROUP1 ‚D:\database\cosd07am\LOG1.ORA‘ SIZE 8M
GROUP2 ‚D:\database\cosd07am\LOG2.ORA‘ SIZE 8M.

Dies bedeutet ich möchte pro Gruppe (also egal wieviel Gruppen es gibt) jeweils nur ein Log-file mit der dazugehörigen Gruppe ausgeben. Hab es schon mit distinct und ordered by probiert, funktioniert auch nicht. Vielleicht funktioniert es ja mit Pl/SQL.

Kann mir jemand helfen?

Gruss Tina

Hallo Tina!

Wieso statischen Text selektieren, wenn die echten Daten doch so nah…
Probier’s mal mit dem folgenden select:

SELECT 'GROUP '||l.group#||' '||
 min(f.member)||
 ' SIZE '||round(l.bytes/(1024\*1024))||'M' 
FROM v$log l, v$logfile f 
WHERE l.group# = f.group# 
GROUP BY l.group#, l.bytes;

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]