--- Em oracle_br@yahoogrupos.com.br, falmeida <[EMAIL PROTECTED]> escreveu
> Olá Marcio,
> 
> Entendi em parte. Imaginei que estava usando 10% por isto, mas 
fiquei
> preocupado se iria prejudicar a análise. Legal!
> 
> É claro que em determinados exemplos o melhor é o particionamento, 
mas
> o que eu estou discutindo é que no exemplo que eu dei, eu teria
> 1.000.000 de torcedores divididos por 100 times, da seguinte forma. 
O
> time 50 teria 10 torcedores e os demais com o restante dividido
> aproximadamente em partes iguais. Quando você pesquisa uma dada 
chave
> em uma árvore esta pesquisa é extremamente eficiente. Como os dados
> estão ordenados nela, quando você chega ao bloco folha onde aparece 
o
> primeiro registro com a chave procurada, basta você ler
> sequencialmente a direita os blocos. 

Olha até onde eu sei a busca não é assim não. Ela é randômica.

>Estou falando em árvore
> balanceada, não em árvore binária onde temos que ficar subindo e
> descendo. Logo, imagine que teríamos que varrer estes blocos folhas 
de
> índice a direita e para cada entrada fazer um acesso via rowid nos
> blocos de dados. Estamos falando em eliminar 90% da tabela e não 
25%.

Ok, o otimizador trabalha mediante esforço. Se o custo para trazer 
10% de registros pelo índice é maior que fts, ele vai por fts. Se 
estiver errado é porque algo nas estatísticas está errado. Por isso a 
necessidade de entender bem o que conta no momento da elaboração do 
custo. Não sei se teve oportunidade de ler o link na asktom, lá 
inclusive ele faz os cálculos da leitura randômica contra a 
sequencial massiva. Tem alguns parâmetros que ajudam ao CBO tomar 
decisão de ir por índice. Por exemplo: optimizer_index_caching, 
optimizer_index_cost_adj e db_file_multiblock_read_count para começar.


> E mais, a partir do momento que o bloco é lido a próxima leitura
> provavelmente será feita no buffer e não em disco (claro que isto
> dependerá dos parâmetros). Mesmo assim, sou do tempo que a gente 
media
> as coisas. Não falo em termos de olhar o resultado da query em 
termos
> de custo ou outros resultados, pois estes número são dados através 
de
> um modelo matemático, mas falo em criar os dados e medir com o 
velho e
> bom relógio. 

hhehe - acho que temos a mesma idade ;)


> Sem é claro deixar com que a aplicação fique exibindo no
> vídeo, pois isto acaba também interferindo no tempo de resposta. Vou
> além, se os dados estiverem ordenados nos blocos de dados, ai a 
coisa
> ficaria mais ainda ao meu favor, pois na maioria das vezes, 
produzimos
> relatórios onde lemos uma parte dos dados em sequencia. Relação de
> funcionários. Telefones e suas respectivas chamadas etc.

Concordo! A sequencia dos dados no storage é fator significativo na 
tomada de decisão do otimizador e essa informação está disponível na 
*_indexes: clustering_factor. 
Quanto mais próximo do número de blocos - blocks   (mais ordenado) 
Quanto mais próximo do número de linhas - num_rows (mais desordenado)

Abraços,

> 
> Fico por aqui,
> 
> Abraços,
> 
> Fabão
> 
> Em 25/11/05, Marcio Portes<[EMAIL PROTECTED]> escreveu:
> >
> > Não tem que pedir desculpas de nada, a idéia em um forum é o 
debate e
> > ninguem é dono da verdade. É assim que aprendemos mais a cada nova
> > discussão.
> >
> > Ele sõ usou na segunda query, porque é mais barato. Ele sabe que
> > através do índice, ele encontrará poucos registros em relação a
> > tabela toda.
> >
> > No exemplo a proporção do índice era de 25% da tabela, portanto um
> > fts é mais barato.
> >
> > hehehe, permita-me discordar. Se eu tenho uma tabela de 100 
milhões
> > eu vou considerar o particionamento, daí sim FPS (Full Partition
> > Scan) de 1 milhão de registros.
> >
> >
> > Então, mas quando voce chega no leaf block 1, temos não só um 
rowid,
> > temos vários. Em uma leitura de 25% do cotingente da tabela, 
quantas
> > vezes acha que vai ler esse mesmo bloco?
> > Tem um monte de explicação disso na asktom. uma delas é
> > http://asktom.oracle.com/pls/ask/f?
> > p=4950:8:::::F4950_P8_DISPLAYID:4433887271030
> >
> > Acho que voce muda de idéia com a versão 10gr2. Ela está ótima
> > (quanto a configuração default). Mas em minha opinião é o voce 
disse,
> > precisa entender o que acontece com o CBO para poder usar
> > corretamente. O novo livro do Jonathan Lewis *dizem* está
> > espetacular, não tem o que ele não explique.
> >
> >
> > --- Em oracle_br@yahoogrupos.com.br, falmeida <[EMAIL PROTECTED]> 
escreveu
> > > Olá Márcio,
> > >
> > > Antes de mais nada, peço desculpas por te torrar a paciência.
> > >
> > > Realmente me referia ao artigo de ontem - Histograma. E faço 
alguns
> > > comensários, a seguir.
> > >
> > > Acho isto no Oracle muito "doido". Eu fiquei desconfiado que 
quando
> > > você executasse já utilizando o histograma os selects:
> > > SQL> select * from t where x_hist = 2;
> > > ou
> > > SQL> select * from t where x_hist = 5;
> > > utilizariam o índice. Só usou na segunda query. .
> > >
> > > Depois, com a criação do bitmap index o resultado foi FTS nas 
duas
> > daí
> > > quando você força o índice, o custo da que ele fez full e menor 
da
> > que
> > > ele usou índice.
> > >
> > > Acho isto incongruente, pois imagine se você tivesse não 10 
times,
> > mas
> > > sim 100 times, e em cada um tivesse 1.000.000 e em um deles 
apenas 5
> > > torcedores. Ora, se eu estivesse acessando um dos times que tem
> > > 1.000.000 de torcedores, mesmo com o custo de ir no indice e 
depois
> > na
> > > tabela seria melhor do que percorrer os praticamente 100.000.000
> > > registros da tabela. Se colocassemos um indice do tipo arvore
> > > balanceada sobre o campo em questão, ele deveria encontrar
> > rapidamente
> > > pelo ponteiro vertical onde iniciava o primeiro bloco onde a 
chave
> > > procurada se encontrava e a partir daí percorreria todos os 
blocos a
> > > direita desta árvore até não mais encontrar registros para chave
> > > procurada. Para cada registro encontrado nesta pesquisa, ele 
deveria
> > > acessar via rowid a linha na tabela. Vale lembrar que quando
> > > computamos a estatistica conseguimos ver a profundidade da 
árvore do
> > > índice.
> > > Em um DISCO IDE com tempo de acesso médio de 8ms, e uma árvore
> > > gigantesca com profundidade de 6 (eu particularmente eu nunca vi
> > > nenhum índice com esta profundidade) observaremos que ele iria
> > > encontrar o primeiro elemento e 7*8 = 56ms (7 por que temos que
> > > acessar um bloco raiz). A partir daí é só percorrer blocos a
> > direita.
> > > Isto é extremamente rápido. Depois para cada registro 
encontrado ir
> > no
> > > bloco apontado pelo rowid. Lembro também que num bloco de índice
> > cabem
> > > inúmeras entradas (ponteiros) e que num bloco de dados vários
> > > registros. Concluindo, poderiamos aqui fazer uma estimativa de
> > quantas
> > > entradas caberiam nos blocos de índices e depois quantas linhas
> > > caberiam em um bloco de dados, mas acho que o plano de execução 
é
> > > muito ruim nestes casos. Não consigo entender o que o 
programador da
> > > Oracle estava pensando quando decidiu fazer o banco trabalhar 
desta
> > > forma. Critico sim, pois trabalhei a vida toda com um 
SO/Linguagem
> > > chamado MUMPS (hoje tem seu sucessor Caché - que é um banco da
> > geração
> > > pós-relacional) que era super eficiente em termos de busca em
> > árvore.
> > > Hoje concluo que a opção choose como padrão a pior escolha, 
pois o
> > > critério que o Oracle escolhe, na minha opinião, é muito
> > > "preconceituoso", duvidoso e não intuitivo. Hoje, eu deixo o 
banco
> > em
> > > RULE e analiso o tempo de resposta, e não um suposto custo que 
eu
> > não
> > > compreendo a lógica de sua apuração.
> > >
> > > Cabe um esclarecimento aqui. Minhas palavras não são para 
agredir,
> > > ofender, nem denegrir, ninguém, nem ao produto com o qual venho
> > > trabalhando e é o meu "ganha pão". Só queria .... 
entender..... :-p
> > >
> > > Cordialmente e abraços a todos por me aturar e chegar até aqui,
> > >
> > > Fabão.
> > >
> > > Em 24/11/05, Marcio Portes<[EMAIL PROTECTED]> escreveu:
> > > > Fabão, acredito que voce esteja falando sobre o artigo de 
ontem
> > > > (Histograma - introdução).
> > > >
> > > > 1) A query que tem um monte de registro vai por FTS. Achei que
> > tinha
> > > >   ficado claro quando executei a primeira query com x_hist = 5
> > (sem
> > > >   histogramas corretos) que fez full table scan. Mesmo assim 
aqui
> > > >   está o resultado do autotrace traceonly.
> > > >
> > > > SQL> select * from t where x_hist = 2;
> > > >
> > > >
> > > > 1835197 rows selected.
> > > >
> > > >
> > > > Execution Plan
> > > > ----------------------------------------------------------
> > > >   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=2986 
Card=1834400
> > > > Bytes=45860000)
> > > >   1    0   TABLE ACCESS (FULL) OF 'T' (Cost=2986 Card=1834400
> > > > Bytes=45860000)
> > > >
> > > >
> > > >
> > > >
> > > > Statistics
> > > > ----------------------------------------------------------
> > > >          0  recursive calls
> > > >          0  db block gets
> > > >      49556  consistent gets
> > > >      31045  physical reads
> > > >        360  redo size
> > > >   54405784  bytes sent via SQL*Net to client
> > > >     202512  bytes received via SQL*Net from client
> > > >      18353  SQL*Net roundtrips to/from client
> > > >          0  sorts (memory)
> > > >          0  sorts (disk)
> > > >    1835197  rows processed
> > > >
> > > > SQL> select * from t where x_hist = 5;
> > > >
> > > > 10 rows selected.
> > > >
> > > >
> > > > Execution Plan
> > > > ----------------------------------------------------------
> > > >   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=4 Card=1
> > Bytes=25)
> > > >   1    0   TABLE ACCESS (BY INDEX ROWID) OF 'T' (Cost=4 Card=1
> > > > Bytes=25)
> > > >   2    1     INDEX (RANGE SCAN) OF 'T_IDX' (NON-UNIQUE) 
(Cost=3
> > > > Card=1)
> > > >
> > > >
> > > >
> > > >
> > > > Statistics
> > > > ----------------------------------------------------------
> > > >          0  recursive calls
> > > >          0  db block gets
> > > >          6  consistent gets
> > > >          0  physical reads
> > > >          0  redo size
> > > >        920  bytes sent via SQL*Net to client
> > > >        651  bytes received via SQL*Net from client
> > > >          2  SQL*Net roundtrips to/from client
> > > >          0  sorts (memory)
> > > >          0  sorts (disk)
> > > >         10  rows processed
> > > >
> > > >
> > > >
> > > > 2) Baixa seletividade não é o único argumento para criação de
> > bitmap
> > > >   index. Já imaginou se mesmo com baixa seletividade, o 
sistema
> > > >   sofre intensa manutenção? Pra onde vai sua performance? Mas 
sim,
> > > >   seria uma alternativa (desde que bem avaliada em seus 
efeitos
> > > >   colaterais). no artigo de hoje eu ressalto isso:
> > > >
> > > > Pedaço do artigo em
> > > > <http://mportes.blogspot.com/2005/11/histograma-definio-
size.html>
> > > >   E agora, quando usar histogramas?
> > > >   Sempre que NÃO exista uniformidade na distribuição de 
valores
> > > >   sobre o grupo. Voltando ao exemplo dos torcedores, se em 
nosso
> > > >   conjunto não tivéssemos os torcedores do VOCEM, não seria
> > > >   interessante usar histogramas, porque não ganharíamos nada,
> > > >   haveria necessidade de estudar melhor os dados e talvez usar
> > > >   bitmap, cluster, etc. Tudo depende, mas se há distruibuição
> > > >   ^^^^^^  ^^^^^^^  ^^^
> > > >   uniforme no grupo ou constante variação de valores 
distintos, a
> > > >   coluna não é candidata ao histograma. Outra ocasião onde
> > > >   deveríamos evitar o histograma é quando a coluna é 
comparada com
> > > >   bind variable. De novo o exemplo, se o campo torce_para for
> > > >   comparado com bind variable, ele não é candidado a 
histogramas.
> > O
> > > >   otimizador precisa conhecer o valor literal da comparação 
para
> > > >   percorrer os buckets(endpoint_number, endpoint_value).
> > > >
> > > > 3) Só lembrando que o propósito do artigo foi dar uma 
introdução
> > de
> > > >   histograma, onde um colega da lista perguntou qual a 
vantagem de
> > > >   usá-lo. O artigo foi elaborado para demonstrar a 
aplicabilidade
> > do
> > > >   histograma.
> > > >   Mas, vamos a criação do índice e teste.
> > > >
> > > > SQL> create bitmap index t_bm on t ( x_hist ) parallel 
nologging;
> > > >
> > > > Index created.
> > > >
> > > > SQL> exec dbms_stats.gather_index_stats( user, 'T_BM' )
> > > >
> > > > PL/SQL procedure successfully completed.
> > > >
> > > > SQL> set autotrace traceonly
> > > > SQL> select * from t where x_hist = 2;
> > > >
> > > > 1835197 rows selected.
> > > >
> > > >
> > > > Execution Plan
> > > > ----------------------------------------------------------
> > > >   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=2986 
Card=1834400
> > > > Bytes=45860000)
> > > >   1    0   TABLE ACCESS (FULL) OF 'T' (Cost=2986 Card=1834400
> > > > Bytes=45860000)
> > > >
> > > >
> > > >
> > > >
> > > > Statistics
> > > > ----------------------------------------------------------
> > > >          0  recursive calls
> > > >          0  db block gets
> > > >      49551  consistent gets
> > > >      30842  physical reads
> > > >          0  redo size
> > > >   54405784  bytes sent via SQL*Net to client
> > > >     202512  bytes received via SQL*Net from client
> > > >      18353  SQL*Net roundtrips to/from client
> > > >          0  sorts (memory)
> > > >          0  sorts (disk)
> > > >    1835197  rows processed
> > > >
> > > > Deixando o otimizador trabalhar com as estatísticas coletadas 
ele
> > > > achou melhor fazer FTS.
> > > > Mas vamos forçar o índice.
> > > >
> > > > SQL> select /*+ index(t, t_bm) */ * from t where x_hist = 2;
> > > >
> > > > 1835197 rows selected.
> > > >
> > > >
> > > > Execution Plan
> > > > ----------------------------------------------------------
> > > >   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=15420
> > Card=1834400
> > > > Bytes=45860000)
> > > >   1    0   TABLE ACCESS (BY INDEX ROWID) OF 'T' (Cost=15420
> > > > Card=1834400 Bytes=45860000)
> > > >   2    1     BITMAP CONVERSION (TO ROWIDS)
> > > >   3    2       BITMAP INDEX (SINGLE VALUE) OF 'T_BM'
> > > >
> > > >
> > > >
> > > >
> > > > Statistics
> > > > ----------------------------------------------------------
> > > >          0  recursive calls
> > > >          0  db block gets
> > > >      49475  consistent gets
> > > >      29340  physical reads
> > > >         72  redo size
> > > >   54405784  bytes sent via SQL*Net to client
> > > >     202512  bytes received via SQL*Net from client
> > > >      18353  SQL*Net roundtrips to/from client
> > > >          0  sorts (memory)
> > > >          0  sorts (disk)
> > > >    1835197  rows processed
> > > >
> > > > Praticamente o mesmo esforço, embora o custo tenha sido maior 
do
> > > > índice em relação ao FTS - (Cost=15420) contra (Cost=2986) na
> > mesma
> > > > cardinalidade 1834400. Acho que seria necessário um tkprof 
aqui
> > para
> > > > análise mais a fundo, mas como o propósito não era investigar
> > bitmap
> > > > index, vou deixar o script que eu usei para fazer o teste e 
voce
> > pode
> > > > realizá-lo e postar aqui mais tarde.
> > > >
> > > > drop table t;
> > > >
> > > > create table t nologging as
> > > > select object_id, object_name, mod(rownum, 4) x_hist
> > > >  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;
> > > > insert /*+ append */ into t
> > > > select * from t;
> > > > commit;
> > > > insert /*+ append */ into t
> > > > select * from t;
> > > > commit;
> > > >
> > > > update t set x_hist = 5 where rownum <= 10;
> > > >
> > > > select x_hist, count(*)
> > > >  from t
> > > >  group by rollup(x_hist)
> > > > /
> > > >
> > > > create index t_idx on t (x_hist) parallel 8 nologging;
> > > >
> > > > begin
> > > >  dbms_stats.gather_table_stats(
> > > >     user,
> > > >     'T',
> > > >     estimate_percent => 10,
> > > >     method_opt => 'for columns x_hist size 10',
> > > >     cascade => true,
> > > >     degree => 8 );
> > > > end;
> > > > /
> > > >
> > > > --- Em oracle_br@yahoogrupos.com.br, falmeida <[EMAIL PROTECTED]>
> > escreveu
> > > > > Ola Marcio,
> > > > >
> > > > > Também gostei muito, mas tenho as seguintes perguntas, a 
saber:
> > > > >
> > > > > 1) Você após ter aplicado o 2 metodo de coleta de 
estatísticas
> > você
> > > > só
> > > > > rodou a query abaixo:
> > > > >
> > > > > select * from t 2   where x_hist = 5
> > > > >
> > > > > Não seria legal também demonstrar como ficaria com a query 
que
> > tem
> > > > um
> > > > > monte de registros?
> > > > >
> > > > > select * from t 2   where x_hist = 4
> > > > >
> > > > > 2) Não seria melhor criar um bitmap index, dado que você tem
> > baixa
> > > > > seletividade nesta coluna?
> > > > >
> > > > > 3) Já que você tem estes dados na tabela t poderia criar um
> > indice
> > > > > bitmap e mostrar o resultado aqui?
> > > > >
> > > > > Desde já agradeço,
> > > > >
> > > > > Fabão.
> > > > >
> > > > >
> > > > > Em 24/11/05, Rosiano Vieira de Sales<[EMAIL PROTECTED]>
> > escreveu:
> > > > > > Marcio... dei uma lida no seu blog a respeito e gostei 
muito
> > da
> > > > nota que vc publicou ....contudo fiquei com uma 
dúvida ....qual o
> > > > critério para definir o size do historgrama ??? .... se tiver
> > algo a
> > > > respeito envie para o grupo .. vai ser de muito proveito .....
> > > > > >
> > > > > > abç.
> > > > > >
> > > > > > Rosiano
> > > > > >
> > > > > >        -----Mensagem original-----
> > > > > >        De: oracle_br@yahoogrupos.com.br em nome de Marcio
> > Portes
> > > > > >        Enviada: qua 23/11/2005 15:06
> > > > > >        Para: oracle_br@yahoogrupos.com.br
> > > > > >        Cc:
> > > > > >        Assunto: [oracle_br] Re: Histogramas.????
> > > > > >
> > > > > >
> > > > > >
> > > > > >        Welvis, tomei a liberdade de escrever uma pequena
> > > > introdução para sua
> > > > > >        dúvida no meu blog.
> > > > > >        Se interessar:
> > > > > >        http://mportes.blogspot.com/2005/11/histograma-
> > > > introduo.html
> > > > > >
> > > > > >        abraços,
> > > > > >
> > > > > >        --- Em oracle_br@yahoogrupos.com.br, Welvis Douglas
> > Silva
> > > > Moreto
> > > > > >        <[EMAIL PROTECTED]> escreveu
> > > > > >        > Quando devo estar utilizando Histogramas.... 
quais
> > > > > >        > beneficios terei utilizando o.
> > > > > >        >
> > > > > >        >
> > > > > >        > att,
> > > > > >        >
> > > > > >        > Welvis Douglas
> > > > > >        >
> > > > > >        >
> > > > > >        >
> > > > > >        >
> > > > > >        >
> > > > > >        >
> > > > > >        >
> > > > > >        >
> > > > > >        >
> > _______________________________________________________
> > > > > >        > Yahoo! Acesso Grátis: Internet rápida e 
grátis.
> > > > > >        > Instale o discador agora!
> > > > > >        > http://br.acesso.yahoo.com/
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >        ---------------------------------------------------
----
> > ----
> > > > --------------------------------------------------------------
-
> > > > > >        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/
> > > > > >        ---------------------------------------------------
----
> > ----
> > > > --------------------------------------------------------------
-
> > > >
> > 
_____________________________________________________________________
> > > > > >        Area de download do grupo -
> > > > http://www.4shared.com/dir/101727/a4dcc423
> > > > > >        Links do Yahoo! Grupos
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > [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/
> > > > > > ----------------------------------------------------------
----
> > ----
> > > > --------------------------------------------------------
> > > >
> > 
_____________________________________________________________________
> > > > > > Area de download do grupo -
> > > > http://www.4shared.com/dir/101727/a4dcc423
> > > > > > Links do Yahoo! Grupos
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Fábio Martinho de Almeida
> > > > > Niterói-RJ-Brasil
> > > > >
> > > > > Visite o fotolog: http://fotolog.net/canon_a300
> > > >
> > > >
> > > >
> > > >
> > > > --------------------------------------------------------------
----
> > --------------------------------------------------------
> > > > 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/
> > > > --------------------------------------------------------------
----
> > --------------------------------------------------------
> > 
_____________________________________________________________________
> > > > Area de download do grupo -
> > http://www.4shared.com/dir/101727/a4dcc423
> > > > Links do Yahoo! Grupos
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Fábio Martinho de Almeida
> > > Niterói-RJ-Brasil
> > >
> > > Visite o fotolog: http://fotolog.net/canon_a300
> >
> >
> >
> >
> > ------------------------------------------------------------------
--------------------------------------------------------
> > 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/
> > ------------------------------------------------------------------
--------------------------------------------------------
_____________________________________________________________________
> > Area de download do grupo - 
http://www.4shared.com/dir/101727/a4dcc423
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> 
> 
> --
> Fábio Martinho de Almeida
> Niterói-RJ-Brasil
> 
> Visite o fotolog: http://fotolog.net/canon_a300




--------------------------------------------------------------------------------------------------------------------------
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/ 
--------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________
Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423  
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