[oracle_br] Re: Como colocar o oracle 10g para rodar em várias cpus

2010-02-10 Por tôpico José Laurindo
Sim, cada SQL será executado por um processo, Mas (sempre pensando em conexões 
dedicadas, naturalmente mais usuários vão logando cfrme o sistema vai entrando 
em uso, cada usuário vai ter as suas sessões (e portanto NOVOS processos), se a 
cpu 1 chegar a ficar não-responsiva NECESSARIAMENTE o SO deve começar a atender 
os novos processos com a CPU 2, respeitando os ditames do algoritmo de cpu 
balancing que ele, SO, tenha... Por Isso eu perguntei por mais detalhes 
para o colega que abriu a thread, além das que eu perguntei , infos como se é 
dedicated (caso em que o algoritmo de cpu balancing do SO deve dar conta) ou se 
é shared (caso em que ** Talvez ** se tenha que lançar mão de algum tipo de cpu 
affinity, SE o SO/hardware permitir) são cruciais pra se poder dar uma resposta 
direito...

 []s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, "Carlos Alfredo M. de Menezes" 
 escreveu
>
> Caros,
> Essa discussão é boa, complementando o nosso colega, como apenas o SO é 
> capaz de fazer o balancemamento das tarefas entre as 
> cpu´s/cores/threads, pois os processos Oracle são aplicações de nível de 
> usuário, logo, apenas tendo vários processos para serem executados ao 
> mesmo tempo e a fila sendo >= :total_de_threads/cores/cpus é que se 
> consegue usar plenamente a capacidade de processamento disponível. Como 
> uma instrução SQL, por default, é executado por apenas um processo 
> Oracle, não conseguirá usar todas as cpu´s disponíveis, a não ser que 
> você trabalhe com a versão Enterprise e habilite o paralelismo, assim 
> sua única instrução SQL poderá ser decomposta em várias instruções SQL 
> menores e executadas por mais de um processo Oracle.
> 
> Att,
> Carlos Alfredo
> 
> Em 10/02/2010 11:25, José Laurindo escreveu:
> >
> > Acho que vale a pena também citar que :
> >
> > a) via de regra, SE está sendo usado I/O asynch (aonde imediatamente 
> > assim que o programa pede um I/O o SO já responde 'feito', mas na 
> > verdade ele tá processando em background) não é preciso alterar o 
> > param, 
> > http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:3092767631432#3862084916701
> >  
> > 
> >  
> > discute isso
> >
> > e
> >
> > b) na pergunta original o colega fala sobre ' o Oracle' consumindo uma 
> > só CPU, aí temos que perguntar :
> >
> > 1. o que é 'o Oracle' pra ele, são os processos internos, são os 
> > processos de usuário, exatamente o que ?? Pois num server SMP (deve 
> > ser o caso) quem controla cpu balancing é o SO, e ele o faz por 
> > capacidade : como quando o bd starta normalmente as CPUs estão com 
> > pouco uso, normalmente os processos internos (que na maioria são tipo 
> > daemons, ficam residentes permanentemente ) tipicamente acabam sendo 
> > executados na primeira cpu apenas... Os processos de usuários 
> > tipicamente startam, processam e são eliminados, então esses sim tem 
> > chances de serem atendidos por outras CPUs se a primeira está 
> > starved... E este ponto é importante, via de regra o SO só redireciona 
> > processos pras próxima CPUs se REALMENTE a primeira está 
> > sobrecarregada, MESMO, constantemente
> >
> > 2. ele disse que são vários núcleos, mas quantas CPUs físicas ? Qual 
> > SO , qual hardware exato, como ele está medindo o consumo de CPU , com 
> > quais exatos comandos ? Ele REALMENTE está observando alto consumo de 
> > CPUs dentro do banco ?? Isso interfere Diretamente numa resposta mais 
> > direta...
> >
> > []s
> >
> > Chiappa
> > --- Em oracle_br@yahoogrupos.com.br 
> > , ®ØÐr¥GØ  
> > escreveu
> > >
> > > Então ok...
> > > mas só complementando
> > > db_writer_processes é o numero de processos que o oracle vai abrir 
> > no teu SO
> > > para gravação.
> > > tive casos em que alterando esse parâmetro para a metade do numero do
> > > cpu_count ( observe que nem foi o total do cpu_count...) o ganho na
> > > performance foi bem significativo ( coisa de relatorios de 5hs 
> > cairem para
> > > 1,5hs ), pois estava com gargalo na escrita me disco, fora o load 
> > average do
> > > servidor caindo drasticamente.
> > > Portanto, cada caso é um caso.
> > >
> > >
> > >
> > >
> > > Em 10 de fevereiro de 2010 10:54, Duilio Bruniera Junior  > > > escreveu:
> > >
> > > >
> > > >
> > > > Concordo com o pessoal tambem tenho um ambiente com 2 proc e 4 core (8
> > > > processadores) conforme a documentação da oracle cpu/8 , eu tembem uso
> > > > db_writer_processes=1.
> > > >
> > > > Em 10 de fevereiro de 2010 09:40, Marcelo Procksch <
> > > > marceloprocksch@ > escreveu:
> > > >
> > > >
> > > > > Isso mesmo Leonardo.
> > > > >
> > > > > Abraço
> > > > > Marcelo Procksch
> > > > >
> > > > > Em 10 de fevereiro de 2010 09:29, Leonardo Santos da Mata <
> > > > > leonardodamata@ > escreveu:
> > > > >
> > > > > >
> > > > > >
> > > > > > ei marcelo,
> > > > > > Eu estou usando uma máquina que tem dois pro

[oracle_br] Re: Como colocar o oracle 10g para rodar em várias cpus

2010-02-10 Por tôpico José Laurindo
Acho que vale a pena também citar que :

a) via de regra, SE está sendo usado I/O asynch (aonde imediatamente assim que 
o programa pede um I/O o SO já responde 'feito', mas na verdade ele tá 
processando em background) não é preciso alterar o param, 
http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:3092767631432#3862084916701
 discute isso

e

b) na pergunta original o colega fala sobre ' o Oracle' consumindo uma só CPU, 
aí temos que perguntar :

 1. o que é 'o Oracle' pra ele, são os processos internos, são os processos de 
usuário, exatamente o que ?? Pois num server SMP (deve ser o caso) quem 
controla cpu balancing é o SO, e ele o faz por capacidade : como quando o bd 
starta normalmente as CPUs estão com pouco uso, normalmente os processos 
internos (que na maioria são tipo daemons, ficam residentes permanentemente ) 
tipicamente acabam sendo executados na primeira cpu apenas... Os processos de 
usuários tipicamente startam, processam e são eliminados, então esses sim tem 
chances de serem atendidos por outras CPUs se a primeira está starved... E este 
ponto é importante, via de regra o SO só redireciona processos pras próxima 
CPUs se REALMENTE a primeira está sobrecarregada, MESMO, constantemente

 2. ele disse que são vários núcleos, mas quantas CPUs físicas ? Qual SO , qual 
hardware exato, como ele está medindo o consumo de CPU , com quais exatos 
comandos ? Ele REALMENTE está observando alto consumo de CPUs dentro do banco 
?? Isso interfere Diretamente numa resposta mais direta...

 []s

   Chiappa
--- Em oracle_br@yahoogrupos.com.br, ®ØÐr¥GØ  escreveu
>
> Então ok...
> mas só complementando
> db_writer_processes é o numero de processos que o oracle vai abrir no teu SO
> para gravação.
> tive casos em que alterando esse parâmetro para a metade do numero do
> cpu_count ( observe que nem foi o total do cpu_count...) o ganho na
> performance foi bem significativo ( coisa de relatorios de 5hs cairem para
> 1,5hs ), pois estava com gargalo na escrita me disco, fora o load average do
> servidor caindo drasticamente.
> Portanto, cada caso é um caso.
> 
> 
> 
> 
> Em 10 de fevereiro de 2010 10:54, Duilio Bruniera Junior  > escreveu:
> 
> >
> >
> > Concordo com o pessoal tambem tenho um ambiente com 2 proc e 4 core (8
> > processadores) conforme a documentação da oracle cpu/8 , eu tembem uso
> > db_writer_processes=1.
> >
> > Em 10 de fevereiro de 2010 09:40, Marcelo Procksch <
> > marceloprock...@... > escreveu:
> >
> >
> > > Isso mesmo Leonardo.
> > >
> > > Abraço
> > > Marcelo Procksch
> > >
> > > Em 10 de fevereiro de 2010 09:29, Leonardo Santos da Mata <
> > > leonardodam...@... > escreveu:
> > >
> > > >
> > > >
> > > > ei marcelo,
> > > > Eu estou usando uma máquina que tem dois processadores que são quad
> > core
> > > > 64.
> > > >
> > > > conforme a documentação que passou, eu tenho 8 processadores eu teria
> > de
> > > > usar apenas 1 DB_WRITER_PROCESSES??
> > > >
> > > > Obrigado
> > > >
> > > > 2010/2/10 Marcelo Procksch 
> > > > 
> >  > > 40gmail.com>
> > > > >
> > > >
> > > >
> > > > > Bom dia!
> > > > >
> > > > > A Documetação diz que deve usar 1 DB_WRITER_PROCESSES a cada 8
> > > > > processadores, ou seja vc usaria dois se tivesse 16 processadores e
> > > assim
> > > > > por diante.
> > > > >
> > > > > Segue o link:
> > > > >
> > > > >
> > > >
> > >
> > http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/instance_tune.htm#sthref768
> > > > >
> > > > > Abraço
> > > > > Marcelo Procksch
> > > > >
> > > > > Em 10 de fevereiro de 2010 08:39, Alex 
> > > > > 
> > > 
> > > > > >escreveu:
> > > > >
> > > > > >
> > > > > >
> > > > > > Bom dia!
> > > > > >
> > > > > > Acredito que seja um pouco exagerado colocar o
> > > > > > DB_WRITER_PROCESSES=CPU_COUNT, visto que o valor defaul dele é
> > > > > CPU_COUNT/8.
> > > > > >
> > > > > > DB_WRITER_PROCESSES
> > > > > > Range of values: 1 to 20
> > > > > > Default value: 1 or CPU_COUNT / 8, whichever is greater
> > > > > >
> > > > > > Se não estiver tendo eventos como "Free Buffer", não é necessário
> > > > alterar
> > > > > > este parâmetro!
> > > > > >
> > > > > > []'s
> > > > > > Alex Zaballa
> > > > > > http://alexzaballa.blogspot.com/
> > > > > >
> > > > > > --- Em 
> > > > > > oracle_br@yahoogrupos.com.br > 40yahoogrupos.com.br
> > > > > > > 40yahoogrupos.com.br>,
> > > >
> > > > > > ®ØÐr¥GØ  escreveu
> > > > > >
> > > > > > >
> > > > > > > Da uma olhada nos parâmetros cpu_count e db_writer_processes
> > > > > > >
> > > > > > > podes colocar o db_writer_processes com o valor igual ao
> > cpu_count
> > > > > > >
> > > > > > >
> > > > > > > Att.
> > > > > > >
> > > > > > >
> > > > > > > Rodrigo Paczek
> > > > > > >
> > > > > > >
> > > > > > > Em 9 de fevereiro de 2010 15:59, Leonardo Santos da Mata <
> > > > > > > leonardodamata@> escreveu:
> > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Pessoal estou precisando de uma dica.
> > > > > > > >
> > > > > > > > Tem como eu colocar o oracle 10 g para 

[oracle_br] Re: Como colocar o oracle 10g para rodar em várias cpus

2010-02-10 Por tôpico Alex
Bom dia!

Acredito que seja um pouco exagerado colocar o DB_WRITER_PROCESSES=CPU_COUNT, 
visto que o valor defaul dele é CPU_COUNT/8.


DB_WRITER_PROCESSES
Range of values: 1 to 20
Default value: 1 or CPU_COUNT / 8, whichever is greater


Se não estiver tendo eventos como "Free Buffer", não é necessário alterar este 
parâmetro!

[]'s
Alex Zaballa
http://alexzaballa.blogspot.com/


--- Em oracle_br@yahoogrupos.com.br, ®ØÐr¥GØ  escreveu
>
> Da uma olhada nos parâmetros cpu_count e db_writer_processes
> 
> podes colocar o db_writer_processes com o valor igual ao cpu_count
> 
> 
> Att.
> 
> 
> Rodrigo Paczek
> 
> 
> Em 9 de fevereiro de 2010 15:59, Leonardo Santos da Mata <
> leonardodam...@...> escreveu:
> 
> >
> >
> > Pessoal estou precisando de uma dica.
> >
> > Tem como eu colocar o oracle 10 g para rodar em várias cpus?
> > >
> > > eu estou rodando o oracle 10 no linux numa máquina que ela tem o
> > > processador intel xeon E5310 1.6 Ghz.
> > > é quad core de 64 bits.
> > >
> > > Eu tenho 8 núcleos e tenha hora que o oracle fica em cima apenas uma cpu.
> > >
> > > Tem como fazer com que o oracle rode em várias cpus?
> > >
> > >
> > >
> >
> > --
> > Enviado de Palmas, TO, Brasil
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >  
> >
> 
> 
> 
> -- 
> Abraço;
> 
> 
> 
> ®ØÐr¥GØ
> Linux Registered User # 480197
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Re: Como colocar o oracle 10g para rodar em várias cpus

2010-02-09 Por tôpico leonardodamata2
oi Rodrigo,

eu posso db_writer_processes no mesmo valor cpu_count?


--- Em oracle_br@yahoogrupos.com.br, ®ØÐr¥GØ  escreveu
>
> Da uma olhada nos parâmetros cpu_count e db_writer_processes
> 
> podes colocar o db_writer_processes com o valor igual ao cpu_count
> 
> 
> Att.
> 
> 
> Rodrigo Paczek
> 
> 
> Em 9 de fevereiro de 2010 15:59, Leonardo Santos da Mata <
> leonardodam...@...> escreveu:
> 
> >
> >
> > Pessoal estou precisando de uma dica.
> >
> > Tem como eu colocar o oracle 10 g para rodar em várias cpus?
> > >
> > > eu estou rodando o oracle 10 no linux numa máquina que ela tem o
> > > processador intel xeon E5310 1.6 Ghz.
> > > é quad core de 64 bits.
> > >
> > > Eu tenho 8 núcleos e tenha hora que o oracle fica em cima apenas uma cpu.
> > >
> > > Tem como fazer com que o oracle rode em várias cpus?
> > >
> > >
> > >
> >
> > --
> > Enviado de Palmas, TO, Brasil
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >  
> >
> 
> 
> 
> -- 
> Abraço;
> 
> 
> 
> ®ØÐr¥GØ
> Linux Registered User # 480197
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Re: Como colocar o oracle 10g para rodar em várias cpus

2010-02-09 Por tôpico Leonardo Santos da Mata
Pessoal estou precisando de uma dica.

Tem como eu colocar o oracle 10 g para rodar em várias cpus?
>
>  eu estou  rodando o oracle 10 no linux  numa máquina que ela tem o
> processador intel xeon E5310 1.6 Ghz.
> é quad core de 64 bits.
>
> Eu tenho 8 núcleos e tenha hora que o oracle fica em cima apenas uma cpu.
>
> Tem como fazer com que o oracle rode em várias cpus?
>
>
>


-- 
Enviado de Palmas, TO, Brasil


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