› Fóruns › Banco de dados Oracle › Quais são as maiores tabelas do banco 10g
- Este tópico contém 6 respostas, 3 vozes e foi atualizado pela última vez 10 anos, 4 meses atrás por
rman.
-
AutorPosts
-
15 de dezembro de 2015 às 7:49 pm #107959
airoosp
ParticipanteBoa tarde,
Estou fazendo um levantamento de informações do banco 10g em Windows, e preciso saber quais são as maiores tabelas do banco.
Vi na internet consultas que usam a DBA_EXTENTS e outras que usam a DBA_SEGMENTS. Qual view deve ser utilizada? Alguém tem algum exemplo de consulta para obter essas informações?Obrigado.
Airton
15 de dezembro de 2015 às 7:52 pm #107960rman
Participante@airoosp
Utilize a DBA_SEGMENTS, existe um campo de BYTES. Lembre-se que a tabela pode conter INDEX e LOB.
15 de dezembro de 2015 às 8:54 pm #107961Nelson Anchite
ParticipanteTalvez esse SQL possa te ajudar.
select owner, tablespace_name, segment_name, bytes, extents, max_extents, initial_Extent
from dba_segments
where segment_type=’TABLE’
order by bytes15 de dezembro de 2015 às 11:17 pm #107962airoosp
ParticipanteCom as informações passadas, criei a consulta abaixo:
select s.owner, s.segment_name, s.ttl_bytes, s.ttl_blks,
t.tablespace_name, t.status, t.num_rows, t.blocks, t.last_analyzed
from
(
select owner, segment_name, ttl_bytes, ttl_blks
from
(
select owner, segment_name, sum(bytes) ttl_bytes, sum(blocks) ttl_blks
from dba_segments
group by owner, segment_name
order by 3 desc, 4 desc
)
where rownum <= 10
) s,
dba_tables t
where s.owner = t.owner
and s.segment_name = t.table_name
order by s.owner, s.segment_name, s.ttl_bytesNo resultado conteúdo dos campos s.ttl_blks e t.blocks, não deveriam ser os mesmos? Executei a consulta antes e depois de atualizar as estatísticas.
A tabela CT2600 retornou na consulta com:
TTL_BYTES = 1048576000
TTL_BLKS = 128000
BLOCKS = 127414Banco 10g (10.2.0.5) ambiente Windows.
Obrigado.
Airton
16 de dezembro de 2015 às 2:34 pm #107963rman
Participante@airoosp
Fiz um teste aqui e verifiquei a diferença, a BLOCKS da DBA_SEGMENTS deu maior que a BLOCKS da DBA_TABLES.
Observei um detalhe, não é necessário fazer o SUM na DBA_SEGMENTS, os dados já estão agrupados por segmento.
19 de dezembro de 2015 às 12:55 am #107964airoosp
ParticipanteRMAN,
Você tem razão, removi o sum(blocks).
Uma duvida, as tabelas DR$ ($I , $R , $K , $N , $P , $S), devem ser consideradas também no momento de identificar as maiores tabelas do banco?
São tabelas de índice, certo?
21 de dezembro de 2015 às 2:19 pm #107966rman
Participante@airoosp
Siga esse artigo, é exatamente o que você precisa:
http://eduardolegatti.blogspot.com.br/2011/05/qual-e-mesmo-o-tamanho-de-uma-tabela-no.html
-
AutorPosts
- Você deve fazer login para responder a este tópico.
› Fóruns › Banco de dados Oracle › Quais são as maiores tabelas do banco 10g