diferença entre dba_data_file e dba_segments

Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #94702
    Avatar de Marcos Lucas MeloMarcos Lucas Melo
    Participante

    Olá pessoal,

    Estou precisando saber a diferenças entre as views dba_data_File e dba_segments para encontra o tamanho do banco de dados, aparentemente era para ser a mesma né isso? 😆

    #94707
    Avatar de Regis AraujoRegis Araujo
    Participante

    Fala Marcos..!!

    Seguinte mano.. a DBA_DATA_FILES vai te mostrar o tamanho apenas dos datafiles sendo usados ou não.. ou seja, se vc acabou de criar um DATAFILE de 20g no seu banco, ele constará com tamanho de 20G mas estará sem objetos dentro dele, então será apenas espaço alocado e não usado.

    A DBA_SEGMENTS vai te mostrar o tamanho dos segmentos de cada objeto dentro do banco.. (tables, viws, sequences, procs.. etc), este é o tamanho USADO e não alocado.

    Para vc saber o tamanho do banco pode usar a DBA_DATA_FILES, só que irá te mostrar o tamanho ALOCADO do seu banco, mas se quiser obter informações sobre tamanhos especificos de tabelas, views, procs, etc, deverá consultar a DBA_SEGMENTS.

    Existem querys que vc pode usar para determinar o tamanho do seu banco, tanto USADO como ALOCADO.

    Abraços..!

    #94710
    Avatar de EvlokiEvloki
    Participante

    **Volumétria Oracle

    – Tamanho de Cada Tabela

    SELECT owner, tablespace_name, segment_name,
    round(sum(bytes/1024/1024),2) as Tamanho_MB –, extents as Num_extents
    FROM dba_segments
    WHERE owner = ‘SCOTT’
    AND segment_type = ‘TABLE’
    – AND segment_name like ‘DEPT%’
    GROUP BY owner, tablespace_name, segment_name

    – Tamanho das Tabelas Por Usuário

    SELECT owner, round(sum(bytes/1024/1024),2) as Tamanho_MB –, extents as Num_extents
    FROM dba_segments
    GROUP BY owner

    – Tamanho Total das Tabelas

    SELECT round(sum(bytes/1024/1024),2) as Tamanho_MB –, extents as Num_extents
    FROM dba_segments

    – % de Uso das TableSpaces

    SELECT a.TABLESPACE_NAME “TableSpace Name”,
    round(a.BYTES/1024/1024) “MB Allocated”,
    round((a.BYTES-nvl(b.BYTES, 0)) / 1024 / 1024) “MB Used”,
    nvl(round(b.BYTES / 1024 / 1024), 0) “MB Free”,
    round(((a.BYTES-nvl(b.BYTES, 0))/a.BYTES)*100,2) “Pct Used”,
    round((1-((a.BYTES-nvl(b.BYTES,0))/a.BYTES))*100,2) “Pct Free”
    FROM (SELECT TABLESPACE_NAME,
    sum(BYTES) BYTES
    FROM dba_data_files
    GROUP BY TABLESPACE_NAME) a,
    (SELECT TABLESPACE_NAME,
    sum(BYTES) BYTES
    FROM sys.dba_free_space
    GROUP BY TABLESPACE_NAME) b
    WHERE a.TABLESPACE_NAME = b.TABLESPACE_NAME (+)
    ORDER BY ((a.BYTES-b.BYTES)/a.BYTES);

    Não é bem o que vc perguntou, mas espero que ajude em algo. 🙂

    #94750
    Avatar de vierivieri
    Participante

    ============================
    How large is the database
    ============================

    col “Database Size” format a20
    col “Free space” format a20
    col “Used space” format a20
    select round(sum(used.bytes) / 1024 / 1024 / 1024 ) || ‘ GB’ “Database Size”
    , round(sum(used.bytes) / 1024 / 1024 / 1024 ) –
    round(free.p / 1024 / 1024 / 1024) || ‘ GB’ “Used space”
    , round(free.p / 1024 / 1024 / 1024) || ‘ GB’ “Free space”
    from (select bytes
    from v$datafile
    union all
    select bytes
    from v$tempfile
    union all
    select bytes
    from v$log) used
    , (select sum(bytes) as p
    from dba_free_space) free
    group by free.p
    /

    #94751
    Avatar de vierivieri
    Participante

    Fixing the English sentence… rs

    ===============
    What size the database
    ===============

    #94768
    Avatar de Marcos Lucas MeloMarcos Lucas Melo
    Participante

    Muito obrigado pessoal por todas as respostas. Thunder_Catz exatamente era essa minha duvida. 😀

Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Você deve fazer login para responder a este tópico.
plugins premium WordPress