Ah, o ponto mais importante só pra variar ia esquecendo ... Com certeza, quando vc diz que tem tabelas com duzentas e tantas colunas, é grande a chance aí de vc estar tendo row chaining, em http://asktom.oracle.com/pls/asktom/f? p=100:11:0::::P11_QUESTION_ID:19013375626973 o autor mostra como testar por isso - SE realmente é o seu caso, isso é um argumento pró um aumento no bloco, mas PLEASE, antes de partir pra isso, veja a chance de normalizar um pouco esse modelo, quando se vê tabela com dúzias de colunas de imediato se pensa é em falha de modelo....
[]s Chiappa --- Em oracle_br@yahoogrupos.com.br, "jlchiappa" <[EMAIL PROTECTED]> escreveu > > Não é OLTP o meu banco, mas vamos ver até onde consigo te ajudar . > Por partes : primeiro, embora a Oracle não tenha uma recomendação > exata para isso, a documentação envolvida são os manuais de Concepts > e de Tunning, e no metalink principalmente a nota nro 46757.1 "Notes > on Choosing an Optimal DB BLOCK SIZE" . Depois, tendo os conceitos > referentes à essa atividade bem claros (se não os tem, re-estudo das > fontes citadas), vamos pensar juntos - a vantagem principal de um > bloco maior é que vc popupa I/O, no seguinte esquema : suponha um > banco (ou uma tablespace, no 9i) com blocksize de 8 Kb e uma > aplicação que frequentemente necessita de dados de vários e vários > blocos, se vc precisa (digamos) de dados de dois blocos o bd teve em > tese (ignorando os casos de multiblock read) que fazer dois I/Os, e > já que cada I/O implica (em tese) em espera por seek time, por > rotação de disco, etc, se essa operação fosse feita com blocksize de > 16 Kb vc fez um único I/O, poupou-se algum tempo, às vezes até coisa > de alguns pontos percentuais. > =====>>> PORÉM, notar que estamos falando de economia em cima duma > operação que custa *** MILISEGUNDOS **, obviamente uma aplicação > teria que fazer MUITO e MUITO I/O pra que essa "economia" seja > notável, alguns % de uns tantos milisegundos normalmente é coisa ** > DESPREZÌVEL ** ... > O segundo efeito (também citado e deduzido das docs citadas) é que, > como os caches do bd são criados/mantidos em RAM e controlados via > latches e similares, certamente se vc tiver um bloco maior menos > blocos serão necessários para se controlar a mesma qtdade de RAM, > portanto menos listas de controles, menos latches, etc, seriam > necessários em tese, MAS novamente só mesmo em caches ** enormes ** > vc veria alguma diferença.... E não esquecendo que a cada release o > bd se torna mais eficiente na administração desses caches, o > algoritmo está constantemente melhorando, também.. > > > Então, à vista do acima citado, eu penso que em sendo OLTP nada > disso se aplicaria muito : em OLTP é bem menor que em DW a chance da > aplicação precisar de infos que com bloco maior cairiam no mesmo > bloco (oltp é tipicamente bem aleatória a recuperação de dados), e > ainda por cima em oltp por maior que seja a base atual, tipicamente > vão ser recuperados via índice relativamente POUCO disso, > relativamente pequenas FRAÇõES do todo.... Óbvio ululante, vc VAI > testar antes no seu banco de testes/homologação, principalmente a > chance de se ter os índices em bloco maior, mas acho que muito > provavelmente os seus testes aí serão negativos.... Em sendo CPU o > seu principal problema e sistema oltp (onde são queries relativamente > simples, com poucos dados retornados MAS com enorme massa de usuários > fazendo operações similares) , acho que a estratégia de ataque seria > ** mesmo mesmo ** é na aplicação, se ASSEGURANDO que a aplicação faz > 1 parse e vários executes, usa bind variables, NÃO faz context > switch, NÃO usa & abusa de loops e cursores aonde o processamento > poderia ser feito num SQL só, NÃO chama dentro do SQL functions > PL/SQL... Via de regra essas coisas QUEIMAM CPU , detonam, comem-na > no café da manhã, é a primeira coisa que teria que ser vista... > > []s > > Chiappa > > --- Em oracle_br@yahoogrupos.com.br, "logg" <logg@> escreveu > > > > blz, até aqui tudo bem, > > já tinha visto isto, tanto é que minha suspeita é esta, pois meu > storage é um cavalo e com isto não tenho problemas de I/O , tendo > problemas sim de processamento da maquina, chegando a dar 100% dos 15 > processadores... > > > > > > > > > > De:oracle_br@yahoogrupos.com.br > > > > Para:oracle_br@yahoogrupos.com.br > > > > Cópia: > > > > Data:Sun, 15 Apr 2007 11:05:06 -0300 > > > > Assunto:Re: [oracle_br] Blocagem diferente no Oracle > > > > Acho que este aqui pode ser interessante, > > > > http://www.dba-oracle.com/art_dbazine_9i_multiblock.htm > > > > logg escreveu: > > > > > > Senhores, ja li muito a respeito disso no Oracle, agora oq peço é > a > > > experiência de vcs, alguém utiliza isto em ambiente OLTP?? > > > Tenho um banco grande, coisa de uns 5TR, minhas tabelas estão > > > desnormalizadas, tenho tabelas com coisa de 250 campos e tudo > isto com > > > blocagem default do oracle. A minha idéia seria criar uma > tablespace > > > com uma blocagem maior e mover estas minhas tabelas com grande > > > quantidade de campos para lá para ver se consigo um aumento na > > > performance e diminuindo assim a grande leitura de blocos . > > > Alguém tem alguma documentação sobre este tipo de aplicação em > > > ambiente OLTP ?? > > > > > > vlw > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > -- > > Atenciosamente, > > > > Rodrigo Mufalani > > OCA 10g > > tel.: 91739169 > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > >