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