Announcement

Collapse
No announcement yet.

group by, max, where ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • group by, max, where ?

    Hallo,

    ich möchte eine Abfrage, die mir ausgibt, wie gross das größte next_extent im User_tablespace ist, wieviel Platz noch im User-Tablespace ist und wieoft das größte Next-Extent noch hinein passt.

    "select max(seg.next_extent), free.bytes, free.tablespace_name
    from dba_segments seg,dba_free_space free group by free.bytes, free.tablespace_name;"

    gibt mir leider alle Tablespaces aus.

    Gruß

    Christina

  • #2
    hallo christina,

    probier's mal so

    <pre>
    select seg.tablespace_name,
    seg.next_extents,
    free.bytes
    from (
    select tablespace_name,
    max(next_extent) next_extents
    from dba_segments
    group by tablespace_name
    ) seg,
    (
    select tablespace_name,
    max(bytes) bytes
    from dba_free_space
    group by tablespace_name
    ) free
    where seg.tablespace_name = free.tablespace_name
    and seg.next_extents &gt; free.bytes

    </pre>

    letzte zeile ist natürlich optional

    gruß volke

    Comment


    • #3
      Hallo Volker,

      das Script funktioniert. Vielen Dank.

      Du erinnerst dich, vor langer Zeit 2001/2 bei der Dregis / Dresdner ?

      Grüße

      Christina ([email protected]

      Comment


      • #4
        Hallo, um uebrigens die Extents eines tablspaces zu komprimieren (freien Speicherplatz zusammenführen) gibt es den Befehl<BR>
        ALTER TABLESPACE NAME COALESCE;<BR>
        Sollte ab und an gemcht werden.<BR>
        Über die View DBA_FREE_SPACE_COALESCED kannst man den fragmentierungsgrad eines Tablespaces
        sehen.<BR&gt

        Comment

        Working...
        X