Re: [oracle_br] Re: Filtra campo dentro do From

2013-07-23 Por tôpico Emerson Sanches
Bom dia pessoal, fiz os testes aqui e a sintaxe funcionou
normalmente...mas vou seguir a sugestão do Fabio e utilizar o
padrão ANSI/SQL..obrigado a todos pela atenção..

[]s

Emerson Sanches
Analista de Sistemas


Em 22 de julho de 2013 19:57, Fabio Prado fbifa...@gmail.com escreveu:

 Emerson,

   Não há vantagem alguma.

Aprenda a analisar um plano de execução que você verá que o que estou
 falando é verdade. Segue abaixo o link de um artigo meu sobre o básico de
 como gerar e analisar um plano de execução:

 http://www.fabioprado.net/2011/03/analisando-o-plano-de-execucao-para.html


 []s


 Em 22 de julho de 2013 19:52, Emerson Sanches
 emerson.sanc...@gmail.comescreveu:

  **
 
 
  Boa noite pessoal..desculpe a demora em dar a resposta,mas
  estava viajando do trabalho ate em casa...rs. Fabio, é exatamente
  isso que eu vi, pensei que fazer isso trouxesse alguma vantagem pois
  poderia fazer o join com a segunda tabela já filtrada da coisas que nao
  quero, achei que assim poderia ficar mais rapido. Só vou conseguir
 testar a
  sintaxe amanha, testo e coloco um posição na lista.
 
  Obrigado pela atenção de todos,
 
  Emerson Sanches
  Analista de Sistemas
 
  Em 22 de julho de 2013 18:47, Fabio Prado fbifa...@gmail.com escreveu:
 
   Chiappa,
  
   É possível sim fazer o filtro na cláusula ON do JOIN (veja exemplo
 abaixo
   no schema HR), porém ninguém recomenda fazer isso. Uma das vantagens do
   padrão ANSI é justamente separar o que é filtro e o que é
 relacionamento.
   Fazer filtro no JOIN bagunça tudo de novo o código!
  
   select e.first_name, d.department_name
   from hr.employees e
   inner join hr.departments d
   on e.department_id = d.department_id
   and e.department_id = 10;
  
   Para aqueles que quiserem pesquisar mais sobre a diferença do padrão
  ANSI e
   o padrão ou dialeto Oracle, consulte:
  
   http://www.fabioprado.net/2012/05/sql-padrao-ansi-x-padrao-oracle.html
  
  
   []s
  
   Fábio Prado
  
  
   Em 22 de julho de 2013 17:48, J. Laurindo Chiappa
   jlchia...@yahoo.com.brescreveu:
  
**
   
   
Vc quer dizer que, na seção de JOIN da cláusula de FROM (usando
 sintaxe
ANSI, portanto), ao invés de comparação entre colunas tipo :
   
SELECT colunasquequero
FROM tabela1 JOIN tabela2 ON colunatal = colunaqual;
   
vc viu algo tipo, digamos :
   
SELECT colunasquequero
FROM tabela1 JOIN tabela2 ON colunatal = colunaqual AND coluna  45;
   
ou seja, tinha Filtragem mesmo na cláusula FROM  Se sim, vc Tem
certeza que viu isso no RDBMS Oracle  Pois eu nunca vi isso não,
 e
  em
toda documentação/referência que conheço é citada comparação entre
   colunas
para indicar a chave do JOIN, com valores eu nunca ouvi falar
   
[]s
   
Chiappa
   
--- Em oracle_br@yahoogrupos.com.br, Emerson Sanches
 emerson.sanches@
   ...
escreveu

 Na realidade achei que dava pra fazer uma condição na recuperação
 de
dados
 mesmo...lembro de ter visto isso em um
 join...



 Emerson Sanches
 Analista de Sistemas


 Em 22 de julho de 2013 17:29, J. Laurindo Chiappa
 jlchiappa@...escreveu:

  **
 
 
  Miltão, acho que podemos dar por ** muito muito Provável** , se
 não
  garantido, que o colega lá usou uma terminologia meio
 inapropriada,
   pra
  dizer o mínimo
 
  Emerson, normalmente por FILTRO em colunas no contexto de
   databases a
  gente entende que vc quer aplicar uma CONDIÇÃO na recuperação de
   dados
(ie,
  receber apenas os registros/linhas aonde uma comparação - de
   igualdade,
  desigualdade, maior/menor, membro de sub-conjunto, etc - seja
verdadeira
  para uma dada coluna), e isso COM CERTEZA não se faz em cláusula
  FROM
de um
  SQL
  TALVEZ o que vc queira na verdade é restringir um dado SQL para
 que
EXIBA
  apenas algumas colunas dentro de uma lista maior, aí sim vc
 usaria
   uma
  cláusula FROM, no estilo :
 
  SELECT colunaqueeuqueroexibir
  FROM (SELECT listadecolunasmuitomaior FROM nomedatabela...);
 
  ok ? É isso que vc quis dizer com filtro ?? Se não é, plz
 Explica
melhor
  
 
  []s
 
  Chiappa
 
  --- Em oracle_br@yahoogrupos.com.br, Milton Bastos Henriquis
 Jr.
  miltonbastos@ escreveu
 
  
   Rapaz... melhor vc perguntar lá no Posto Ipiranga... rs...
  
   Filtro na clausula FROM eu particularmente desconheço! Não me
   lembro
de
  ter
   visto isso!
  
   Alguém conhece???
  
  
  
  
   2013/7/22 emerson_sanches emerson.sanches@
 
  
**
   
   
Boa tarde pessoal da lista, sei que dá pra fazer isso, mas to
apanhando
pra achar na net. Gostaria de fazer o filtro de um campo na
clausula
 

Re: RES: [oracle_br] RMAN - começando

2013-07-23 Por tôpico Rafael Mendonca
Pegando o embalo do nosso amigo Márcio, eu queria alguma referêcnia de um bom 
livro de RMAN, que abordasse mais a prática, o dia dia, problemas, um livro
que não desse tanta ênfase a parte teórica e a arquitetura, pois já tenho um 
livro que aborda muita teoria e a arquitetura do RMAN.
 


 De: Grupos marcio_...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Segunda-feira, 22 de Julho de 2013 13:53
Assunto: RES: [oracle_br] RMAN - começando
  


 
   
 
Milton,

Antes de ir para os livros e referências, eu li todos esses artigos no seu
site. Agora como o Welvis comentou, é aprofundar e familiarizar com o RMAN.

Abraços.

-Mensagem original-
De: mailto:oracle_br%40yahoogrupos.com.br 
[mailto:mailto:oracle_br%40yahoogrupos.com.br] Em
nome de Milton Bastos Henriquis Jr.
Enviada em: segunda-feira, 22 de julho de 2013 11:51
Para: mailto:oracle_br%40yahoogrupos.com.br
Assunto: Re: [oracle_br] RMAN - começando

Os meus archives ficam em um disco separado, e quando efetuo backup faço a
limpeza dos archives backupeados, acredito que o erro ocorre por conta desse
procedimento.

Quando vc apaga manualmente seus archives, o catálogo do RMAN não sabe que
eles não existem mais.

O modo correto de fazer isso é deixar que o próprio RMAN apague os archives
que já foram backupeados.

Isso é feito pelo comando: delete obsolete lá dentro do RMAN mesmo (este
comando deve entrar no teu script).

Referencia pra vc estudar o básico de forma rápida e prática:

RMAN

Backup usando RMAN
Monografia – RMAN (Oracle 9i)
RMAN – Comandos e Configurações
OCP 11g – Capítulo 3: Catálogo do RMAN (parte 1) OCP 11g – Capítulo 3:
Catálogo do RMAN (parte 2) OCP 11g – Capítulo 4: Criando backups do RMAN
(parte 1) OCP 11g - Capítulo 4: Criando backups do RMAN (parte 2)

Todos esses artigos estão no link:

http://certificacaobd.com.br/dbarea-oracle/

2013/7/22 Grupos mailto:marcio_cbj%40yahoo.com.br

 **


 Boas.

 Estou começando testes para implementação do RMAN aqui na empresa, 
 ainda de uma maneira básica.

 Na minha crontab, eu tenho um agendamento que chama um script que 
 contém o seguinte comando dentro: “backup database plus archivelog;”

 Esse agendamento não está dando certo, executei o comando na mão e 
 apresentava erro de não ter encontrado os ARCHIVELOGs. Executei o 
 comando “crosscheck archivelog all”, após isso o backup foi efetuado.

 Os meus archives ficam em um disco separado, e quando efetuo backup 
 faço a limpeza dos archives backupeados, acredito que o erro ocorre 
 por conta desse procedimento.

 Minha dúvida é a seguinte, eu tenho que executar o crosscheck antes do 
 meu script de backup, ou a maneira na qual estou fazendo não está correto?

 Grato.

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

 


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



--
--
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/
--
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » 
Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO 
ESPAÇO! VISITE: http://www.oraclebr.com.br/
--
 Links do Yahoo! Grupos

   
  

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



Re: RES: [oracle_br] RMAN - começando

2013-07-23 Por tôpico Vitor Junior
A série Recipes é o que tu procura (abordagem prática de cenários)
http://www.amazon.com/RMAN-Recipes-Oracle-Database-Problem-Solution/dp/1590598512



Att,/Regards,


Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional - OCP
Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid
Infrastructure Administrator - OCE
Oracle Database 11g Performance Tuning Certified Expert - OCE
Oracle Exadata 11g Certified Implementation Specialist
Oracle Certified Associate, MySQL 5
mail, gtalk e msn: vitorj...@gmail.com
http://certificacaobd.com.br/
skype: vjunior1981


Em 23 de julho de 2013 13:07, Rafael Mendonca raffaell.t...@yahoo.comescreveu:

 **


 Pegando o embalo do nosso amigo Márcio, eu queria alguma referêcnia de um
 bom livro de RMAN, que abordasse mais a prática, o dia dia, problemas, um
 livro
 que não desse tanta ênfase a parte teórica e a arquitetura, pois já tenho
 um livro que aborda muita teoria e a arquitetura do RMAN.


 
 De: Grupos marcio_...@yahoo.com.br
 Para: oracle_br@yahoogrupos.com.br
 Enviadas: Segunda-feira, 22 de Julho de 2013 13:53
 Assunto: RES: [oracle_br] RMAN - começando




 Milton,

 Antes de ir para os livros e referências, eu li todos esses artigos no seu
 site. Agora como o Welvis comentou, é aprofundar e familiarizar com o RMAN.

 Abraços.

 -Mensagem original-
 De: mailto:oracle_br%40yahoogrupos.com.br [mailto:mailto:oracle_br%
 40yahoogrupos.com.br] Em
 nome de Milton Bastos Henriquis Jr.
 Enviada em: segunda-feira, 22 de julho de 2013 11:51
 Para: mailto:oracle_br%40yahoogrupos.com.br
 Assunto: Re: [oracle_br] RMAN - começando

 Os meus archives ficam em um disco separado, e quando efetuo backup faço a
 limpeza dos archives backupeados, acredito que o erro ocorre por conta
 desse
 procedimento.

 Quando vc apaga manualmente seus archives, o catálogo do RMAN não sabe que
 eles não existem mais.

 O modo correto de fazer isso é deixar que o próprio RMAN apague os archives
 que já foram backupeados.

 Isso é feito pelo comando: delete obsolete lá dentro do RMAN mesmo (este
 comando deve entrar no teu script).

 Referencia pra vc estudar o básico de forma rápida e prática:

 RMAN

 Backup usando RMAN
 Monografia – RMAN (Oracle 9i)
 RMAN – Comandos e Configurações
 OCP 11g – Capítulo 3: Catálogo do RMAN (parte 1) OCP 11g – Capítulo 3:
 Catálogo do RMAN (parte 2) OCP 11g – Capítulo 4: Criando backups do RMAN
 (parte 1) OCP 11g - Capítulo 4: Criando backups do RMAN (parte 2)

 Todos esses artigos estão no link:

 http://certificacaobd.com.br/dbarea-oracle/

 2013/7/22 Grupos mailto:marcio_cbj%40yahoo.com.br

  **
 
 
  Boas.
 
  Estou começando testes para implementação do RMAN aqui na empresa,
  ainda de uma maneira básica.
 
  Na minha crontab, eu tenho um agendamento que chama um script que
  contém o seguinte comando dentro: “backup database plus archivelog;”
 
  Esse agendamento não está dando certo, executei o comando na mão e
  apresentava erro de não ter encontrado os ARCHIVELOGs. Executei o
  comando “crosscheck archivelog all”, após isso o backup foi efetuado.
 
  Os meus archives ficam em um disco separado, e quando efetuo backup
  faço a limpeza dos archives backupeados, acredito que o erro ocorre
  por conta desse procedimento.
 
  Minha dúvida é a seguinte, eu tenho que executar o crosscheck antes do
  meu script de backup, ou a maneira na qual estou fazendo não está
 correto?
 
  Grato.
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

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

 

 --
 --
 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/
 --
 --
 Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
 Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO
 ESPAÇO! VISITE: http://www.oraclebr.com.br/
 --
  Links do Yahoo! Grupos

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

  



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





--
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/ 
--
Apostilas » Dicas e 

[oracle_br] Instalação Oracle Developer Suite 32 bits - Windows 7 64 bits

2013-07-23 Por tôpico Matheus Malta de Aguiar
PessoALL...

Preciso instalar o Oracle Developer Suite, versão 32 bits na minha estação
de trabalho que possui o Win7 64 Bits instalado.

Ao tentar instalar ele incorre em falha, informando sobre a versão do SO:
deve ser 5.0, 5.1, 5.2 - Reais 6.1.

Em seguida, tentei efetuar a instalação utilizando a feature de instalação
por compatibilidade, porém ele dá o seguinte erro:
Verificando espaço de swap: 0 MB disponíveis, 1535 MB necessários.

Sabem como posso resolver esta situação?

Obrigado à todos!

Matheus


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



Re: [oracle_br] Tabela Mutante

2013-07-23 Por tôpico Jales Jose Moraes
Obrigado, a solução encontrada foi via package mesmo...





 De: Fabio Prado fbifa...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Segunda-feira, 22 de Julho de 2013 23:31
Assunto: Re: [oracle_br] Tabela Mutante
 

Jales, no link http://glufke.net/oracle/viewtopic.php?t=96 você encontrará
a solução!

[]s


Em 22 de julho de 2013 20:08, Jales Jose Moraes
malphig...@yahoo.com.brescreveu:

 **


 Sim fábio, estou tentando colocar uma outra trigger (dessa vez after, numa
 tentativa de resolver a questão). Você tem alguma idéia?

 
 De: Fabio Prado fbifa...@gmail.com
 Para: oracle_br@yahoogrupos.com.br
 Enviadas: Segunda-feira, 22 de Julho de 2013 19:52
 Assunto: Re: [oracle_br] Tabela Mutante


 dentro da trigger você está tentando alterar dados da mesma tabela?

 Em 22 de julho de 2013 19:03, Jales Jose Moraes
 malphig...@yahoo.com.brescreveu:

  **
 
 
  Boa noite!
 
  Senhores estou tendo erro de tabela mutante da seguinte forma:
 
  Foi me passada uma nova regra onde ao inserir um novo registro, é para
  setar o registro antigo (update) com uma status 'N' e o novo registro com
  um status 'S'.
 
  Bom, fiz um cursor na trigger para localizar o registro antigo com base
 em
  uma número sequencial que é comum a ambos os registros, fiz o update e
 logo
  após o insert e então ganhei o erro abaixo:
 
   ORA-04091: a tabela SMS_FNDE.S_FINANC é mutante; talvez o gatilho/função
  não possa localizá-la ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro
  durante a execução do gatilho 'SMS.A_IUD' ORA-06512: em SMS.A_IUD, line
  197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD'
 
  Como resolver esta situação?
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 --
 Fábio Prado
 www.fabioprado.net
 Compartilhando conhecimentos e treinando profissionais em Bancos de Dados
 Oracle

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

 

 --
 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/
 --
 Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
 Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO!
 VISITE: http://www.oraclebr.com.br/
 -- Links do Yahoo!
 Grupos

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

  




-- 
Fábio Prado
www.fabioprado.net
Compartilhando conhecimentos e treinando profissionais em Bancos de Dados
Oracle


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





--
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/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

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



[oracle_br] erro ao adicionar disco a um diskgroup

2013-07-23 Por tôpico Emerson Martins
Bom dia pessoal

Estamos com um probleminha ao adicionar um disco a um diskgroup no nosso
oracle RAC.

Cenário:
Oracle RAC 11g R2
Red Hat 5.5
ASM

Segue comandos e os respectivos erros:

SQL alter diskgroup database add disk 'ORCL:DATABASEV7K' ;
alter diskgroup database add disk 'ORCL:DATABASEV7K'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15075: disk(s) are not visible cluster-wide


SQL alter diskgroup database drop disk 'ORCL:DATABASEV7K' force;
alter diskgroup database drop disk 'ORCL:DATABASEV7K' force
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15054: disk ORCL:DATABASEV7K does not exist in diskgroup DATABASE


SQL


Porém os discos estão sendo enchergados pelo ASM, inclusive tentamos a
adição via interface gráfica e nao obtivemos sucesso.


[root@alcomprasbd02 ~]# /etc/init.d/oracleasm scandisks
Scanning the system for Oracle ASMLib disks:   [  OK  ]
[root@alcomprasbd02 ~]# /etc/init.d/oracleasm listdisks
ARCHIVELOG
ARCHIVELOGV7K
DATABASE
DATABASEV7K



Att,

Emerson Martins
DBA Oracle
Oracle 11g Certified Associate
*Contatos:*
+ 55 82 91235504 /
+ 55 82 96681283


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



Re: [oracle_br] erro ao adicionar disco a um diskgroup

2013-07-23 Por tôpico Rodrigo Mufalani
Boa tarde Emerson,

  Faça o scandisks em todos os nodes do cluster para ver se ele encontra o 
mesmo número de discos.


Atenciosamente,
Rodrigo Mufalani
rodr...@mufalani.com.br
www.mufalani.com.br





On 23/07/2013, at 10:58, Emerson Martins emersonmarti...@gmail.com wrote:

 Bom dia pessoal
 
 Estamos com um probleminha ao adicionar um disco a um diskgroup no nosso
 oracle RAC.
 
 Cenário:
 Oracle RAC 11g R2
 Red Hat 5.5
 ASM
 
 Segue comandos e os respectivos erros:
 
 SQL alter diskgroup database add disk 'ORCL:DATABASEV7K' ;
 alter diskgroup database add disk 'ORCL:DATABASEV7K'
 *
 ERROR at line 1:
 ORA-15032: not all alterations performed
 ORA-15075: disk(s) are not visible cluster-wide
 
 SQL alter diskgroup database drop disk 'ORCL:DATABASEV7K' force;
 alter diskgroup database drop disk 'ORCL:DATABASEV7K' force
 *
 ERROR at line 1:
 ORA-15032: not all alterations performed
 ORA-15054: disk ORCL:DATABASEV7K does not exist in diskgroup DATABASE
 
 SQL
 
 Porém os discos estão sendo enchergados pelo ASM, inclusive tentamos a
 adição via interface gráfica e nao obtivemos sucesso.
 
 [root@alcomprasbd02 ~]# /etc/init.d/oracleasm scandisks
 Scanning the system for Oracle ASMLib disks: [ OK ]
 [root@alcomprasbd02 ~]# /etc/init.d/oracleasm listdisks
 ARCHIVELOG
 ARCHIVELOGV7K
 DATABASE
 DATABASEV7K
 
 Att,
 
 Emerson Martins
 DBA Oracle
 Oracle 11g Certified Associate
 *Contatos:*
 + 55 82 91235504 /
 + 55 82 96681283
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 



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





--
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/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://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:
oracle_br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




[oracle_br] USANDO 'OR' NO FILTRO

2013-07-23 Por tôpico Elcio Francisco
Pessoal, os dba´s sempre fala que no filtro quando tem a clausula OR deixa 
lento. Nesse caso testo se data dt_confirmacao_documento for null ele busca 
pela data gar.dt_vencimento
como fazer isso sem usar o OR

Muito obrigado

                                select count(distinct mov.numero_venda) qtd
                                                 ,sum(gar.saldo_devedor) 
total_saldo
                                                 ,loj.unidade_servico
                                     from crd.empresa      loj
                                         ,crd.cliente   cli
                                         ,crd.vendas  gar
                                         ,crd.pedido mov                        
                           
                                     where loj.regional LIKE DECODE(p_regional, 
'0', '%','%' || p_regional || '%') 
                                       and loj.filial LIKE DECODE(p_filial, 
'0', '%','%' || p_filial || '%')
                                       and loj.escritorio = p_escritorio  
                                       and loj.grupo = p_cliente
                                       and loj.regional  'T0'
                                       and loj.filial    'T0'
                                       and loj.identificacao = '1'
                                       and loj.empresa  = cli.empresa_origem
                                       and cli.cliente = gar.cliente
                                       and cli.empresa = gar.empresa 
                                       and gar.flg_garantia = 'P'  
                                       and (((dt_confirmacao_documento is not 
null) and trunc(dt_confirmacao_documento) = p_primeiro_dia) or
                                           ((dt_confirmacao_documento is null)  
    and trunc(gar.dt_vencimento)       = p_primeiro_dia))
                                       and (((dt_confirmacao_documento is not 
null) and trunc(dt_confirmacao_documento) = p_ultimo_dia) or
                                           ((dt_confirmacao_documento is null)  
    and trunc(gar.dt_vencimento)       = p_ultimo_dia))                        
           
                                       and gar.numero_venda = mov.numero_venda  
                                
                                       and mov.operacao = '01'
                                       and mov.produto LIKE DECODE(p_produto, 
'0', '%','%' || p_produto || '%') 
                                       and mov.loja_empresa = loj.empresa
                                       and mov.loja_central = loj.central
                                       and mov.loja_loja = loj.loja
                                       --and (loj.fim_atividade is null or 
gar.dt_vencimento  loj.fim_atividade)                                   
                                       group by loj.unidade_servico             
                       
                                       order by loj.unidade_servico
 
Elcio Francisco 

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



[oracle_br] Re: Instalação Oracle Developer Suite 32 bits - Windows 7 64 bits

2013-07-23 Por tôpico J. Laurindo Chiappa
  Colega, *** PLZ *** nos diga : EXATAMENTE QUAL release E qual versão (com 5 
dígitos) do Oracle Developer Suite de 32-bits que vc está instalando ??? Qual 
patchset , se for developer 6i ??  Qual a Edição (Enterprise, Ultimate, 
whatever) do Windows ?? 
  SE for developer 6, 
http://windows7bugs.wordpress.com/2010/03/01/installing-oracle-developer-forms-reports-6i-on-windows-7-64bit/
 é a ref, e se for 10g (supondo ao menos 10.1.2.0.2) 
http://anythingsimple.blogspot.com.br/2011/01/install-oracle-developer-suite-10g-on.html
 e 
http://windows7bugs.wordpress.com/2010/02/18/install-oracle-10g-onward-database-developer-on-windows-7/
 são refs, EMBORA eu pessoalmente tenha tido diversos problemas com 10.1.2.0.2 
na hora de fazer o setup que só solucionei com a aplicação do patch que deixou 
em 10.1.2.0.3 : se for developer 10g, eu Recomendaria Muito que vc considerasse 
10.1.2.0.3 como o mínimo E é CLARO que se for developer acima de 6i, vc 
AINDA vai ter a questão da Dependência de versão do JRE presente na hora de 
configurar para rodar
  
   []s
   
 Chiappa

--- Em oracle_br@yahoogrupos.com.br, Matheus Malta de Aguiar maltamatheus@... 
escreveu

 PessoALL...
 
 Preciso instalar o Oracle Developer Suite, versão 32 bits na minha estação
 de trabalho que possui o Win7 64 Bits instalado.
 
 Ao tentar instalar ele incorre em falha, informando sobre a versão do SO:
 deve ser 5.0, 5.1, 5.2 - Reais 6.1.
 
 Em seguida, tentei efetuar a instalação utilizando a feature de instalação
 por compatibilidade, porém ele dá o seguinte erro:
 Verificando espaço de swap: 0 MB disponíveis, 1535 MB necessários.
 
 Sabem como posso resolver esta situação?
 
 Obrigado à todos!
 
 Matheus
 
 
 [As partes desta mensagem que não continham texto foram removidas]





Re: [oracle_br] erro ao adicionar disco a um diskgroup

2013-07-23 Por tôpico Fernando Martins
Você pode tentar passando o caminho completo para os devices dos discos ou
LUNs, como /dev/mapper/mpath0 ou algo semelhante:

SQL alter diskgroup database add disk '/dev/mapper/DATABASEV7K'  name
DATABASEV7K;

-- 
Fernando Martins

facebook.com/fernandomarp
Linkedin: http://br.linkedin.com/pub/fernando-pereira/47/a92/97

God grant us the serenity to accept the things we cannot change,
courage to change the things we can,
and wisdom to know the difference.


Em 23 de julho de 2013 14:51, Rodrigo Mufalani
rodr...@mufalani.com.brescreveu:

 Boa tarde Emerson,

   Faça o scandisks em todos os nodes do cluster para ver se ele encontra o
 mesmo número de discos.


 Atenciosamente,
 Rodrigo Mufalani
 rodr...@mufalani.com.br
 www.mufalani.com.br





 On 23/07/2013, at 10:58, Emerson Martins emersonmarti...@gmail.com
 wrote:

  Bom dia pessoal
 
  Estamos com um probleminha ao adicionar um disco a um diskgroup no nosso
  oracle RAC.
 
  Cenário:
  Oracle RAC 11g R2
  Red Hat 5.5
  ASM
 
  Segue comandos e os respectivos erros:
 
  SQL alter diskgroup database add disk 'ORCL:DATABASEV7K' ;
  alter diskgroup database add disk 'ORCL:DATABASEV7K'
  *
  ERROR at line 1:
  ORA-15032: not all alterations performed
  ORA-15075: disk(s) are not visible cluster-wide
 
  SQL alter diskgroup database drop disk 'ORCL:DATABASEV7K' force;
  alter diskgroup database drop disk 'ORCL:DATABASEV7K' force
  *
  ERROR at line 1:
  ORA-15032: not all alterations performed
  ORA-15054: disk ORCL:DATABASEV7K does not exist in diskgroup DATABASE
 
  SQL
 
  Porém os discos estão sendo enchergados pelo ASM, inclusive tentamos a
  adição via interface gráfica e nao obtivemos sucesso.
 
  [root@alcomprasbd02 ~]# /etc/init.d/oracleasm scandisks
  Scanning the system for Oracle ASMLib disks: [ OK ]
  [root@alcomprasbd02 ~]# /etc/init.d/oracleasm listdisks
  ARCHIVELOG
  ARCHIVELOGV7K
  DATABASE
  DATABASEV7K
 
  Att,
 
  Emerson Martins
  DBA Oracle
  Oracle 11g Certified Associate
  *Contatos:*
  + 55 82 91235504 /
  + 55 82 96681283
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 



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



 


 --
 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/

 --
 Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
 Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO!
 VISITE: http://www.oraclebr.com.br/
 
 Links do Yahoo! Grupos





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



[oracle_br] Atrasar um processo por 64 segundos.

2013-07-23 Por tôpico Carlos Silva
Boa tarde, pessoal!
  Preciso fazer uma script que segure um processo por 64 segundos. 
Alguém poderia me auxiliar de como criar?
At.:

Carlos SilvaSkype - carlos-csilva 

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



Re: [oracle_br] Atrasar um processo por 64 segundos.

2013-07-23 Por tôpico Fabricio Pedroso Jorge
Você quer fazer com que o processo durma por 64 segundos?

Tente isso, se for em PL/SQL o seu processamento: DBMS_LOCK.SLEEP(64);


Em 23 de julho de 2013 15:27, Carlos Silva carlos-csi...@hotmail.comescreveu:

 **


 Boa tarde, pessoal!
 Preciso fazer uma script que segure um processo por 64 segundos. Alguém
 poderia me auxiliar de como criar?
 At.:

 Carlos SilvaSkype - carlos-csilva

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

  




-- 
***Fabrício Pedroso Jorge.*

Administrador de Banco de Dados
Oracle 11g Certified SQL Expert
Oracle 11g Certified Associate
Oracle 11g Certified Professional
Linux Professional Institute Certified Level I (LPIC-I)
ITIL V3 Foudations
certificacaodb.com.br

*Resumo Profissional:*
http://br.linkedin.com/in/fabriciojorge

*Contatos:*
+ 55 91 88991116
skype: fabricio.pedroso.jorge
fpjb...@gmail.com


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





--
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/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://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:
oracle_br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [oracle_br] Atrasar um processo por 64 segundos.

2013-07-23 Por tôpico Fabio Prado
Carlos, vc tem que usar a procedure SLEEP da package DBMS_LOCK.

Exemplo:

BEGIN
DBMS_LOCK.SLEEP (64);
END;

  Se precisar usar dentro de uma instrução SQL, coloque o código que chama
a procedure dentro de uma função e chame essa função dentro da instrução
SQL.

  Mais informações:
http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_lock.htm#i997212

[]s

Fábio Prado
www.fabioprado.net


Em 23 de julho de 2013 15:27, Carlos Silva carlos-csi...@hotmail.comescreveu:

 **


 Boa tarde, pessoal!
 Preciso fazer uma script que segure um processo por 64 segundos. Alguém
 poderia me auxiliar de como criar?
 At.:

 Carlos SilvaSkype - carlos-csilva

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

  




-- 
Fábio Prado
www.fabioprado.net
Compartilhando conhecimentos e treinando profissionais em Bancos de Dados
Oracle


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





--
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/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://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:
oracle_br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




[oracle_br] Re: USANDO 'OR' NO FILTRO

2013-07-23 Por tôpico J. Laurindo Chiappa
  Bom, primeiro eu ** TENHO ** que dizer que alguém que diz, point-blank e 
generalizando, que X deixa lento, SEM dizer o porque, SEm testes/provas/caso 
repetível, para mim está usando regras de dedão for a de contexto, está é 
ESPALHANDO MITOS, falando abobrinha, okdoc ?? É algo semelhante aos tantos 
outros mitos de performance, tipo EXISTS é melhor/pior que IN - afirmações 
extraordinárias exigem provas extraordinárias Pra  mim afirmação sem prova 
é a indicação CLARA que o sujeito é um dba, entre aspas e minúsculas 
totais

   Isso posto, a sua resposta - se por qquer motivo vc não quiser usar o NULL, 
sem analisar muito, eu ACHO que com :
   
   and (loj.fim_atividade is null or gar.dt_vencimento  loj.fim_atividade) 
  
   
   vc quer que se loj.fim_atividade for null NADA SEJA COMPARADO (o mesmo 
efeito que vc fazer uma comparação sempre verdadeira), e que quando 
loj.fim_atividade NÃO for null aí sim a comparação deve ser feita com 
gar.dt_vencimento  loj.fim_atividade  Sabendo (como já comentado em outra 
thread recentemente) que uma das possibilidades ao se lidar com NULL é o NVL, 
poderíamos usar :
   
   and gar.dt_vencimento  nvl(loj.fim_atividade, to_date('31/12/', 
'dd/mm/') )
   
   
   ok ? A linha acima é praticamente a tradução do que eu disse em português 
: SE fim_atividade for null o valor retornado pelo NVL é um valor que  
necessariamente é maior que dt_vencimento, portanto sempre sendo verdadeira, E 
SE fim_atividade for não-nulo, aí a comparação é dt_vencimento  
loj.fim_atividade , como desejado, acho eu
   
[]s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, Elcio Francisco elciofrancisco@... 
escreveu

 Pessoal, os dba´s sempre fala que no filtro quando tem a clausula OR deixa 
 lento. Nesse caso testo se data dt_confirmacao_documento for null ele busca 
 pela data gar.dt_vencimento
 como fazer isso sem usar o OR
 
 Muito obrigado
 
                                 select count(distinct mov.numero_venda) qtd
                                                  ,sum(gar.saldo_devedor) 
 total_saldo
                                                  ,loj.unidade_servico
                                      from crd.empresa      loj
                                          ,crd.cliente   cli
                                          ,crd.vendas  gar
                                          ,crd.pedido mov                      
                              
                                      where loj.regional LIKE 
 DECODE(p_regional, '0', '%','%' || p_regional || '%') 
                                        and loj.filial LIKE DECODE(p_filial, 
 '0', '%','%' || p_filial || '%')
                                        and loj.escritorio = p_escritorio  
                                        and loj.grupo = p_cliente
                                        and loj.regional  'T0'
                                        and loj.filial    'T0'
                                        and loj.identificacao = '1'
                                        and loj.empresa  = cli.empresa_origem
                                        and cli.cliente = gar.cliente
                                        and cli.empresa = gar.empresa 
                                        and gar.flg_garantia = 'P'  
                                        and (((dt_confirmacao_documento is not 
 null) and trunc(dt_confirmacao_documento) = p_primeiro_dia) or
                                            ((dt_confirmacao_documento is 
 null)      and trunc(gar.dt_vencimento)       = p_primeiro_dia))
                                        and (((dt_confirmacao_documento is not 
 null) and trunc(dt_confirmacao_documento) = p_ultimo_dia) or
                                            ((dt_confirmacao_documento is 
 null)      and trunc(gar.dt_vencimento)       = p_ultimo_dia))               
                     
                                        and gar.numero_venda = 
 mov.numero_venda                                  
                                        and mov.operacao = '01'
                                        and mov.produto LIKE DECODE(p_produto, 
 '0', '%','%' || p_produto || '%') 
                                        and mov.loja_empresa = loj.empresa
                                        and mov.loja_central = loj.central
                                        and mov.loja_loja = loj.loja
                                        --and (loj.fim_atividade is null or 
 gar.dt_vencimento  loj.fim_atividade)                                   
                                        group by loj.unidade_servico           
                          
                                        order by loj.unidade_servico
  
 Elcio Francisco 
 
 [As partes desta mensagem que não continham texto foram removidas]





Re: [oracle_br] Re: USANDO 'OR' NO FILTRO

2013-07-23 Por tôpico Elcio Francisco
Eu entendo amigo Chiappa te agradeço por sempre esta nos ajudando, o que você 
diz e te agradeço mas minha duvida é sobre essa parte destacada do filtro

select count(distinct mov.numero_venda) qtd
                                                  ,sum(gar.saldo_devedor) 
total_saldo
                                                  ,loj.unidade_servico
                                     from crd.loja      loj                     
                    
                                         ,crd.garantia  gar
                                         ,crd.cliente   cli
                                         ,crd.movimento mov                     
                              
                                     where loj.regional LIKE DECODE(p_regional, 
'0', '%','%' || p_regional || '%') 
                                       and loj.filial LIKE DECODE(p_filial, 
'0', '%','%' || p_filial || '%')
                                       and loj.escritorio    = p_escritorio  
                                       and loj.grupo         = p_cliente
                                       and loj.regional       'T0'
                                       and loj.filial         'T0'
                                       and loj.identificacao = '1'
                                       and loj.empresa       = 
cli.empresa_origem
                                       and cli.cliente       = gar.cliente
                                       and cli.empresa       = gar.empresa 
                                       and gar.flg_garantia  = 'P'  
                                       and gar.dt_naoconfirmacao is not null 

                                       and (((gar.dt_confirmacao_documento is 
not null) and trunc(gar.dt_confirmacao_documento) = p_primeiro_dia) or
                                           ((gar.dt_confirmacao_documento is 
null)      and trunc(gar.dt_vencimento)       = p_primeiro_dia))
                                       and (((gar.dt_confirmacao_documento is 
not null) and trunc(gar.dt_confirmacao_documento) = p_ultimo_dia) or
                                           ((gar.dt_confirmacao_documento is 
null)      and trunc(gar.dt_vencimento)       = p_ultimo_dia))                 
                  

                                       and gar.numero_venda = mov.numero_venda  
                                
                                       and mov.operacao = '01'
                                       and mov.produto LIKE DECODE(p_produto, 
'0', '%','%' || p_produto || '%') 
                                       and mov.loja_empresa = loj.empresa
                                       and mov.loja_central = loj.central
                                       and mov.loja_loja = loj.loja             
                          
                                       group by loj.unidade_servico             
                       
                                       order by loj.unidade_servico 

Elcio Francisco 





 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 23 de Julho de 2013 15:40
Assunto: [oracle_br] Re: USANDO 'OR' NO FILTRO
 


  
Bom, primeiro eu ** TENHO ** que dizer que alguém que diz, point-blank e 
generalizando, que X deixa lento, SEM dizer o porque, SEm testes/provas/caso 
repetível, para mim está usando regras de dedão for a de contexto, está é 
ESPALHANDO MITOS, falando abobrinha, okdoc ?? É algo semelhante aos tantos 
outros mitos de performance, tipo EXISTS é melhor/pior que IN - afirmações 
extraordinárias exigem provas extraordinárias Pra  mim afirmação sem prova 
é a indicação CLARA que o sujeito é um dba, entre aspas e minúsculas 
totais

Isso posto, a sua resposta - se por qquer motivo vc não quiser usar o NULL, sem 
analisar muito, eu ACHO que com :

and (loj.fim_atividade is null or gar.dt_vencimento  loj.fim_atividade) 

vc quer que se loj.fim_atividade for null NADA SEJA COMPARADO (o mesmo efeito 
que vc fazer uma comparação sempre verdadeira), e que quando loj.fim_atividade 
NÃO for null aí sim a comparação deve ser feita com gar.dt_vencimento  
loj.fim_atividade  Sabendo (como já comentado em outra thread recentemente) 
que uma das possibilidades ao se lidar com NULL é o NVL, poderíamos usar :

and gar.dt_vencimento  nvl(loj.fim_atividade, to_date('31/12/', 
'dd/mm/') )


ok ? A linha acima é praticamente a tradução do que eu disse em português : 
SE fim_atividade for null o valor retornado pelo NVL é um valor que  
necessariamente é maior que dt_vencimento, portanto sempre sendo verdadeira, E 
SE fim_atividade for não-nulo, aí a comparação é dt_vencimento  
loj.fim_atividade , como desejado, acho eu

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Elcio Francisco elciofrancisco@... 
escreveu

 Pessoal, os dba´s sempre fala que no filtro quando tem a clausula OR deixa 
 lento. Nesse caso testo se data 

[oracle_br] Re: USANDO 'OR' NO FILTRO

2013-07-23 Por tôpico J. Laurindo Chiappa
  Sem uma análise mais detalhada (que levaria mais que os poucos minutos que 
dedico a uma resposta), eu Acho que para substituir os OR no teu caso  é usar a 
mesma lógica que mostrei na resposta anterior, ie : ao invés de ter ORs 
comparando se a dada coluna é NULL ou não, via NVL transforme a coluna de NULL 
para um valor apropriado... DECODE pode ser uma opção, também...

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, Elcio Francisco elciofrancisco@... 
escreveu

 Eu entendo amigo Chiappa te agradeço por sempre esta nos ajudando, o que você 
 diz e te agradeço mas minha duvida é sobre essa parte destacada do filtro
 
 select count(distinct mov.numero_venda) qtd
                                                   ,sum(gar.saldo_devedor) 
 total_saldo
                                                   ,loj.unidade_servico
                                      from crd.loja      loj                   
                       
                                          ,crd.garantia  gar
                                          ,crd.cliente   cli
                                          ,crd.movimento mov                   
                                 
                                      where loj.regional LIKE 
 DECODE(p_regional, '0', '%','%' || p_regional || '%') 
                                        and loj.filial LIKE DECODE(p_filial, 
 '0', '%','%' || p_filial || '%')
                                        and loj.escritorio    = p_escritorio  
                                        and loj.grupo         = p_cliente
                                        and loj.regional       'T0'
                                        and loj.filial         'T0'
                                        and loj.identificacao = '1'
                                        and loj.empresa       = 
 cli.empresa_origem
                                        and cli.cliente       = gar.cliente
                                        and cli.empresa       = gar.empresa 
                                        and gar.flg_garantia  = 'P'  
                                        and gar.dt_naoconfirmacao is not null 
 
                                        and (((gar.dt_confirmacao_documento is 
 not null) and trunc(gar.dt_confirmacao_documento) = p_primeiro_dia) or
                                            ((gar.dt_confirmacao_documento is 
 null)      and trunc(gar.dt_vencimento)       = p_primeiro_dia))
                                        and (((gar.dt_confirmacao_documento is 
 not null) and trunc(gar.dt_confirmacao_documento) = p_ultimo_dia) or
                                            ((gar.dt_confirmacao_documento is 
 null)      and trunc(gar.dt_vencimento)       = p_ultimo_dia))               
                     
 
                                        and gar.numero_venda = 
 mov.numero_venda                                  
                                        and mov.operacao = '01'
                                        and mov.produto LIKE DECODE(p_produto, 
 '0', '%','%' || p_produto || '%') 
                                        and mov.loja_empresa = loj.empresa
                                        and mov.loja_central = loj.central
                                        and mov.loja_loja = loj.loja           
                             
                                        group by loj.unidade_servico           
                          
                                        order by loj.unidade_servico 
 
 Elcio Francisco 
 
 
 
 
 
  De: J. Laurindo Chiappa jlchiappa@...
 Para: oracle_br@yahoogrupos.com.br 
 Enviadas: Terça-feira, 23 de Julho de 2013 15:40
 Assunto: [oracle_br] Re: USANDO 'OR' NO FILTRO
  
 
 
   
 Bom, primeiro eu ** TENHO ** que dizer que alguém que diz, point-blank e 
 generalizando, que X deixa lento, SEM dizer o porque, SEm 
 testes/provas/caso repetível, para mim está usando regras de dedão for a de 
 contexto, está é ESPALHANDO MITOS, falando abobrinha, okdoc ?? É algo 
 semelhante aos tantos outros mitos de performance, tipo EXISTS é melhor/pior 
 que IN - afirmações extraordinárias exigem provas extraordinárias Pra  
 mim afirmação sem prova é a indicação CLARA que o sujeito é um dba, entre 
 aspas e minúsculas totais
 
 Isso posto, a sua resposta - se por qquer motivo vc não quiser usar o NULL, 
 sem analisar muito, eu ACHO que com :
 
 and (loj.fim_atividade is null or gar.dt_vencimento  loj.fim_atividade) 
 
 vc quer que se loj.fim_atividade for null NADA SEJA COMPARADO (o mesmo efeito 
 que vc fazer uma comparação sempre verdadeira), e que quando 
 loj.fim_atividade NÃO for null aí sim a comparação deve ser feita com 
 gar.dt_vencimento  loj.fim_atividade  Sabendo (como já comentado em 
 outra thread recentemente) que uma das possibilidades ao se lidar com NULL é 
 o NVL, poderíamos usar :
 
 and gar.dt_vencimento  nvl(loj.fim_atividade, to_date('31/12/', 
 'dd/mm/') )
 

Re: [oracle_br] Re: USANDO 'OR' NO FILTRO

2013-07-23 Por tôpico Fabio Prado
Chiappa,

  O item do EXISTS ser melhor ou pior do que o IN não é mito! Existe uma
regra para usar um ou outro (que em alguns casos pode melhorar o plano de
execução), que está documentada no Oracle Performance Tuning Guide, veja:
http://docs.oracle.com/cd/B19306_01/server.102/b14211/sql_1016.htm


Elcio,

   Algumas dicas gerais, para melhorar performance, evite o uso de OR,
comparações com NULL e funções nas instruções SQL. Se não for possível
evitá-las existem algumas formas de contornar a má performance que isso
tudo iria gerar, mas tudo isso não é muito simples e exige muitos
conhecimentos prévios que não dá para explicar aqui (eu ensino em
treinamentos SQL Tuning).

[]s

Fábio Prado
http://www.fabioprado.net


Em 23 de julho de 2013 15:40, J. Laurindo Chiappa
jlchia...@yahoo.com.brescreveu:

 **


 Bom, primeiro eu ** TENHO ** que dizer que alguém que diz, point-blank e
 generalizando, que X deixa lento, SEM dizer o porque, SEm
 testes/provas/caso repetível, para mim está usando regras de dedão for a de
 contexto, está é ESPALHANDO MITOS, falando abobrinha, okdoc ?? É algo
 semelhante aos tantos outros mitos de performance, tipo EXISTS é
 melhor/pior que IN - afirmações extraordinárias exigem provas
 extraordinárias Pra mim afirmação sem prova é a indicação CLARA que o
 sujeito é um dba, entre aspas e minúsculas totais

 Isso posto, a sua resposta - se por qquer motivo vc não quiser usar o
 NULL, sem analisar muito, eu ACHO que com :


 and (loj.fim_atividade is null or gar.dt_vencimento  loj.fim_atividade)

 vc quer que se loj.fim_atividade for null NADA SEJA COMPARADO (o mesmo
 efeito que vc fazer uma comparação sempre verdadeira), e que quando
 loj.fim_atividade NÃO for null aí sim a comparação deve ser feita com
 gar.dt_vencimento  loj.fim_atividade  Sabendo (como já comentado em
 outra thread recentemente) que uma das possibilidades ao se lidar com NULL
 é o NVL, poderíamos usar :

 and gar.dt_vencimento  nvl(loj.fim_atividade, to_date('31/12/',
 'dd/mm/') )


 ok ? A linha acima é praticamente a tradução do que eu disse em
 português : SE fim_atividade for null o valor retornado pelo NVL é um valor
 que necessariamente é maior que dt_vencimento, portanto sempre sendo
 verdadeira, E SE fim_atividade for não-nulo, aí a comparação é
 dt_vencimento  loj.fim_atividade , como desejado, acho eu

 []s

 Chiappa

 --- Em oracle_br@yahoogrupos.com.br, Elcio Francisco elciofrancisco@...
 escreveu

 
  Pessoal, os dba´s sempre fala que no filtro quando tem a clausula OR
 deixa lento. Nesse caso testo se data dt_confirmacao_documento for null ele
 busca pela data gar.dt_vencimento
  como fazer isso sem usar o OR
 
  Muito obrigado
 
  select count(distinct mov.numero_venda)
 qtd
   ,sum(gar.saldo_devedor)
 total_saldo
   ,loj.unidade_servico
   from crd.empresa  loj
   ,crd.cliente   cli
   ,crd.vendas  gar
   ,crd.pedido mov

   where loj.regional LIKE
 DECODE(p_regional, '0', '%','%' || p_regional || '%')
 and loj.filial LIKE
 DECODE(p_filial, '0', '%','%' || p_filial || '%')
 and loj.escritorio = p_escritorio

 and loj.grupo = p_cliente
 and loj.regional  'T0'
 and loj.filial'T0'
 and loj.identificacao = '1'
 and loj.empresa  =
 cli.empresa_origem
 and cli.cliente = gar.cliente
 and cli.empresa = gar.empresa
 and gar.flg_garantia = 'P'
 and (((dt_confirmacao_documento
 is not null) and trunc(dt_confirmacao_documento) = p_primeiro_dia) or
 ((dt_confirmacao_documento is
 null)  and trunc(gar.dt_vencimento)   = p_primeiro_dia))
 and (((dt_confirmacao_documento
 is not null) and trunc(dt_confirmacao_documento) = p_ultimo_dia) or
 ((dt_confirmacao_documento is
 null)  and trunc(gar.dt_vencimento)   = p_ultimo_dia))

 and gar.numero_venda =
 mov.numero_venda
 and mov.operacao = '01'
 and mov.produto LIKE
 DECODE(p_produto, '0', '%','%' || p_produto || '%')
 and mov.loja_empresa = loj.empresa
 

RE: [oracle_br] Atrasar um processo por 64 segundos.

2013-07-23 Por tôpico Carlos Silva
Obrigado pessoal, Foi necessário dar um grant, segue caso alguém precise 
dele.grant execute on sys.DBMS_LOCK to [usuario];
Carlos SilvaSkype - carlos-csilva

 To: oracle_br@yahoogrupos.com.br
 From: fbifa...@gmail.com
 Date: Tue, 23 Jul 2013 15:34:56 -0300
 Subject: Re: [oracle_br] Atrasar um processo por 64 segundos.
 
 Carlos, vc tem que usar a procedure SLEEP da package DBMS_LOCK.
 
 Exemplo:
 
 BEGIN
 DBMS_LOCK.SLEEP (64);
 END;
 
   Se precisar usar dentro de uma instrução SQL, coloque o código que chama
 a procedure dentro de uma função e chame essa função dentro da instrução
 SQL.
 
   Mais informações:
 http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_lock.htm#i997212
 
 []s
 
 Fábio Prado
 www.fabioprado.net
 
 
 Em 23 de julho de 2013 15:27, Carlos Silva 
 carlos-csi...@hotmail.comescreveu:
 
  **
 
 
  Boa tarde, pessoal!
  Preciso fazer uma script que segure um processo por 64 segundos. Alguém
  poderia me auxiliar de como criar?
  At.:
 
  Carlos SilvaSkype - carlos-csilva
 
  [As partes desta mensagem que não continham texto foram removidas]
 
   
 
 
 
 
 -- 
 Fábio Prado
 www.fabioprado.net
 Compartilhando conhecimentos e treinando profissionais em Bancos de Dados
 Oracle
 
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 
 
 
 
 --
 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/ 
 --
 Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
 Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
 http://www.oraclebr.com.br/  
 
  Links do Yahoo! Grupos
 
 
  

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



Re: [oracle_br] Re: USANDO 'OR' NO FILTRO

2013-07-23 Por tôpico Milton Bastos Henriquis Jr.
Estou super enferrujado em SQL, parei de trabalhar com Oracle, mas...

Confiram se não dá pra trocar isso:

 (((gar.dt_confirmacao_documento is not null) and
trunc(gar.dt_confirmacao_documento)
= p_primeiro_dia) or
   ((gar.dt_confirmacao_documento
is null)  and trunc(gar.dt_vencimento)   = p_primeiro_dia))


Por isso:

DECODE(gar.dt_confirmacao_documento, null, trunc(gar.dt_vencimento),
trunc(gar.dt_confirmacao_documento)) = p_primeiro_dia




2013/7/23 Elcio Francisco elciofranci...@yahoo.com.br

 **


 Eu entendo amigo Chiappa te agradeço por sempre esta nos ajudando, o que
 você diz e te agradeço mas minha duvida é sobre essa parte destacada do
 filtro


 select count(distinct mov.numero_venda) qtd
   ,sum(gar.saldo_devedor)
 total_saldo
   ,loj.unidade_servico
  from crd.loja  loj

  ,crd.garantia  gar
  ,crd.cliente   cli
  ,crd.movimento mov


  where loj.regional LIKE
 DECODE(p_regional, '0', '%','%' || p_regional || '%')
and loj.filial LIKE
 DECODE(p_filial, '0', '%','%' || p_filial || '%')
and loj.escritorio=
 p_escritorio
and loj.grupo = p_cliente
and loj.regional   'T0'
and loj.filial 'T0'
and loj.identificacao = '1'
and loj.empresa   =
 cli.empresa_origem
and cli.cliente   = gar.cliente
and cli.empresa   = gar.empresa
and gar.flg_garantia  = 'P'
and gar.dt_naoconfirmacao is not
 null

and (((gar.dt_confirmacao_documento
 is not null) and trunc(gar.dt_confirmacao_documento) = p_primeiro_dia) or
((gar.dt_confirmacao_documento
 is null)  and trunc(gar.dt_vencimento)   = p_primeiro_dia))
and (((gar.dt_confirmacao_documento
 is not null) and trunc(gar.dt_confirmacao_documento) = p_ultimo_dia) or
((gar.dt_confirmacao_documento
 is null)  and trunc(gar.dt_vencimento)   = p_ultimo_dia))



and gar.numero_venda =
 mov.numero_venda
and mov.operacao = '01'
and mov.produto LIKE
 DECODE(p_produto, '0', '%','%' || p_produto || '%')
and mov.loja_empresa = loj.empresa
and mov.loja_central = loj.central
and mov.loja_loja = loj.loja

group by loj.unidade_servico

order by loj.unidade_servico

 Elcio Francisco

 
 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
 Para: oracle_br@yahoogrupos.com.br
 Enviadas: Terça-feira, 23 de Julho de 2013 15:40
 Assunto: [oracle_br] Re: USANDO 'OR' NO FILTRO




 Bom, primeiro eu ** TENHO ** que dizer que alguém que diz, point-blank e
 generalizando, que X deixa lento, SEM dizer o porque, SEm
 testes/provas/caso repetível, para mim está usando regras de dedão for a de
 contexto, está é ESPALHANDO MITOS, falando abobrinha, okdoc ?? É algo
 semelhante aos tantos outros mitos de performance, tipo EXISTS é
 melhor/pior que IN - afirmações extraordinárias exigem provas
 extraordinárias Pra mim afirmação sem prova é a indicação CLARA que o
 sujeito é um dba, entre aspas e minúsculas totais

 Isso posto, a sua resposta - se por qquer motivo vc não quiser usar o
 NULL, sem analisar muito, eu ACHO que com :

 and (loj.fim_atividade is null or gar.dt_vencimento  loj.fim_atividade)

 vc quer que se loj.fim_atividade for null NADA SEJA COMPARADO (o mesmo
 efeito que vc fazer uma comparação sempre verdadeira), e que quando
 loj.fim_atividade NÃO for null aí sim a comparação deve ser feita com
 gar.dt_vencimento  loj.fim_atividade  Sabendo (como já comentado em
 outra thread recentemente) que uma das possibilidades ao se lidar com NULL
 é o NVL, poderíamos usar :

 and gar.dt_vencimento  nvl(loj.fim_atividade, to_date('31/12/',
 'dd/mm/') )

 ok ? A linha acima é praticamente a tradução do que eu disse em
 português : SE fim_atividade for null o valor retornado pelo NVL é um valor
 que necessariamente é maior que dt_vencimento, portanto sempre 

[oracle_br] Re: USANDO 'OR' NO FILTRO

2013-07-23 Por tôpico J. Laurindo Chiappa
 O mito, como eu disse, é a GENERALIZAÇÂO : afirmar que x é melhor que y SEM 
indicar especifidades, sem ter uma análise/prova, SEM se levar em conta que há 
ocasiões/situações em que x pode ser pior MAS há também situações em que x pode 
ser MUITO MELHOR, é sim folclore de DBAs : diversos especialistas Reconhecidos 
(http://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:953229842074#1525158235153
 é um exemplo) já fizeram a prova de que Há situações em que EXISTS pode ser 
nelhor mas há também situações em que ele pode ser pior O MITO, repito, é 
afirmar point-blank algo, SEM prova/referência/demonstração...  
 Isso vale também para o caso do colega : DE FORMA ALGUMA se pode afirmar que 
SEMPRE o OR causa piora ou melhora na performance, quem manda uma firmação 
dessa generalizada E sem demonstração/restrição sorry, mas só pode estar 
espalhando uma historinha que ouviu , algo que ele ACHA que é assim, uma 
regrinha geral que ele não sabe como/se/aonde funciona ou se funciona, , ou 
seja, um mito... 

 []s

  Chiappa
--- Em oracle_br@yahoogrupos.com.br, Fabio Prado fbifabio@... escreveu

 Chiappa,
 
   O item do EXISTS ser melhor ou pior do que o IN não é mito! Existe uma
 regra para usar um ou outro (que em alguns casos pode melhorar o plano de
 execução), que está documentada no Oracle Performance Tuning Guide, veja:
 http://docs.oracle.com/cd/B19306_01/server.102/b14211/sql_1016.htm
 
 
 Elcio,
 
Algumas dicas gerais, para melhorar performance, evite o uso de OR,
 comparações com NULL e funções nas instruções SQL. Se não for possível
 evitá-las existem algumas formas de contornar a má performance que isso
 tudo iria gerar, mas tudo isso não é muito simples e exige muitos
 conhecimentos prévios que não dá para explicar aqui (eu ensino em
 treinamentos SQL Tuning).
 
 []s
 
 Fábio Prado
 http://www.fabioprado.net
 
 
 Em 23 de julho de 2013 15:40, J. Laurindo Chiappa
 jlchiappa@...escreveu:
 
  **
 
 
  Bom, primeiro eu ** TENHO ** que dizer que alguém que diz, point-blank e
  generalizando, que X deixa lento, SEM dizer o porque, SEm
  testes/provas/caso repetível, para mim está usando regras de dedão for a de
  contexto, está é ESPALHANDO MITOS, falando abobrinha, okdoc ?? É algo
  semelhante aos tantos outros mitos de performance, tipo EXISTS é
  melhor/pior que IN - afirmações extraordinárias exigem provas
  extraordinárias Pra mim afirmação sem prova é a indicação CLARA que o
  sujeito é um dba, entre aspas e minúsculas totais
 
  Isso posto, a sua resposta - se por qquer motivo vc não quiser usar o
  NULL, sem analisar muito, eu ACHO que com :
 
 
  and (loj.fim_atividade is null or gar.dt_vencimento  loj.fim_atividade)
 
  vc quer que se loj.fim_atividade for null NADA SEJA COMPARADO (o mesmo
  efeito que vc fazer uma comparação sempre verdadeira), e que quando
  loj.fim_atividade NÃO for null aí sim a comparação deve ser feita com
  gar.dt_vencimento  loj.fim_atividade  Sabendo (como já comentado em
  outra thread recentemente) que uma das possibilidades ao se lidar com NULL
  é o NVL, poderíamos usar :
 
  and gar.dt_vencimento  nvl(loj.fim_atividade, to_date('31/12/',
  'dd/mm/') )
 
 
  ok ? A linha acima é praticamente a tradução do que eu disse em
  português : SE fim_atividade for null o valor retornado pelo NVL é um valor
  que necessariamente é maior que dt_vencimento, portanto sempre sendo
  verdadeira, E SE fim_atividade for não-nulo, aí a comparação é
  dt_vencimento  loj.fim_atividade , como desejado, acho eu
 
  []s
 
  Chiappa
 
  --- Em oracle_br@yahoogrupos.com.br, Elcio Francisco elciofrancisco@
  escreveu
 
  
   Pessoal, os dba´s sempre fala que no filtro quando tem a clausula OR
  deixa lento. Nesse caso testo se data dt_confirmacao_documento for null ele
  busca pela data gar.dt_vencimento
   como fazer isso sem usar o OR
  
   Muito obrigado
  
   select count(distinct mov.numero_venda)
  qtd
,sum(gar.saldo_devedor)
  total_saldo
,loj.unidade_servico
from crd.empresa  loj
,crd.cliente   cli
,crd.vendas  gar
,crd.pedido mov
 
where loj.regional LIKE
  DECODE(p_regional, '0', '%','%' || p_regional || '%')
  and loj.filial LIKE
  DECODE(p_filial, '0', '%','%' || p_filial || '%')
  and loj.escritorio = p_escritorio
 
  and loj.grupo = p_cliente
  and loj.regional  'T0'
  and loj.filial'T0'
  and loj.identificacao = '1'
   

Re: [oracle_br] Atrasar um processo por 64 segundos.

2013-07-23 Por tôpico Vitor Junior
Cuidado hein?
Já vi essas procedure com sleep que seguram por x segundos causarem vários
problemas de lock, justamente pelo tempo de espera!
Apenas um aviso! :)



Att,/Regards,


Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional - OCP
Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid
Infrastructure Administrator - OCE
Oracle Database 11g Performance Tuning Certified Expert - OCE
Oracle Exadata 11g Certified Implementation Specialist
Oracle Certified Associate, MySQL 5
mail, gtalk e msn: vitorj...@gmail.com
http://certificacaobd.com.br/
skype: vjunior1981


Em 23 de julho de 2013 16:20, Carlos Silva carlos-csi...@hotmail.comescreveu:

 **


 Obrigado pessoal, Foi necessário dar um grant, segue caso alguém precise
 dele.grant execute on sys.DBMS_LOCK to [usuario];
 Carlos SilvaSkype - carlos-csilva

  To: oracle_br@yahoogrupos.com.br
  From: fbifa...@gmail.com
  Date: Tue, 23 Jul 2013 15:34:56 -0300
  Subject: Re: [oracle_br] Atrasar um processo por 64 segundos.
 
  Carlos, vc tem que usar a procedure SLEEP da package DBMS_LOCK.
 
  Exemplo:
 
  BEGIN
  DBMS_LOCK.SLEEP (64);
  END;
 
  Se precisar usar dentro de uma instrução SQL, coloque o código que chama
  a procedure dentro de uma função e chame essa função dentro da instrução
  SQL.
 
  Mais informações:
  http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_lock.htm#i997212
 
  []s
 
  Fábio Prado
  www.fabioprado.net
 
 
  Em 23 de julho de 2013 15:27, Carlos Silva carlos-csi...@hotmail.com
 escreveu:
 
   **
  
  
   Boa tarde, pessoal!
   Preciso fazer uma script que segure um processo por 64 segundos. Alguém
   poderia me auxiliar de como criar?
   At.:
  
   Carlos SilvaSkype - carlos-csilva
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
  
 
 
 
  --
  Fábio Prado
  www.fabioprado.net
  Compartilhando conhecimentos e treinando profissionais em Bancos de
 Dados
  Oracle
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 
  
 
  --
  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/
  --
  Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
 Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO!
 VISITE: http://www.oraclebr.com.br/
  -- Links do
 Yahoo! Grupos
 
 


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

  



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





--
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/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://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:
oracle_br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [oracle_br] Re: USANDO 'OR' NO FILTRO

2013-07-23 Por tôpico Fabio Prado
Perfeito Chiappa! Agora concordo com você!

Tem muita coisa em Tuning que não tem regra absoluta. Os casos tem que ser
analisados e testados. Eu mostro nos meus treinamentos de SQL Tuning que em
certas situações utilizar o CASE para evitar múltiplas instruções com UNION
ALL melhora a performance. Em outras eu faço o contrário e consigo melhorar
também a performance, mudando um pouco o jeito de escrever a instrução SQL.
Mostro várias situações parecidas com essa, através de teoria e prática!

Existem muitas variantes que influenciam na performance, portanto, aviso ao
pessoal que está iniciando estudos em tuning: *Não há RECEITA DE BOLO que
serve para OTIMIZAR qq instrução SQL e nem para otimizar qualquer instância
de BD*! Há muita coisa a ser estudada para entender quando e como fazer!

[]s

Fábio Prado
http://www.fabioprado.net




Em 23 de julho de 2013 16:44, J. Laurindo Chiappa
jlchia...@yahoo.com.brescreveu:

 **


 O mito, como eu disse, é a GENERALIZAÇÂO : afirmar que x é melhor que y
 SEM indicar especifidades, sem ter uma análise/prova, SEM se levar em conta
 que há ocasiões/situações em que x pode ser pior MAS há também situações em
 que x pode ser MUITO MELHOR, é sim folclore de DBAs : diversos
 especialistas Reconhecidos (
 http://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:953229842074#1525158235153é
  um exemplo) já fizeram a prova de que Há situações em que EXISTS pode ser
 nelhor mas há também situações em que ele pode ser pior O MITO, repito,
 é afirmar point-blank algo, SEM prova/referência/demonstração...
 Isso vale também para o caso do colega : DE FORMA ALGUMA se pode afirmar
 que SEMPRE o OR causa piora ou melhora na performance, quem manda uma
 firmação dessa generalizada E sem demonstração/restrição sorry, mas só pode
 estar espalhando uma historinha que ouviu , algo que ele ACHA que é assim,
 uma regrinha geral que ele não sabe como/se/aonde funciona ou se funciona,
 , ou seja, um mito...

 []s

 Chiappa
 --- Em oracle_br@yahoogrupos.com.br, Fabio Prado fbifabio@... escreveu
 
  Chiappa,
 
  O item do EXISTS ser melhor ou pior do que o IN não é mito! Existe uma
  regra para usar um ou outro (que em alguns casos pode melhorar o plano de
  execução), que está documentada no Oracle Performance Tuning Guide, veja:
  http://docs.oracle.com/cd/B19306_01/server.102/b14211/sql_1016.htm
 
 
  Elcio,
 
  Algumas dicas gerais, para melhorar performance, evite o uso de OR,
  comparações com NULL e funções nas instruções SQL. Se não for possível
  evitá-las existem algumas formas de contornar a má performance que isso
  tudo iria gerar, mas tudo isso não é muito simples e exige muitos
  conhecimentos prévios que não dá para explicar aqui (eu ensino em
  treinamentos SQL Tuning).
 
  []s
 
  Fábio Prado
  http://www.fabioprado.net
 
 
  Em 23 de julho de 2013 15:40, J. Laurindo Chiappa
  jlchiappa@...escreveu:
 
   **
  
  
   Bom, primeiro eu ** TENHO ** que dizer que alguém que diz, point-blank
 e
   generalizando, que X deixa lento, SEM dizer o porque, SEm
   testes/provas/caso repetível, para mim está usando regras de dedão for
 a de
   contexto, está é ESPALHANDO MITOS, falando abobrinha, okdoc ?? É algo
   semelhante aos tantos outros mitos de performance, tipo EXISTS é
   melhor/pior que IN - afirmações extraordinárias exigem provas
   extraordinárias Pra mim afirmação sem prova é a indicação CLARA
 que o
   sujeito é um dba, entre aspas e minúsculas totais
  
   Isso posto, a sua resposta - se por qquer motivo vc não quiser usar o
   NULL, sem analisar muito, eu ACHO que com :
  
  
   and (loj.fim_atividade is null or gar.dt_vencimento 
 loj.fim_atividade)
  
   vc quer que se loj.fim_atividade for null NADA SEJA COMPARADO (o mesmo
   efeito que vc fazer uma comparação sempre verdadeira), e que quando
   loj.fim_atividade NÃO for null aí sim a comparação deve ser feita com
   gar.dt_vencimento  loj.fim_atividade  Sabendo (como já comentado
 em
   outra thread recentemente) que uma das possibilidades ao se lidar com
 NULL
   é o NVL, poderíamos usar :
  
   and gar.dt_vencimento  nvl(loj.fim_atividade, to_date('31/12/',
   'dd/mm/') )
  
  
   ok ? A linha acima é praticamente a tradução do que eu disse em
   português : SE fim_atividade for null o valor retornado pelo NVL é um
 valor
   que necessariamente é maior que dt_vencimento, portanto sempre sendo
   verdadeira, E SE fim_atividade for não-nulo, aí a comparação é
   dt_vencimento  loj.fim_atividade , como desejado, acho eu
  
   []s
  
   Chiappa
  
   --- Em oracle_br@yahoogrupos.com.br, Elcio Francisco elciofrancisco@
   escreveu
  
   
Pessoal, os dba´s sempre fala que no filtro quando tem a clausula OR
   deixa lento. Nesse caso testo se data dt_confirmacao_documento for
 null ele
   busca pela data gar.dt_vencimento
como fazer isso sem usar o OR
   
Muito obrigado
   
select count(distinct mov.numero_venda)
   qtd
,sum(gar.saldo_devedor)
   total_saldo

[oracle_br] VídeoAulas de Oracle

2013-07-23 Por tôpico Fernando
O blog do DBA Oracle, Fernando Silva tem um link sobre video aulas de Oracle: 
Vale a pena conferir: www.fsilvadba.blogspot.com.br

Abraços



Re: [oracle_br] Valor Oracle Exadata

2013-07-23 Por tôpico Fabio Prado
Miltão, muito obrigado pelas dicas!

Realmente acho que não vamos conseguir comprar um EXADATA por caso do alto
custo e a não possibilidade de desmembramento de certos itens e softwares
(verifiquei isso hoje com o Rodrigo Almeida), que poderiam baratear o
custo.

Aqui por exemplo, não precisamos de licenciamento de Partitioning e o
Storage embutido do EXADATA. O ideal para nós vai ser comprar um novo
servidor Intel e adquirir as licenças adicionais à parte!

[]s

Fábio Prado
http://www.fabioprado.net


Em 22 de julho de 2013 20:02, Milton Bastos Henriquis Jr. 
miltonbas...@gmail.com escreveu:

 Fala Fabião!

 Cara, trabalhei numa empresa que comprou um Exalogic - nem posso citar
 valores pois tem um funcionário
 de lá que participa aqui dessa lista né Jorjão?? kkk
 Mas nem caberia comparação também, pois foi um valor muito mais alto do que
 vc citou, até pelo fato de não
 ser apenas um Exadata, mas um Exalogic (não lembro de Half ou Full).

 Depois disso trabalhei também numa parceira Oracle, com pré-vendas, e quase
 vendemos um Exadata pra
 uma empresa do ramo alimentício do interior do Paraná, A venda só não foi
 concretizada devido a saída inesperada
 do gerente de TI que queria fazer a compra.

 O que posso te dizer é que os preços realmente variam muito - a margem é
 grande, pois o valor do produto
 inclui toda a questão de licenciamento.
 Se fôssemos falar só de hardware essa variação não aconteceria tanto -
 afinal, todo hardware tem seu custo para
 ser produzido e comercializado, e em cima deste custo é colocado o lucro.
 Já a questão de licenciamento abre uma brecha pra Oracle trabalhar com
 preços.

 Isso envolve MUITA coisa... a Oracle tenta de tudo para vender máquinas pra
 setores governamentais, por exemplo.
 E quando é Governo, tem pregão eletrônico. Leilão! E em leilão a Oracle vai
 abaixando o preço até ganhar... a margem
 é grande. Dar 3 milhões de desconto pra eles é normal, pois é importante
 eles não perderem negócio.

 A grande sacada é: não mostre que vc QUER um Exadata.
 Apresente alternativas pro comercial da Oracle. Tem que ter concorrência.
 Só assim abrem as pernas.
 Fale que vc tá avaliando Teradata e Netezza também.
 Tem que ser duro na negociação!




 2013/7/22 Fabio Prado fbifa...@gmail.com

  **
 
 
  Pessoal,
 
  Existe a possibilidade (dependendo do custo) de adquirirmos um
  Exadata *Quarter
  Rack* ou *Eighth Rack* na empresa em que eu trabalho e eu por este motivo
  eu gostaria de saber* se alguém aqui no grupo já comprou algum destes
  servidores e qual valor pagou*.
 
  Conversando com alunos vejo que a Oracle negocia o valor destes
  servidores praticamente de acordo com o tamanho da empresa, quantidade de
  servidores que ela poderá adquirir e muitas outras variantes. Há alguns
  anos, uma empresa parceira da Oracle ofereceu um Quarter Rack para a
  empresa em que trabalho por aprox. 2 milhões de reais, enquanto que,
  conversando com um aluno, na empresa em que ele prestava serviços, foram
  adquiridos 8 servidores* Half Rack* (bem melhor que *Quarter Rack*) por
  menos de 1 milhão cada.
 
  Grato!
 
  --
  Fábio Prado
  www.fabioprado.net
  Compartilhando conhecimentos e treinando profissionais em Bancos de
 Dados
  Oracle
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 


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



 


 --
 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/

 --
 Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
 Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO!
 VISITE: http://www.oraclebr.com.br/
 
 Links do Yahoo! Grupos





-- 
Fábio Prado
www.fabioprado.net
Compartilhando conhecimentos e treinando profissionais em Bancos de Dados
Oracle


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



Re: [oracle_br] Re: Valor Oracle Exadata

2013-07-23 Por tôpico Fabio Prado
Chiappa, obrigado pelas dicas!


Em 22 de julho de 2013 20:51, J. Laurindo Chiappa
jlchia...@yahoo.com.brescreveu:

 **


 Sim, é uma verdade verdadeiríssima que os preços básicos em
 http://www.oracle.com/us/corporate/pricing/exadata-pricelist-070598.pdfsão só 
 um guia geral - Dependendo do nível de relacionamento da Empresa
 adquirente com a Oracle, isso pode variar muito, e quando se fala
 relacionamento não é só quantidade de servidores, mas também qtdades e
 tipos de produtos Oracle presentes e/ou a adquirir, tem a ver se a empresa
 é Parceira Oracle ou não, se oferece alguma solução Oracle-based ou não
 E é claro, como é um produto Muito especializado, performante e caro, não é
 qualquer empresa de pequeno porte que se qualifica, então variáveis como
 negociação feita pela MATRIZ da Empresa (e não pela filial aqui do Brasil,
 que via de regra tem menos poder na organização) e possibilidade de
 adotar a tecnologia na organização como um todo e não só num local/filial,
 são SIM extremamente importantes - fica a SUGESTÃO para os colegas que
 opinarem, que na medida do possível DETALHEM além das quantidades o
 relacionamento que a Empresa deles tem com a Oracle, para podermos colocar
 os preços no contexto adequado
 No meu caso, atuo numa Consultoria de grande porte, que possui parceria
 com a Oracle (que também oferece serviços Oracle-based para seus clientes,
 além de usar internamente a tecnologia Oracle para si), com vários
 escritórios mundiais, e no total a organização deve ter coisa de uns 100
 databases Oracle próprios e/ou de clientes mas alocados internamente, além
 de também frequentemente comprar e/ou indicar produtos Oracle para os
 clientes, e nessas condições mais ou menos sei que o half-rack Exadata que
 está sendo planejado vai sair por coisa por volta de 300 mil obamas, afora
 custos de Suporte...
 Realmente, um quarter-rack por por dois milhões tá bem longe - OK que
 talvez vc não tenha um nível de relacionamento semelhante, mas eu diria
 para vc levantar os detalhes de parceria/relacionamento que vcs tenham com
 a Oracle , REPASSAR a lista oficial que indiquei e as msgs que receber
 neste tópico para o teu comprador, enfim, jogar DURO na negociação, mostrar
 que vc não é um sem noção que aceita qualquer valor porque realmente nesse
 nível a negociação não está boa, não : INCLUSIVE, imagino que esse valor
 tenha sido a primeira oferta, que a gente ** NUNCA ** considera - é mais ou
 menos como quando vc vai comprar um carro, um imóvel ou alguma coisa de
 grande valor e que a pessoa ganha com comissão na venda, a primeira oferta
 é só para ver se cola...

 []s

 Chiappa

 --- Em oracle_br@yahoogrupos.com.br, Fabio Prado fbifabio@... escreveu

 
  Pessoal,
 
  Existe a possibilidade (dependendo do custo) de adquirirmos um
  Exadata *Quarter
  Rack* ou *Eighth Rack* na empresa em que eu trabalho e eu por este motivo
  eu gostaria de saber* se alguém aqui no grupo já comprou algum destes
  servidores e qual valor pagou*.

 
  Conversando com alunos vejo que a Oracle negocia o valor destes
  servidores praticamente de acordo com o tamanho da empresa, quantidade de
  servidores que ela poderá adquirir e muitas outras variantes. Há alguns
  anos, uma empresa parceira da Oracle ofereceu um Quarter Rack para a
  empresa em que trabalho por aprox. 2 milhões de reais, enquanto que,
  conversando com um aluno, na empresa em que ele prestava serviços, foram
  adquiridos 8 servidores* Half Rack* (bem melhor que *Quarter Rack*) por

  menos de 1 milhão cada.
 
  Grato!
 
  --
  Fábio Prado
  www.fabioprado.net
  Compartilhando conhecimentos e treinando profissionais em Bancos de
 Dados
  Oracle
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 

  




-- 
Fábio Prado
www.fabioprado.net
Compartilhando conhecimentos e treinando profissionais em Bancos de Dados
Oracle


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





--
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/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://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:
oracle_br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:

Re: [oracle_br] Re: Valor Oracle Exadata

2013-07-23 Por tôpico angelo
Me dá um exemplo ( real ) de uma aplicacao que demanda um hardware para
servidor de banco de dados tão imenso assim ?
Eu sei que vcs contam nos dedos quem utiliza  Certamente não qualquer
site de ecommerce e nem qualquer erp rodando por ai...

Pra chegar a esse nivel de solução, todas as outras instancias existentes
no mercado, precisam simplesmente não servir. Correto?


[]s angelo


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



Re: [oracle_br] Valor Oracle Exadata

2013-07-23 Por tôpico jorge sanfelice
Entao, conforme o miltao, comentou hehehehhe temos um brinquedo desse.

O valor passa de 1 milhao, isso que posso te dizer (e esse valor é
publico, esta no site da Oracle) mais cara, o valor do Exadata ou do
Exalogic é o menor dos seus problemas... chega a ser irrelevante (se pensar
como uma empresa grande).

A maior questao que envolve isso é o planejamento a medio e longo prazo
(que ninguem faz, hehehehehe), ou seja, voce nao vai ter um contrato e sim
um pacto, pois, renovar licenca, manutecao, datacenter para colocar esse
cara, suporte da oracle, etc... tipo, voce vai comprar uma ferrari e levar
no seu joao pra arrumar?

Nem se compara a administrar um Oracle normal... a parada é louca.

Assim, o Exadata é fera mesmo cara, temos um Quarter Rack... a maquina
sobra da show mesmo, o problema do Quarter Rack é em relacao a espaco
em disco, creio que ele é mau dimensionado, deveria ter mais disco no
default... fora isso, nao tem o que dizer, o funcionamento é animal e o que
mata a pau sao as features de partitioning, compress HCC, etc... (minha
opniao).

Tem que ver que a Oracle agora tem outras modalidades ... uma parada
chamada as a service... creio que seja isso. Voce paga por mes... cara...
assim, comprar isso é bem mais complicado do que parece...

Ai pra ajudar ainda tem o supercluster

Boa Sorte












Em 23 de julho de 2013 17:56, Fabio Prado fbifa...@gmail.com escreveu:

 **


 Miltão, muito obrigado pelas dicas!

 Realmente acho que não vamos conseguir comprar um EXADATA por caso do alto
 custo e a não possibilidade de desmembramento de certos itens e softwares
 (verifiquei isso hoje com o Rodrigo Almeida), que poderiam baratear o
 custo.

 Aqui por exemplo, não precisamos de licenciamento de Partitioning e o
 Storage embutido do EXADATA. O ideal para nós vai ser comprar um novo
 servidor Intel e adquirir as licenças adicionais à parte!

 []s

 Fábio Prado
 http://www.fabioprado.net

 Em 22 de julho de 2013 20:02, Milton Bastos Henriquis Jr. 
 miltonbas...@gmail.com escreveu:

  Fala Fabião!
 
  Cara, trabalhei numa empresa que comprou um Exalogic - nem posso citar
  valores pois tem um funcionário
  de lá que participa aqui dessa lista né Jorjão?? kkk
  Mas nem caberia comparação também, pois foi um valor muito mais alto do
 que
  vc citou, até pelo fato de não
  ser apenas um Exadata, mas um Exalogic (não lembro de Half ou Full).
 
  Depois disso trabalhei também numa parceira Oracle, com pré-vendas, e
 quase
  vendemos um Exadata pra
  uma empresa do ramo alimentício do interior do Paraná, A venda só não foi
  concretizada devido a saída inesperada
  do gerente de TI que queria fazer a compra.
 
  O que posso te dizer é que os preços realmente variam muito - a margem é
  grande, pois o valor do produto
  inclui toda a questão de licenciamento.
  Se fôssemos falar só de hardware essa variação não aconteceria tanto -
  afinal, todo hardware tem seu custo para
  ser produzido e comercializado, e em cima deste custo é colocado o lucro.
  Já a questão de licenciamento abre uma brecha pra Oracle trabalhar com
  preços.
 
  Isso envolve MUITA coisa... a Oracle tenta de tudo para vender máquinas
 pra
  setores governamentais, por exemplo.
  E quando é Governo, tem pregão eletrônico. Leilão! E em leilão a Oracle
 vai
  abaixando o preço até ganhar... a margem
  é grande. Dar 3 milhões de desconto pra eles é normal, pois é
 importante
  eles não perderem negócio.
 
  A grande sacada é: não mostre que vc QUER um Exadata.
  Apresente alternativas pro comercial da Oracle. Tem que ter concorrência.
  Só assim abrem as pernas.
  Fale que vc tá avaliando Teradata e Netezza também.
  Tem que ser duro na negociação!
 
 
 
 
  2013/7/22 Fabio Prado fbifa...@gmail.com
 
   **
  
  
   Pessoal,
  
   Existe a possibilidade (dependendo do custo) de adquirirmos um
   Exadata *Quarter
   Rack* ou *Eighth Rack* na empresa em que eu trabalho e eu por este
 motivo
   eu gostaria de saber* se alguém aqui no grupo já comprou algum destes
   servidores e qual valor pagou*.
  
   Conversando com alunos vejo que a Oracle negocia o valor destes
   servidores praticamente de acordo com o tamanho da empresa, quantidade
 de
   servidores que ela poderá adquirir e muitas outras variantes. Há alguns
   anos, uma empresa parceira da Oracle ofereceu um Quarter Rack para a
   empresa em que trabalho por aprox. 2 milhões de reais, enquanto que,
   conversando com um aluno, na empresa em que ele prestava serviços,
 foram
   adquiridos 8 servidores* Half Rack* (bem melhor que *Quarter Rack*) por
   menos de 1 milhão cada.
  
   Grato!
  
   --
   Fábio Prado
   www.fabioprado.net
   Compartilhando conhecimentos e treinando profissionais em Bancos de
  Dados
   Oracle
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
  
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 
  
 
 
  

[oracle_br] Re: Valor Oracle Exadata

2013-07-23 Por tôpico J. Laurindo Chiappa
Na verdade, Angelo, quando falamos em Exadata estamos num nível de 
exigência mais alto : não é só uma questão de tamanho dos dados, mas de 
capacidade de processamento necessária Por exemplo : há alguns anos 
trabalhei no setor de co-billing em numa empresa de telefonia, e o grosso do 
lucro desse setor da Empresa era a cobrança de uso das linhas por parte das 
outras operadoras, informação essa que vinha em estado bruto de máquinas 
automáticas instaladas nas centrais, num volume de alguns terabytes mensais 
(que há uns tantos anos eram um volume respeitável), e que por questões de 
negócio necessariamente tinha de ser processada na íntegra, com montes de table 
scans e montes de I/Os - se já existisse Exadata na ocasião, com Absoluta 
certeza as features de smart scan seriam uma mão na roda, por si só já valeriam 
o preço 
  Então é isso - independente do volume, o Exadata se justifica se alguma de 
suas features encaixam na necessidade do cliente  E sempre há, também, a 
possibilidade de CONSOLIDAÇÃO de databases - no caso da Empresa aonde eu 
trabalho atualmente a idéia do Exadata é justamente essa : não só a Enorme 
capacidade do hardware e do software do Exadata certamente dão e sobram para a 
necessidade, MAS também apenas ele (ao menos até o 11g, não vi ainda no 12c) 
possui features como o I/O resource manager, que permite o I/O Throttle, de 
modo que vc ABAIXE/controle a prioridade de I/O de diferentes consumidores 
dentro do mesmo database
 E que fique CLARO : a esmagadora maioria dessas features no Exadata decorre da 
integração entre software e hardware (ie, o software sabe EXATAMENTE qual 
hardware está conectado a ele, em detalhes, então coisas como acessar 
diretamente discos aonde a informação está é possível), coisa que vc 
ABSOLUTAMENTE NÃO CONSEGUE comprando um grupo de servidores separados, ENTÃo 
pode muito bem ser que vc não consiga a mesma performance, AINDA QUE o poder de 
CPU , a banda de rede e o I/O dos servidores não-exa sejam similares (ou mesmo 
um pouco superiores) ao exadara, ok ? É essa Integração entre hardware e 
software que deve ser julgada/considerada com cuidado ao se avaliar a 
possibilidade de um Exadata, e é ISSO que deve ser levado em conta ao se 
comparar com outras soluções do mercado, principalmente...

  []s

   Chiappa


--- Em oracle_br@yahoogrupos.com.br, angelo angelolistas@... escreveu

 Me dá um exemplo ( real ) de uma aplicacao que demanda um hardware para
 servidor de banco de dados tão imenso assim ?
 Eu sei que vcs contam nos dedos quem utiliza  Certamente não qualquer
 site de ecommerce e nem qualquer erp rodando por ai...
 
 Pra chegar a esse nivel de solução, todas as outras instancias existentes
 no mercado, precisam simplesmente não servir. Correto?
 
 
 []s angelo
 
 
 [As partes desta mensagem que não continham texto foram removidas]





[oracle_br] RMAN - começando

2013-07-23 Por tôpico Grupos
Boas.

 

Estou começando testes para implementação do RMAN aqui na empresa, ainda de
uma maneira básica.

 

Na minha crontab, eu tenho um agendamento que chama um script que contém o
seguinte comando dentro:  “backup database plus archivelog;”

 

Esse agendamento não está dando certo, executei o comando na mão e
apresentava erro de não ter encontrado os ARCHIVELOGs. Executei o comando
“crosscheck archivelog all”, após isso o backup foi efetuado.

 

Os meus archives ficam em um disco separado, e quando efetuo backup faço a
limpeza dos archives backupeados, acredito que o erro ocorre por conta desse
procedimento.

 

Minha dúvida é a seguinte, eu tenho que executar o crosscheck antes do meu
script de backup, ou a maneira na qual estou fazendo não está correto?

 

Grato.

 

 



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



Re: [oracle_br] RMAN - começando

2013-07-23 Por tôpico Welvis Moretto
Bom dia Márcio, tudo bem?

Márcio.. RMAN é da hora, aconselho você estudar um pouco mais a fundo..

segue algumas referencias...

RMAN guia referencia de bolso
Oracle RMAN 11g Backup and Recovery - Robert G. Freeman and Matthew Hart
RMAN Recipes for Oracle Database 11g - A Problem-Solution Approach
O'Reilly - Oracle RMAN Pocket

segue o nome de algumas literaturas para estudo, acho que todos estes livros 
você encontra na net.. Ou no site de amazon se quiser comprar os livros. O do 
Robert G. Freeman and Matthew Hart vale a pena..a

Abraço!







 De: Grupos marcio_...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Segunda-feira, 22 de Julho de 2013 8:30
Assunto: [oracle_br] RMAN - começando
 


  
Boas.

Estou começando testes para implementação do RMAN aqui na empresa, ainda de
uma maneira básica.

Na minha crontab, eu tenho um agendamento que chama um script que contém o
seguinte comando dentro:  “backup database plus archivelog;”

Esse agendamento não está dando certo, executei o comando na mão e
apresentava erro de não ter encontrado os ARCHIVELOGs. Executei o comando
“crosscheck archivelog all”, após isso o backup foi efetuado.

Os meus archives ficam em um disco separado, e quando efetuo backup faço a
limpeza dos archives backupeados, acredito que o erro ocorre por conta desse
procedimento.

Minha dúvida é a seguinte, eu tenho que executar o crosscheck antes do meu
script de backup, ou a maneira na qual estou fazendo não está correto?

Grato.

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


 

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



[oracle_br] Novidades 12c e Tuning

2013-07-23 Por tôpico Milton Bastos Henriquis Jr.
Bom dia pessoal!

Pra começar bem a semana, 2 novos artigos que acabaram de sair do forno...


[Oracle] Performance Tuning – Parte III – Tuning de
redehttp://certificacaobd.com.br/2013/07/22/oracle-performance-tuning-parte-iii-tuning-de-rede/
http://certificacaobd.com.br/2013/07/22/oracle-performance-tuning-parte-iii-tuning-de-rede/



Oracle Database 12c New Features – 1.Renomeação e realocação de datafiles
ativos de maneira
onlinehttp://certificacaobd.com.br/2013/07/19/oracle-database-12c-new-features-1-renomeacao-e-realocacao-de-datafiles-ativos-de-maneira-online/
http://certificacaobd.com.br/2013/07/19/oracle-database-12c-new-features-1-renomeacao-e-realocacao-de-datafiles-ativos-de-maneira-online/


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





--
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/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://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:
oracle_br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [oracle_br] Re: Valor Oracle Exadata

2013-07-23 Por tôpico Vitor Junior
Angelo, quem conhece, e quem estudou e tirou a certificação sabe que o que
diferencia não é o hardware... e sim a tecnologia como smart scan, HCC e
tantas outras presentes apenas no exadata. E são inúmeras empresas que
necessitam desse tipo de velocidade no processamento.
O fato é que o exadata é muito mais indicado para ambientes DW do que OLTP.
Ou seja, se a empresa precisa processar DW mais rápido do que processa hoje
em dia, ela vai acabar indo de exadata... hehehe
Além disso, tem toda a questão de ser meio que uma 'caixa preta'. É tudo
'acertadinho' pela oracle, a nível de configurações entre
servidor-storage-rede, entre tantas outras vantagens! :)


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



Re: [oracle_br] Valor Oracle Exadata

2013-07-23 Por tôpico Vitor Junior
Fabio, o ODA não seria uma alterantiva ao exadata para esse ambiente que
mencionou?
Abraço! :)



Att,/Regards,


Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional - OCP
Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid
Infrastructure Administrator - OCE
Oracle Database 11g Performance Tuning Certified Expert - OCE
Oracle Exadata 11g Certified Implementation Specialist
Oracle Certified Associate, MySQL 5
mail, gtalk e msn: vitorj...@gmail.com
http://certificacaobd.com.br/
skype: vjunior1981


Em 23 de julho de 2013 17:56, Fabio Prado fbifa...@gmail.com escreveu:

 **


 Miltão, muito obrigado pelas dicas!

 Realmente acho que não vamos conseguir comprar um EXADATA por caso do alto
 custo e a não possibilidade de desmembramento de certos itens e softwares
 (verifiquei isso hoje com o Rodrigo Almeida), que poderiam baratear o
 custo.

 Aqui por exemplo, não precisamos de licenciamento de Partitioning e o
 Storage embutido do EXADATA. O ideal para nós vai ser comprar um novo
 servidor Intel e adquirir as licenças adicionais à parte!

 []s

 Fábio Prado
 http://www.fabioprado.net

 Em 22 de julho de 2013 20:02, Milton Bastos Henriquis Jr. 
 miltonbas...@gmail.com escreveu:

  Fala Fabião!
 
  Cara, trabalhei numa empresa que comprou um Exalogic - nem posso citar
  valores pois tem um funcionário
  de lá que participa aqui dessa lista né Jorjão?? kkk
  Mas nem caberia comparação também, pois foi um valor muito mais alto do
 que
  vc citou, até pelo fato de não
  ser apenas um Exadata, mas um Exalogic (não lembro de Half ou Full).
 
  Depois disso trabalhei também numa parceira Oracle, com pré-vendas, e
 quase
  vendemos um Exadata pra
  uma empresa do ramo alimentício do interior do Paraná, A venda só não foi
  concretizada devido a saída inesperada
  do gerente de TI que queria fazer a compra.
 
  O que posso te dizer é que os preços realmente variam muito - a margem é
  grande, pois o valor do produto
  inclui toda a questão de licenciamento.
  Se fôssemos falar só de hardware essa variação não aconteceria tanto -
  afinal, todo hardware tem seu custo para
  ser produzido e comercializado, e em cima deste custo é colocado o lucro.
  Já a questão de licenciamento abre uma brecha pra Oracle trabalhar com
  preços.
 
  Isso envolve MUITA coisa... a Oracle tenta de tudo para vender máquinas
 pra
  setores governamentais, por exemplo.
  E quando é Governo, tem pregão eletrônico. Leilão! E em leilão a Oracle
 vai
  abaixando o preço até ganhar... a margem
  é grande. Dar 3 milhões de desconto pra eles é normal, pois é
 importante
  eles não perderem negócio.
 
  A grande sacada é: não mostre que vc QUER um Exadata.
  Apresente alternativas pro comercial da Oracle. Tem que ter concorrência.
  Só assim abrem as pernas.
  Fale que vc tá avaliando Teradata e Netezza também.
  Tem que ser duro na negociação!
 
 
 
 
  2013/7/22 Fabio Prado fbifa...@gmail.com
 
   **
  
  
   Pessoal,
  
   Existe a possibilidade (dependendo do custo) de adquirirmos um
   Exadata *Quarter
   Rack* ou *Eighth Rack* na empresa em que eu trabalho e eu por este
 motivo
   eu gostaria de saber* se alguém aqui no grupo já comprou algum destes
   servidores e qual valor pagou*.
  
   Conversando com alunos vejo que a Oracle negocia o valor destes
   servidores praticamente de acordo com o tamanho da empresa, quantidade
 de
   servidores que ela poderá adquirir e muitas outras variantes. Há alguns
   anos, uma empresa parceira da Oracle ofereceu um Quarter Rack para a
   empresa em que trabalho por aprox. 2 milhões de reais, enquanto que,
   conversando com um aluno, na empresa em que ele prestava serviços,
 foram
   adquiridos 8 servidores* Half Rack* (bem melhor que *Quarter Rack*) por
   menos de 1 milhão cada.
  
   Grato!
  
   --
   Fábio Prado
   www.fabioprado.net
   Compartilhando conhecimentos e treinando profissionais em Bancos de
  Dados
   Oracle
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
  
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 
  
 
 
  --
  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/
 
  --
  Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
  Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO
 ESPAÇO!
  VISITE: http://www.oraclebr.com.br/
  --
  Links do Yahoo! Grupos
 
 
 

 --
 Fábio Prado
 www.fabioprado.net
 Compartilhando conhecimentos e treinando profissionais em Bancos de Dados
 Oracle

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

  



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