Putz... Me desculpa, foi erro de portugues mesmo. O que eu queria saber era
os que não conseguirão. Valeu pela ajuda mesmo assim.

On 8/3/06, jlchiappa <[EMAIL PROTECTED]> wrote:
>
> Se vc realmente quis dizer "conseguiram", no passado, o lance é que
> afaik o bd Oracle ** não ** arnmazena a data/hora em que um novo
> segmento foi alocado (só há um id sequencial), assim o que vc pode
> fazer é consultar a DBA_EXTENTS, guardando a situação atual, e daqui
> a algum tempo consulta de novo, veja se entraram segmentos novos ,
> embora eu NÃO entenda bem pra que isso te servirá.
> Já se vc quer saber os objetos que NÃO CONSEGUIRÃO , no futuro,
> alocar um novo extent (isso sim tem algum sentido, é evitar o erro
> de "unable to allocate extent")  não é difícil, é listar os objetos
> onde o espaço livre nas tablespaces às quais eles pertencem seja
> MENOR do que o NEXT_EXTENT dos objetos, isso fica registrado normal,
> seria algo tipo o exemplo abaixo. NOTAR PORÉM que eu escrevi o que vc
> pediu, mas NÃO FAZ SENTIDO a rotina se vc está usando, como 100%
> RECOMENDADO, tablespaces LMT ** e ** cada grupo de objetos de mesmo
> extent-size numa mesma tablespace, pois em tablespaces LMT o extent-
> size é sempre o MESMO, ou pelo menos múltiplo no caso de
> autoallocated, nesse cenário ao invés de gerenciar espaço por
> segmento, vc gerencia por tablespace : no caso descrito, se vc tem
> digamos 100 objetos na tablespace com extent de 1 Mb, se vc garantir
> que a TABLESPACE tenha 100 Mb livres ao menos vc não obterá o "unable
> to extent". Mas de qquer forma segue o exemplo :
>
> [EMAIL PROTECTED]:SQL>select s.owner, s.segment_type, s.partition_name,
> s.tablespace_name, s.next_extent, sum(f.bytes) livre
>    2     from dba_segments s, dba_free_space f
>    3    where s.owner not in ('SYS')
>    4      and s.tablespace_name = f.tablespace_name
>    5    group by s.owner, s.segment_type, s.partition_name,
> s.tablespace_name, s.next_extent
>    6     having sum(f.bytes) < s.next_extent;
>
> não há linhas selecionadas
>
> ==> veja que durou segundos (apesar de desenvolvimento esse banco não
> é tão pequeno assim), query bem boazinha, nada de mais (ao menos no
> meu banco , 9ir2 EE)....
>
> Decorrido: 00:00:00.05
>
> ==> já que não tenho nenhum, vou quebrar TODAS as regras de bom-tom
> em gerenciamento de espaço e vou montar um caso :
>
> [EMAIL PROTECTED]:SQL>create tablespace TS_TESTE
> datafile '/u2/oradata/srvdev/dados/ts_teste_01.dbf' size 10M
>    2  extent management dictionary nologging;
>
> Tablespace criado.
>
> Decorrido: 00:00:00.02
>
> [EMAIL PROTECTED]:SQL>create table TB_TESTE (c1 number) tablespace
> ts_teste storage(initial 1m next 20m) nologging;
>
> Tabela criada.
>
> Decorrido: 00:00:00.00
> [EMAIL PROTECTED]:SQL>select * from dba_segments where
> segment_name='TB_TESTE';
>
> OWNER            SEGMENT_NAME
> PARTITION_NAME                 SEGMENT_TYPE
> TABLESPACE_NAME                       HEADER_FILE
> HEADER_BLOCK              BYTES             BLOCKS
> ---------------- ----------------------------------- ----------------
> -------------- ------------------ ------------------------------ -----
> ------------- ------------------ ------------------ ------------------
> ----------
> SYSTEM
> TB_TESTE
> TABLE              TS_TESTE
> 23                  2            1064960
> 130
>
> Decorrido: 00:00:00.00
>
> [EMAIL PROTECTED]:SQL>select s.owner, s.segment_type, s.partition_name,
> s.tablespace_name, s.next_extent, sum(f.bytes) livre
>    2     from dba_segments s, dba_free_space f
>    3    where s.owner not in ('SYS')
>    4      and s.tablespace_name = f.tablespace_name
>    5    group by s.owner, s.segment_type, s.partition_name,
> s.tablespace_name, s.next_extent
>    6     having sum(f.bytes) < s.next_extent;
>
> OWNER            SEGMENT_TYPE       PARTITION_NAME
> TABLESPACE_NAME                       NEXT_EXTENT              LIVRE
> ---------------- ------------------ ------------------------------ --
> ---------------------------- ------------------ ------------------
> SYSTEM           TABLE
> TS_TESTE                                 20971520            9412608
>
> Decorrido: 00:00:00.05
>
>
> []s
>
> Chiappa
>
>
>
> --- Em oracle_br@yahoogrupos.com.br, Cyro <[EMAIL PROTECTED]> escreveu
>
> >
> > Olá a todos, alguem possui um script para verificar se os objetos
> > conseguiram alocar um next extent ? Eu procurei no google e só
> achei scripts
> > muito pesados.
> >
> > Agradeço desde já.
> >
> > --
> > [ ]´s Cyro
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>
>
>
>
> 
>



-- 
[ ]´s Cyro


[As partes desta mensagem que não continham texto foram removidas]



--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: 
http://www.oraclebr.com.br/
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Reply via email to