[oracle_br] Re: BITMAP CONVERSION (TO ROWIDS)

2006-10-20 Por tôpico jlchiappa
Phael, veja : absolutamente *** não é *** o uso em si de bitmap 
copnversion em si que é o bug, mas sim o uso dele EM DETRIMENTO DE um 
plano melhor disponível, então o que vc tem que fazer é pegar uma 
dessas queries que estão fazendo isso e TESTAR COM OUTRO PLANO, se 
não der dif de performance absolutamente NÃO É BUG, o CBO estará no 
caso fazendo a coisa certa , confere ?? Um meio simples de se 
fazer esse teste é meter um _btree_bitmap_plans alterado pra false 
via ALTER SESSION (iirc esse param é alterável por sessão) e ver qual 
plano que é gerado, se for melhor SIM, vc pode estar caindo num bug, 
SE for indiferente simplesmente largue mão, o CBO está correto se 
isso acontecer

[]s

 Chiappa

===
Participe do ENPO - Encontro de Profissionais Oracle 2006 ! 
Informações e inscrições em www.enpo-br.org
José Laurindo Chiappa, Palestrante ENPO-2006
===

--- Em oracle_br@yahoogrupos.com.br, Phael [EMAIL PROTECTED] escreveu

 Gente,
 
 Tenho algumas consultas no banco que estão utilizando a
 conversão de rowids para bitmap. Sei que isso é uma escolha
 do CBO mas pesquisando no metalink vi que isso parece
 ser um BUG... e umas das sugestões é colocar esse parametro:
 
 _b_tree_bitmap_plans=FALSE 
 
 Minha pergunta é...
 Alguém ja passou por isso?
 A solução seria essa mesmo?
 
 Como a empresa é 24/7 fica complicado aplicar um patch ... mas
 se for o caso sabem me dizer se o patch 9.2.0.8 soluciona esse 
 problema???
 
 Oracle9i Enterprise Edition Release 9.2.0.5.0
 Red Had AS 3.0
 
 Phael
 
 [As partes desta mensagem que não continham texto foram removidas]






Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 Vagas Limitadas

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: WWW.ORACLEBR.COM.BR 

  
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

 



Re: [oracle_br] Re: BITMAP CONVERSION (TO ROWIDS)

2006-10-20 Por tôpico Phael
Chiappa,

Ja tinha feito o teste que vc sugeriu, na verdade a principio nem
estava conseguindo dar um alter session porque esse problema 
era em uma aplicação dai fiz um trace e peguei o select e testei 
com o parametro _btree_bitmap_plans=false...  blz... ficou bem melhor
demorava 2min .. passou para 30seg.

Dai criei uma trigger after logon que seta a sessão desse usuario 
resolveu!!! 
mas eu gostaria de saber se tem algum impacto em mudar pro banco inteiro?
colocar no init esse parametro... e reestart na instancia isso afetaria o 
uso de
index do tipo bitmap ??

Outra pergunta... isso seria um BUG mesmo?? sera que o patch 9.2.0.8 resolve??

https://metalink.oracle.com/metalink/plsql/f?p=200:27:2549418528396169552p27_id,p27_show_header,p27_show_help:643600.999,1,1

Phael


  - Original Message - 
  From: jlchiappa 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Friday, October 20, 2006 1:29 PM
  Subject: [oracle_br] Re: BITMAP CONVERSION (TO ROWIDS)


  Phael, veja : absolutamente *** não é *** o uso em si de bitmap 
  copnversion em si que é o bug, mas sim o uso dele EM DETRIMENTO DE um 
  plano melhor disponível, então o que vc tem que fazer é pegar uma 
  dessas queries que estão fazendo isso e TESTAR COM OUTRO PLANO, se 
  não der dif de performance absolutamente NÃO É BUG, o CBO estará no 
  caso fazendo a coisa certa , confere ?? Um meio simples de se 
  fazer esse teste é meter um _btree_bitmap_plans alterado pra false 
  via ALTER SESSION (iirc esse param é alterável por sessão) e ver qual 
  plano que é gerado, se for melhor SIM, vc pode estar caindo num bug, 
  SE for indiferente simplesmente largue mão, o CBO está correto se 
  isso acontecer

  []s

  Chiappa

  ===
  Participe do ENPO - Encontro de Profissionais Oracle 2006 ! 
  Informações e inscrições em www.enpo-br.org
  José Laurindo Chiappa, Palestrante ENPO-2006
  ===

  --- Em oracle_br@yahoogrupos.com.br, Phael [EMAIL PROTECTED] escreveu
  
   Gente,
   
   Tenho algumas consultas no banco que estão utilizando a
   conversão de rowids para bitmap. Sei que isso é uma escolha
   do CBO mas pesquisando no metalink vi que isso parece
   ser um BUG... e umas das sugestões é colocar esse parametro:
   
   _b_tree_bitmap_plans=FALSE 
   
   Minha pergunta é...
   Alguém ja passou por isso?
   A solução seria essa mesmo?
   
   Como a empresa é 24/7 fica complicado aplicar um patch ... mas
   se for o caso sabem me dizer se o patch 9.2.0.8 soluciona esse 
   problema???
   
   Oracle9i Enterprise Edition Release 9.2.0.5.0
   Red Had AS 3.0
   
   Phael
   
   [As partes desta mensagem que não continham texto foram removidas]
  



   

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




Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 Vagas Limitadas

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: WWW.ORACLEBR.COM.BR 

  
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

 



[oracle_br] Re: BITMAP CONVERSION (TO ROWIDS)

2005-07-25 Por tôpico jlchiappa
** Lógico ** que há um benefício, senão a Oracle não teria mudado... 
Na verdade a função do parâmetro é permitir que planos normalmente só 
disponíveis para bitmap indexes passem a estar disponíveis também pra 
índices btree, abrindo NOVAS possibilidades na execução de SQLs. Mas 
é claro, nada vem de graça, isso implica em MAIS consumo de CPU pra 
fazer as conversões, mais espaço temporário pras conversões se os 
índices forem grandes, enfim, mais consumo de modo geral. A Oracle 
avaliou que , num banco bem-tunado, SEM gargalos de CPU, com 
tablespaces LMT, com TEMP rápida (ie, de tamanho adequado. LMT,  e 
com true tempfiles), com áreas de bitmap (ie, bitmap_merge_area_size  
e create_bitmap_area_size) razoáveis, onde NÂO haja desperdício de 
CPU devido à parse constante, etc, esse acréscimo não seria tão 
significativo, e realmente, em muitos casos isso é assim : no maior 
banco que gerencio no cliente atual (um DW com cerca de 5 Tb de 
dados) , quando migramos do 8i para 9.2.0.5 não alteramos o parâmetro 
(na verdade nenhum dos parãmetros _ ), e foi ok, e está rodando há 
mais de 6 meses sem problemas.
 CASO realmente vc queira mudar isso, em banco Produção é ** 
IMPERATIVO ** que vc tenha a bênção e o OK do Suporte, já que 
parâmetros _ são OCULTOS, em produção vc só os muda com aprovação do 
Suporte Oracle, se vc quer que o banco continue sendo Suportado.
 
 Pra se consultar esses parâmetros, o SHOW PARAMETERS do sqlplus não 
funciona, já que são ocultos, vc teria que usar um script do tipo :
 
 set linesize 132
 column name  format a42
 column value format a30
 select
   x.ksppinm  name,
   y.kspftctxvl  value,
   y.kspftctxdf  isdefault,
   decode(bitand
(y.kspftctxvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE')  ismod,
   decode(bitand(y.kspftctxvf,2),2,'TRUE','FALSE')  isadj
 from
   sys.x_$ksppi  x,
   sys.x_$ksppcv2  y
 where
   x.ksppinm like lower('%PARAM_NAME_LIKE%') and
   x.inst_id = userenv('Instance') and
   y.inst_id = userenv('Instance') and
   x.indx+1 = y.kspftctxpn
 order by
   translate(x.ksppinm, ' _', ' ')
/




[]s

 Chiappa
 
--- Em oracle_br@yahoogrupos.com.br, Phael [EMAIL PROTECTED] escreveu
 Bom dia a todos,
 
 Fiz uma migração de dados de um banco para outro(msm versão 9.2.0.5 
só q plataforma diferente AIX p/ Linux) 
 e notei que algumas querys q levavam questão de segundo para serem 
executadas demoravam muito mais no
 novo ambiente e fazendo um tuning nessas querys descobri que CBO 
fazia bitmap conversion from/to rowids.
 
 Procurando no metalink.
 Sugestão seria que o parametro _b_tree_bitmap_plans está com TRUE 
e deve ser FALSE.
 Em versões anteriores ao 9 já era FALSE. porque a Oracle deixou 
como TRUE na nova versão(9 e 10g?
 existe algum beneficio ?
 
 Como são muitas as querys que estão usando BITMAP CONVERSION vou 
ter que mudar para FALSE esse
 parametro!!! 
 
 A solução seria essa mesma??
 
 COMO EU VEJO O VALOR QUE ESSE PARAMETRO ESTA SETADO NO BANCO???
 
 
 Phael
 
 [As partes desta mensagem que não continham texto foram removidas]





__

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar 
__ 
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

 




Re: [oracle_br] Re: BITMAP CONVERSION (TO ROWIDS)

2005-07-25 Por tôpico Phael
Quero ver como esse parametro esta setado na base antiga pois
se estiver como TRUE o problema pode ser outro.

O estranho é que somente algumas consulta há essa conversão
e quando eu dou

alter session set _b_tree_bitmap_plans=FALSE

A consulta restorna em segundos.

Esse problema pode também estar associado a conversão de caracteres na
migração???

Todas os parametros da v$nls_parameter estão iguais nas duas bases.
Foi usado um simples exp/imp.

Não estou conseguindo entender porque o plano de execução dessas consultas
estão assim.


Tanto com usuario SYSTEM como SYS
SQL  select
  2 x.ksppinm  name,
  3 y.kspftctxvl  value,
  4 y.kspftctxdf  isdefault,
  5 decode(bitand
  6  (y.kspftctxvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE')  ismod,
  7 decode(bitand(y.kspftctxvf,2),2,'TRUE','FALSE')  isadj
  8   from
  9 sys.x_$ksppi  x,
 10 sys.x_$ksppcv2  y
 11   where
 12 x.ksppinm like lower('%PARAM_NAME_LIKE%') and
 13 x.inst_id = userenv('Instance') and
 14 y.inst_id = userenv('Instance') and
 15 x.indx+1 = y.kspftctxpn
 16   order by
 17 translate(x.ksppinm, ' _', ' ')
 18
SQL /
Enter value for param_name_like: tree
old  12:x.ksppinm like lower('%PARAM_NAME_LIKE%') and
new  12:x.ksppinm like lower('%tree%') and
   sys.x_$ksppcv2  y
   *
ERROR at line 10:
ORA-00942: table or view does not exist


Phael


- Original Message - 
From: jlchiappa [EMAIL PROTECTED]
To: oracle_br@yahoogrupos.com.br
Sent: Monday, July 25, 2005 9:46 AM
Subject: [oracle_br] Re: BITMAP CONVERSION (TO ROWIDS)


** Lógico ** que há um benefício, senão a Oracle não teria mudado...
Na verdade a função do parâmetro é permitir que planos normalmente só
disponíveis para bitmap indexes passem a estar disponíveis também pra
índices btree, abrindo NOVAS possibilidades na execução de SQLs. Mas
é claro, nada vem de graça, isso implica em MAIS consumo de CPU pra
fazer as conversões, mais espaço temporário pras conversões se os
índices forem grandes, enfim, mais consumo de modo geral. A Oracle
avaliou que , num banco bem-tunado, SEM gargalos de CPU, com
tablespaces LMT, com TEMP rápida (ie, de tamanho adequado. LMT,  e
com true tempfiles), com áreas de bitmap (ie, bitmap_merge_area_size
e create_bitmap_area_size) razoáveis, onde NÂO haja desperdício de
CPU devido à parse constante, etc, esse acréscimo não seria tão
significativo, e realmente, em muitos casos isso é assim : no maior
banco que gerencio no cliente atual (um DW com cerca de 5 Tb de
dados) , quando migramos do 8i para 9.2.0.5 não alteramos o parâmetro
(na verdade nenhum dos parãmetros _ ), e foi ok, e está rodando há
mais de 6 meses sem problemas.
 CASO realmente vc queira mudar isso, em banco Produção é **
IMPERATIVO ** que vc tenha a bênção e o OK do Suporte, já que
parâmetros _ são OCULTOS, em produção vc só os muda com aprovação do
Suporte Oracle, se vc quer que o banco continue sendo Suportado.

 Pra se consultar esses parâmetros, o SHOW PARAMETERS do sqlplus não
funciona, já que são ocultos, vc teria que usar um script do tipo :

 set linesize 132
 column name  format a42
 column value format a30
 select
   x.ksppinm  name,
   y.kspftctxvl  value,
   y.kspftctxdf  isdefault,
   decode(bitand
(y.kspftctxvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE')  ismod,
   decode(bitand(y.kspftctxvf,2),2,'TRUE','FALSE')  isadj
 from
   sys.x_$ksppi  x,
   sys.x_$ksppcv2  y
 where
   x.ksppinm like lower('%PARAM_NAME_LIKE%') and
   x.inst_id = userenv('Instance') and
   y.inst_id = userenv('Instance') and
   x.indx+1 = y.kspftctxpn
 order by
   translate(x.ksppinm, ' _', ' ')
/




[]s

 Chiappa

--- Em oracle_br@yahoogrupos.com.br, Phael [EMAIL PROTECTED] escreveu
 Bom dia a todos,

 Fiz uma migração de dados de um banco para outro(msm versão 9.2.0.5
só q plataforma diferente AIX p/ Linux)
 e notei que algumas querys q levavam questão de segundo para serem
executadas demoravam muito mais no
 novo ambiente e fazendo um tuning nessas querys descobri que CBO
fazia bitmap conversion from/to rowids.

 Procurando no metalink.
 Sugestão seria que o parametro _b_tree_bitmap_plans está com TRUE
e deve ser FALSE.
 Em versões anteriores ao 9 já era FALSE. porque a Oracle deixou
como TRUE na nova versão(9 e 10g?
 existe algum beneficio ?

 Como são muitas as querys que estão usando BITMAP CONVERSION vou
ter que mudar para FALSE esse
 parametro!!!

 A solução seria essa mesma??

 COMO EU VEJO O VALOR QUE ESSE PARAMETRO ESTA SETADO NO BANCO???


 Phael

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





__

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar
__
Links do Yahoo! Grupos

[oracle_br] Re: BITMAP CONVERSION (TO ROWIDS)

2005-07-25 Por tôpico jlchiappa
respostas pra cada item : 

--- Em oracle_br@yahoogrupos.com.br, Phael [EMAIL PROTECTED] escreveu
 Quero ver como esse parametro esta setado na base antiga pois
 se estiver como TRUE o problema pode ser outro.

OK, mas como eu disse esse cara implica em manipular bitmaps, ** não 
** deixe de ver como estão os params de bitmap, e fazer as checagens 
gerais (ie, tablespaces LMT corretamente criadas com uniform size, 
objetos corretamente colocados nas tablespaces (sem initials 
absurdos, por exemplo), banco de modo geral bem em performance, 
CPU/rede/IO absolutamente sem gargalos...

 Esse problema pode também estar associado a conversão de caracteres 
na
 migração???

Creio que não tem nada a ver characterset com isso.

 
 
 Tanto com usuario SYSTEM como SYS
 SQL  select
   2 x.ksppinm  name,
   3 y.kspftctxvl  value,
   4 y.kspftctxdf  isdefault,
   5 decode(bitand
   6  (y.kspftctxvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE')  ismod,
   7 decode(bitand(y.kspftctxvf,2),2,'TRUE','FALSE')  isadj
   8   from
   9 sys.x_$ksppi  x,
  10 sys.x_$ksppcv2  y
  11   where
  12 x.ksppinm like lower('%PARAM_NAME_LIKE%') and
  13 x.inst_id = userenv('Instance') and
  14 y.inst_id = userenv('Instance') and
  15 x.indx+1 = y.kspftctxpn
  16   order by
  17 translate(x.ksppinm, ' _', ' ')
  18
 SQL /
 Enter value for param_name_like: tree
 old  12:x.ksppinm like lower('%PARAM_NAME_LIKE%') and
 new  12:x.ksppinm like lower('%tree%') and
sys.x_$ksppcv2  y
*
 ERROR at line 10:
 ORA-00942: table or view does not exist
 
use X$ ao invés de X_$, então, e conectado como SYS (ou crie as views 
x_$ e dê os privs pro system, se preferir).

[]s

 Chiappa





__

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar 
__ 
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