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