- Este tópico contém 5 respostas, 4 vozes e foi atualizado pela última vez 13 anos, 5 meses atrás por
Marcos Lucas Melo.
-
AutorPosts
-
junho 21, 2010 às 11:15 pm #94702
Marcos Lucas Melo
ParticipanteOlá 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? 😆
junho 21, 2010 às 11:37 pm #94707Regis Araujo
ParticipanteFala 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..!
junho 22, 2010 às 12:13 am #94710Evloki
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. 🙂
junho 22, 2010 às 10:47 pm #94750vieri
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
/junho 22, 2010 às 10:52 pm #94751vieri
ParticipanteFixing the English sentence… rs
===============
What size the database
===============junho 23, 2010 às 9:28 pm #94768Marcos Lucas Melo
ParticipanteMuito obrigado pessoal por todas as respostas. Thunder_Catz exatamente era essa minha duvida. 😀
-
AutorPosts
- Você deve fazer login para responder a este tópico.
Compartilhe ! Além de ajudar, é legal ! :)
- Clique para compartilhar no Twitter(abre em nova janela)
- Clique para compartilhar no Facebook(abre em nova janela)
- Clique para compartilhar no LinkedIn(abre em nova janela)
- Clique para compartilhar no Reddit(abre em nova janela)
- Clique para compartilhar no WhatsApp(abre em nova janela)
- Clique para compartilhar no Telegram(abre em nova janela)
- Clique para enviar um link por e-mail para um amigo(abre em nova janela)
- Clique para imprimir(abre em nova janela)