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]
>







--------------------------------------------------------------------------------------------------------------------------
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/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__________________________________________________________________
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

 


Responder a