Volumetria

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Pessoal, boa tarde.

Estou precisando de realizar um levantamento no Banco Oracle (não sou DBA), no seguinte cenário:
Tenho a quantidade de linhas, após eliminação de algumas tabelas no banco de dados.

Este valor, chega à aproximadamente 50 milhões de registros que irei realizar o "expurgo".

Dúvida:
  • Por não ter acesso à DBA_SEGMENTS, consigo eu, fazer um cálculo, convertendo a quantidade de linhas em Bytes?
Muito obrigado.
ruibarros
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 93
Registrado em: Qui, 29 Jan 2009 11:44 am
Localização: Cuiabá
Rui Barros
OCP - Oracle Certified Professional

Boa tarde,
Como tu não é DBA, pode usar a (user_segments).
Eu fiquei meio em dúvida na tua dúvida, porém tentarei ajudar...

Soma de bytes por tipo de segmentos:

Selecionar tudo

select o.segment_type, SUM(o.BYTES) from user_segments o 
group by o.segment_type
Número de linhas:

Selecionar tudo

select t.TABLE_NAME, t.NUM_ROWS from user_tables t
Abraço.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Rui, beleza brother?

Cara, até tinha tentado a USER_SEGMENTS, porém, não sou o Owner dos objetos, então, a View não me retorna nada rs..

Mas, obrigado pelo retorno...
ruibarros
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 93
Registrado em: Qui, 29 Jan 2009 11:44 am
Localização: Cuiabá
Rui Barros
OCP - Oracle Certified Professional

Beleza meu brother hehe... :-o

É, consultar de outro owner fica complicado sem permissão...

abraços!
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Então brother...

Quanto à View ALL_TABLES, nela consigo a informação de NUM_ROWS.
Até ai sem problemas.

O que eu gostaria de saber é:
Com essa informação da quantidade de linhas, dá pra se fazer alguma conversão pra bytes?
ruibarros
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 93
Registrado em: Qui, 29 Jan 2009 11:44 am
Localização: Cuiabá
Rui Barros
OCP - Oracle Certified Professional

Então brother...
Eu, no meu conhecimento, acho meio impossível... Você transformar uma quantidade enorme em bytes...
Qual o objetivo disso?

Normalmente eu se eu quero ver a quantidade de registros da tabela eu verifico daquela forma, e se eu quero ver o tamanho do segmento, eu vejo da outra forma ...
ruibarros
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 93
Registrado em: Qui, 29 Jan 2009 11:44 am
Localização: Cuiabá
Rui Barros
OCP - Oracle Certified Professional

Tenta me explicar o que tu precisa melhor que eu vejo...

Será que você necessita de um export? Eu não consegui entender ainda o porque de converter assim...
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Então brother,

Sobre a conversão, até achei em um site, mas, como sou meio leigo, preferi agir de outra forma (escalar para uma equipe com permissão na DBA_SEGMENTS, mesmo que isso leve mais tempo do que eu mesmo fazer as queries).

Sobre o porquê do levantamento?
Estou num projeto de "expurgo" de base, ou seja, dezenas de objetos do banco vão sofrer Delete, outros, Trucate e por ai vai.

O que acontece é que o cliente deseja saber, em tamanho (storage), o quanto ele vai economizar.
Por isso que preciso das informações.

Mas, valeu pela ajuda.
ruibarros
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 93
Registrado em: Qui, 29 Jan 2009 11:44 am
Localização: Cuiabá
Rui Barros
OCP - Oracle Certified Professional

Entendi, a melhor coisa realmente é passar para um DBA fazer esse levantamento.

Abraço brother!
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Olá Trevisolli,

Esse script de volumetria te ajudaria ?

Ele verifica o tamanho das tabelas por MB

Selecionar tudo

– 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
Espero ter ajudado.

Abs.
ruibarros
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 93
Registrado em: Qui, 29 Jan 2009 11:44 am
Localização: Cuiabá
Rui Barros
OCP - Oracle Certified Professional

É como ele disse, ajudaria, mas ele não tem permissão para executar como DBA ...
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Então brothers,

Sobre a DBA_SEGMENTS realmente não me ajuda em muito, pelo fatos das permissões etc.

Eu gostaria de saber se existe algum SCRIPT, que eu consiga, por exemplo, através de 1 registro da bases de dados, calcular o teu tamanho, tendo este registro colunas number, varchar2, date etc.

Porque?
Preciso fazer uma limpeza parcial de uma tabela e, antes da limpeza, informar ao cliente o "ganho" que ele vai ter.

Muito obrigado mesmo
ruibarros
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 93
Registrado em: Qui, 29 Jan 2009 11:44 am
Localização: Cuiabá
Rui Barros
OCP - Oracle Certified Professional

Brother,
Não teria como tu duplicar isso em algum lugar?
Assim você levantaria o tamanho atual ... depois disso deletando os dados, etc .. você levantaria o novo tamanho
Aí sim você fazia o cálculo, gráfico, porcentagem para o cliente mostrando ...

É o que daria pra ser feito, uma vez que tu não administra a base de dados.

Abraço.
ruibarros
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 93
Registrado em: Qui, 29 Jan 2009 11:44 am
Localização: Cuiabá
Rui Barros
OCP - Oracle Certified Professional

No meu ponto de vista, você deveria pedir ao DBA para verificar, que ele vai saber o que fazer ...
Junte com ele...

Ele conseguirá fazer qualquer tipo de consulta, vendo tamanho de segmento, datafile, tablespace, blob, etc ...
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante