Se voce já sabe que ele divide e isso é importante para performance (I/O),
para mim é isso que importa. (mas isso é opinião pessoal e entendo sua
curiosidade). Tentando ajudar: obviamente é um algorítmo interno que nunca
tive curiosidade de pesquisar. Porém, voce pode começar um investigação
fazendo um load em uma tabela em uma tablespace que possua 2, 3 datafiles e
ver a quantidade de dados que vai para cada um.
Exemplo executado no 9i e 10g.

9i (9.2.0.8)
============
FILE_NAME                             MBYTES           PCT
------------------------------ ------------- -------------
/oracle/tmp/df1.dbf                       14         51,85
/oracle/tmp/df2.dbf                       13         48,15

10g (10.2.0.3)
==============
FILE_NAME                             MBYTES           PCT
------------------------------ ------------- -------------
/oracle/tmp/df1.dbf                       24         51,06
/oracle/tmp/df2.dbf                       23         48,94

E o script que usei para o teste.
--
set echo on

create tablespace tbs_deldf datafile
  '/oracle/tmp/df1.dbf' size 50m,
  '/oracle/tmp/df2.dbf' size 50m
/

col file_name format a30
select file_name
  from dba_data_files
 where tablespace_name = 'TBS_DELDF'
/

create table t tablespace tbs_deldf as select * from all_objects;
insert /*+ append */ into t select * from t;
commit;
insert /*+ append */ into t select * from t;
commit;
insert /*+ append */ into t select * from t;
commit;

select count(*) from t;

with
  sum_byt as (
        select file_id, sum(bytes) sum_bytes
          from dba_extents
         where owner = user
           and segment_name = 'T'
           and segment_type = 'TABLE'
         group by file_id
  )
select file_name,
       round( sum_bytes/1024/1024, 2 ) mbytes,
       round( ratio_to_report(sum_bytes) over () * 100, 2 ) pct
  from dba_data_files df, sum_byt ex
 where df.file_id = ex.file_id
/

drop tablespace tbs_deldf including contents and datafiles;

set echo off


On 4/23/07, Clayton Rocha <[EMAIL PROTECTED]> wrote:
>
>   Entendo perfeitamente que ele divide e que temos ganho de performance
> caso
> estejam em discos diferentes...
>
> A minha dúvida seria qual seria o critério que determina onde ele irá
> salvar... Realmente acho que não vai ser possível alguém me explicar isso
> em
> poucas linhas, mas, deixo uma outra pergunta:
>
> Existe algum material com explicações sobre esse assunto? É possível eu
> entender essa tomada de decisões ou é algo que apenas devo saber que ele
> divide, faz o melhor possível e ponto?
>
> Obrigado!
>
> Clayton Rocha
>
> De: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br> [mailto:
> oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>] Em
> nome de Marcio Portes
> Enviada em: segunda-feira, 23 de abril de 2007 17:45
> Para: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>
> Assunto: Re: [oracle_br] Segmento x Datafile
>
> Grosso modo falando... Não é uma resposta para ser desenvolvida em 3
> linhas...
> Porque ele divide a carga de I/O espalhando os blocos através dos
> datafiles.
> Imagine se voce tivesse cada datafile em um disco diferente com
> controladoras diferentes, voce ganharia em leitura, porque as
> controladoras
> iriam atenter em paralelo ao request do banco.
>
> On 4/23/07, Clayton Rocha <[EMAIL 
> PROTECTED]<clayton.rocha%40faitec-cons.com.br>
> <mailto:clayton.rocha%40faitec-cons.com.br> > wrote:
> >
> > Boa tarde!
> >
> > Fiquei com uma curiosidade agora... se eu tenho uma tablespace com dois
> > datafiles e movo um segmento para essa tablespace. O que determina em
> qual
> > dos dois datafiles o segmento vai ser armazenado se eu tenho espaço
> livre
> > suficiente nos dois? Por que, mesmo tendo espaço para alocar em um único
> > datafile acontece do Oracle dividir o segmento nos dois?
> >
> > Oracle 10g em Windows.
> >
> > Obrigado!
> >
> > Clayton Rocha
> >
> > DBA Oracle
> >
> > Faitec Tecnologia
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> Marcio Portes
> Material Tecnico em Portugues - http://mportes.blogspot.com
> Practical Learning Oracle -
> http://mportes.blogspot.com/2006/02/practical-learning-oracle.html
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Marcio Portes
Material Tecnico em Portugues - http://mportes.blogspot.com
Practical Learning Oracle     -
http://mportes.blogspot.com/2006/02/practical-learning-oracle.html


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

Responder a