Re: [oracle_br] Re: duvida role dba

2012-06-27 Por tôpico Rafael Vieira
Paulo, essa base que você se refere, é de produção ou treinamento?
Pois a maioria das bases de treinamento os usuários tem permissão de DBA, ou 
pelo menos quase isso, se for uma base de produção aí realmente deve ser 
revisto, você deve gerar um relatório com todos os usuários que você acha que 
possuem permissões de risco, e levar para o seu coordenador e também passar um 
e-mail para que qualquer dano futuro isso não vá explodir na sua mão.





 De: Paulo Couto paulopcto2...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 27 de Junho de 2012 9:50
Assunto: Re: [oracle_br] Re: duvida role dba
 

  
Ederson, estou com um problema, tenho um base oracle que comecei a gerenciar e 
percebi vários users com está role, sei que é perigoso, mas precisava entender 
melhor antes de remover.
 
Meu receio é remover a role e alguém chiar de problema no sistema.
 
Será que se o login já tiver os grants de select, insert, update  OU for o 
owner dos objetos teria algum problema em retirar a role DBA ??
 
Att,



De: ederson2001br ederson200...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 27 de Junho de 2012 9:37
Assunto: [oracle_br] Re: duvida role dba


  

Alô Paulo,

A role DBA tem diversos direitos no banco, veja os principais (não consigo 
guardar tudo de cabeça):

-Gerenciar espaço: pode criar tablespaces, bem como removê-las
-Pode colocar tablespaces em modo apenas-leitura
-Pode mudar a senha de usuários
-Pode bloquear usuários
-Pode criar novos usuários
-Pode dropar (remover) um usuário com todos os seus dados
-Pode alterar dados nas tabelas dos usuários
-Pode manipular objetos dos usuários (criar, remover, alterar)
-Pode visualizar objetos do dicionário de dados, como as views DBA_%
-Pode fazer backup
-Pode restaurar backup
-Pode conceder privilégios de sistema a outros usuários
-Pode remover privilégios de usuários
-Pode criar novos conjuntos de privilégios (create role + grant)
-Pode remover conjuntos de privilégios (drop role)
-Pode gerenciar estatísticas
-Pode gerenciar jobs (tarefas agendadas)
-etc

Enfim, pode muito mesmo. Já pensou um usuário curioso com este poder na mão? 
É metralhadora carregada na mão de símios.

Veja todos os direitos (rodar no SQLPLUS), respondendo DBA à pergunta do 
script, depois compare com os direitos de um usuário comum (ex: SCOTT):

SET echo OFF
SET verify OFF
SET pages 
column granted_role form a25
column owner form a15
column table_name form a33
column privilege form a33
ACCEPT username prompt 'Enter Username : '
PROMPT Roles granted to user
SELECT granted_role,
admin_option,
default_role
FROM dba_role_privs
WHERE grantee=UPPER('username')
ORDER BY 1;
PROMPT Table Privileges granted to a user through roles
SELECT granted_role,
owner,
table_name,
privilege
FROM
( SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('username')
UNION
SELECT granted_role
FROM role_role_privs
WHERE role IN
(SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('username')
)
) roles,
dba_tab_privs
WHERE granted_role=grantee
ORDER BY 1,2,3,4;
PROMPT System Privileges assigned to a user through roles
SELECT granted_role,
privilege
FROM
( SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('username')
UNION
SELECT granted_role
FROM role_role_privs
WHERE role IN
(SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('username')
)
) roles,
dba_sys_privs
WHERE granted_role=grantee
ORDER BY 1,2;
PROMPT Table privileges assigned directly to a user
SELECT owner,
table_name,
privilege
FROM dba_tab_privs
WHERE grantee=UPPER('username')
ORDER BY 1,2,3;
PROMPT System privileges assigned directly to a user
SELECT privilege,
admin_option
FROM dba_sys_privs
WHERE grantee=UPPER('username');
undefine username;

Ederson Elias
DBA Oracle
http://br.linkedin.com/pub/ederson-elias/24/8b/8b0

--- Em mailto:oracle_br%40yahoogrupos.com.br, Paulo Couto paulopcto2002@... 
escreveu

 Amigos, desculpem a pergunta meio de iniciante, mas até o momento não 
 consegui captar o risco e quais permissões um login com a role DBA pode ter ? 
 Já pesquisei bastante na net mas nunca acho nada que me diga realmente o que 
 está role é e quais os riscos.
 
 
 Gostaria de vossos comentarios ou material sobre estas permissões no oracle ( 
 o meu é versão 10 ).
 
 
 Att,
 
 
 [As partes desta mensagem que não continham texto foram removidas]


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


 

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



Re: [oracle_br] Re: Seção idle

2012-06-22 Por tôpico Rafael Vieira
Jefferson, bom dia.
A coluna LAST_CALL_ET é bem parecida com o que você quer, ela te dá o tempo que 
o usuário está executando uma determinada ação. Por exemplo: O cara executa um 
insert into select * from que dura uns 6 minutos, nessa coluna vai te mostrar o 
tempo em que o usuário está esperando a resposta do banco em segundos.
Quando o processo acabar a coluna LAST_CALL_ET volta a ficar 0, e irá 
acrescentar um segundo por cada momento também que ele esteja Idle. Quando este 
usuário executar uma outra tarefa a coluna voltar a ficar zerada eo tempo 
começa.



 De: Jefferson Clyton jeff_programa...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Sexta-feira, 22 de Junho de 2012 10:38
Assunto: Re: [oracle_br] Re: Seção idle
 
Primeiramente agradeço as respostas...

Rafael, executei sua querie e fiquei com dúvida no siguinificado da coluna:
LAST_CALL_ET (até desconfio).

João , pelo o que entendi ele utilizaram o EM  para obter essa informação,
porém isto ocorreu no início do ano, mas, estou com esse chamado na mão
agora (aff).

Como vejo a quanto tempo uma seção está logada??

Sem,
Jefferson Silva.

Em 21 de junho de 2012 18:03, J. Laurindo Chiappa
jlchia...@yahoo.com.brescreveu:

 **


 Jefferson, vc não nos dá a informação MAIS importante (ie, QUAL
 ferramenta, QUAL query, enfim, QUAL método que estava te dizendo que haviam
 sessões idle/inativas
 Isso é importante porque talvez a ferramenta/query/whatever esteja (por
 exemplo) só olhando há quanto tempo uma sessão se logou, ou que está
 esperando receber comandos do cliente para fechar o cursor que abriu, ou
 sessões cujo último SQL foi recebido há x minutos, ou que estão conectadas
 há y horas

 == Vc está tecnicamente correto, se não há sessões com status=INACTIVE na
 coluna da V$SESSION, então não há sessões que não estejam executando SQLs
 no banco no momento, todas estão processando algo
 O que vc tem que fazer é DESCOBRIR com a sua fonte exatamente o que a tal
 tool/query/whatever chama de IDLE, qual consulta ela está fazendo, onde que
 ela está indo, etc, para poder checar Exatamente o que as tais sessões
 estão fazendo, e se for falso alarme (pelo jeito é) pedir para alterar a
 tal query/tool/fonte , ou ao menos Ignorar esse tipo de aviso

 []s

 Chiappa


 --- Em oracle_br@yahoogrupos.com.br, Jefferson Clyton jeff_programador@...
 escreveu

 
  Prezados amigos,
 
 
  Recebi a informação de que algumas seções estavam ficando com o status
  'idle' e executei a querie:
  Oracle 10G
 
  select status, username from v$session;
 
  e não achei nada de idle... achei ativo, waiting
 
  Estou fazendo da forma correta??
 
  Aguardo,
  Jefferson Silva
  DBA - Junior
 
 
  [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: [oracle_br] Re: Seção idle

2012-06-22 Por tôpico Rafael Vieira
Jefferson, é isso mesmo, mas a sessão ativa não só se resume a uma operação 
DML, pode ser DDL ou qualquer outra operação que o usuário requisitou ao banco 
e esteja esperando a respota do sgbd.





 De: Jefferson Clyton jeff_programa...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Sexta-feira, 22 de Junho de 2012 14:03
Assunto: Re: [oracle_br] Re: Seção idle
 
Obrigado Rafael...

Eu imaginei algo parecido ...

Então prosseguindo...
Quando o status estiver INACTIVE significa o tempo que o 'cara' está
inativo pelo 'tempo de LAST_CALL_ET  e se eu mudar o status para ACTIVE
significa que é o tempo em q ele está executando uma DML?

Jefferson Silva,


Em 22 de junho de 2012 11:10, Rafael Vieira
vieira.rafae...@yahoo.com.brescreveu:

 **


 Jefferson, bom dia.
 A coluna LAST_CALL_ET é bem parecida com o que você quer, ela te dá o
 tempo que o usuário está executando uma determinada ação. Por exemplo: O
 cara executa um insert into select * from que dura uns 6 minutos, nessa
 coluna vai te mostrar o tempo em que o usuário está esperando a resposta do
 banco em segundos.
 Quando o processo acabar a coluna LAST_CALL_ET volta a ficar 0, e irá
 acrescentar um segundo por cada momento também que ele esteja Idle. Quando
 este usuário executar uma outra tarefa a coluna voltar a ficar zerada eo
 tempo começa.


 
 De: Jefferson Clyton jeff_programa...@yahoo.com.br
 Para: oracle_br@yahoogrupos.com.br
 Enviadas: Sexta-feira, 22 de Junho de 2012 10:38
 Assunto: Re: [oracle_br] Re: Seção idle


 Primeiramente agradeço as respostas...

 Rafael, executei sua querie e fiquei com dúvida no siguinificado da coluna:
 LAST_CALL_ET (até desconfio).

 João , pelo o que entendi ele utilizaram o EM  para obter essa informação,
 porém isto ocorreu no início do ano, mas, estou com esse chamado na mão
 agora (aff).

 Como vejo a quanto tempo uma seção está logada??

 Sem,
 Jefferson Silva.

 Em 21 de junho de 2012 18:03, J. Laurindo Chiappa
 jlchia...@yahoo.com.brescreveu:

  **

 
 
  Jefferson, vc não nos dá a informação MAIS importante (ie, QUAL
  ferramenta, QUAL query, enfim, QUAL método que estava te dizendo que
 haviam
  sessões idle/inativas
  Isso é importante porque talvez a ferramenta/query/whatever esteja (por
  exemplo) só olhando há quanto tempo uma sessão se logou, ou que está
  esperando receber comandos do cliente para fechar o cursor que abriu, ou
  sessões cujo último SQL foi recebido há x minutos, ou que estão
 conectadas
  há y horas
 
  == Vc está tecnicamente correto, se não há sessões com status=INACTIVE
 na
  coluna da V$SESSION, então não há sessões que não estejam executando SQLs
  no banco no momento, todas estão processando algo
  O que vc tem que fazer é DESCOBRIR com a sua fonte exatamente o que a tal
  tool/query/whatever chama de IDLE, qual consulta ela está fazendo, onde
 que
  ela está indo, etc, para poder checar Exatamente o que as tais sessões
  estão fazendo, e se for falso alarme (pelo jeito é) pedir para alterar a
  tal query/tool/fonte , ou ao menos Ignorar esse tipo de aviso
 
  []s
 
  Chiappa
 
 
  --- Em oracle_br@yahoogrupos.com.br, Jefferson Clyton jeff_programador@
 ...
  escreveu
 
  
   Prezados amigos,
  
  
   Recebi a informação de que algumas seções estavam ficando com o status
   'idle' e executei a querie:
   Oracle 10G
  
   select status, username from v$session;
  
   e não achei nada de idle... achei ativo, waiting
  
   Estou fazendo da forma correta??
  
   Aguardo,
   Jefferson Silva
   DBA - Junior
  
  
   [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 Exemplos

Re: [oracle_br] Re: Problema perfomance SQL

2012-06-19 Por tôpico Rafael Vieira
André e Chiappa, obrigado pela ajuda, problema resolvido.



 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Segunda-feira, 18 de Junho de 2012 19:07
Assunto: [oracle_br] Re: Problema perfomance SQL
 

  
Tá, mas além do índice Existir, ele está sendo usado no Plano de Execução ** 
real **, que vc tirou das V$ (e não o chute dado por alguma tool cliente) ?? 
Qual é a chave Completa do índice ?? Mais que isso, é Esperado que o índice 
seja usado ?? Afinal, cfrme nós sabemos, um índice é útil e deve ser usado SE, 
e apenas SE, a qtdade de linhas a recuperar for comparativamente MUITO MENOR do 
que o total da tabela e/ou SE o índice pode ser mais rapidamente scaneado via 
fast full index scan do que um full table scan.
Isso nos leva à questão de cardinalidades  : qual o tamanho total das tabelas 
envolvidas, E quantas linhas são esperadas nesse antijoin (que é o que eu 
imagino ser o trecho aonde vc quer saber quem NÃO está no conjunto, que vc 
codificou com um NOT EXISTS) ??? 
E o ponto mais importante : será que o que vc está obtendo com o NOT EXISTS é, 
logicamente falando, um nested loop, ie, CADA linha da query principal é 
procurada na tabela de lookup, que no seu exemplo seria a arrecadacao.pagamento 
pagto ? Se for isso, se a tabela de lookup for grande é Claro que operação 
linha-a-linha é Intrisecamente mais lenta para qtdades não-triviais, vc Tentou 
materializar isso de modo que possa ser feita uma busca geral, talvez com a 
cláusula WITH, talvez simplesmente se criando uma tabela temporária com os 
dados ? 

Numa próxima msg, se vc ainda estiver tendo o problema, mostra pra gente uma 
versão *** MENOR *** do SELECT em que ainda ocorra o problema (tem que ser uma 
versão CUSTOMIZADA, aonde vc tirou tudo o desnecessário, ninguém tem tempo pra 
ficar analisando uma query real de produção com meia dúzia de tabelas), mostra 
o plano de Execução ** real ** para nós e dê Todos os detalhes de acesso, 
índices e Cardinalidades, que a gente pode tentar palpitar em cima...

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Rafael Vieira vieira.rafael44@... 
escreveu

 André, obrigado pelo retorno.
 Respondendo a sua pergunta, tem sim.
 
 
 
 
 
  De: Andre Santos andre.psantos.ti@...
 Para: oracle_br@yahoogrupos.com.br 
 Enviadas: Segunda-feira, 18 de Junho de 2012 17:35
 Assunto: Re: [oracle_br] Problema perfomance SQL
 
 Rafael
 
 Uma primeira pergunta: na tabela pagamento há um índice por cnta_id?
 
 [ ]
 
 André
 
 2012/6/18 vieira.rafael44 vieira.rafael44@...
 
  **
 
 
  Amigos, boa tarde.
  Venho aqui pedir uma ajuda de vocês, estou com um probleminha de
  performance na query abaixo:
 
  Obs: O grande problema, é a última condição AND, onde se usa o NOT
  EXISTS, sem o NOT EXISTS a query roda em 01 min e 36seg. Quanto a
  questão de estatísticas e índice está ok.
 
  SELECT Count(conta.imov_id) AS idImovel
  FROM faturamento.conta conta
  INNER JOIN cadastro.imovel imov
  ON imov.imov_id = conta.imov_id
  INNER JOIN cadastro.localidade loca
  ON loca.loca_id = imov.loca_id
  INNER JOIN cadastro.setor_comercial stcm
  ON stcm.stcm_id = imov.stcm_id
  INNER JOIN cadastro.quadra qdra
  ON qdra.qdra_id = imov.qdra_id
  LEFT OUTER JOIN cobranca.cobranca_situacao cbst
  ON cbst.cbst_id = imov.cbst_id
  WHERE ( imov.cbst_id IS NULL
  OR cbst.cbst_icnaocobranca  1 )
  AND imov.imov_id NOT IN (SELECT cbsh.imov_id
  FROM cobranca.cobranca_situacao_hist cbsh
  WHERE cbsh.imov_id = imov.imov_id
  AND cbsh.cbsh_amcobrancaretirada IS NULL)
  AND imov.imov_icexclusao  1
  AND imov.imov_idcategoriaprincipal IN ( 1, 2, 3 )
  AND conta.dcst_idatual IN ( 0, 1, 2 )
  AND loca.greg_id = 44
  AND imov.iper_id IN ( 1, 3, 4, 5 )
  AND imov.last_id IN ( 5, 3 )
  AND conta.cnta_amreferenciaconta BETWEEN 200203 AND 201203
  AND NOT EXISTS (SELECT pagto.pgmt_id
  FROM arrecadacao.pagamento pagto
  WHERE pagto.cnta_id = conta.cnta_id)
 
  
 
 
 
 [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]



Re: [oracle_br] Re: Como identificar versão para compra de um cliente

2012-06-19 Por tôpico Rafael Vieira
Ok, obrigado ao Milton e a você Chiappa, obrigado pela atenção.



 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 19 de Junho de 2012 11:24
Assunto: [oracle_br] Re: Como identificar versão para compra de um cliente
 

  
É isso mesmo, Milton : inclusive, Rafael, concordo que REALMENTE a pessoa que 
vai fazer uma indicação de tecnologia REALMENTE tem que não só conhecer bem o 
ambiente do cliente, saber o que ele usa e o que não usa, mas também tem que 
conhecer a tecnologia Oracle - facilmente pode acontecer de tecnologias 
normalmente recomendadas para um ambiente possam ser aplicadas com extremo 
sucesso e benefício em outro, um exemplo é o Particionamento, que a 
documentação Oracle etiqueta como pertinente a DWs/Batch, mas pode se usado com 
MUITO sucesso em ambientes OLTP na hora de arquivar dados, por exemplo, 
permitindo que seja feito um simples e rápido TRUNCATE ou DROP na partição a 
ser eliminada, ao invés de ter que se fazer FULL TABLE SCAN caçando os dados a 
eliminar/arquivar...
Então, sendo assim, eu REALMENTE indicaria que vc acionasse alguém mais 
experiente, se hoje vc não se sente seguro o suficiente, para Evitar que vc 
indique uma edição/política de licenciamento com itens que o Cliente não pode 
usar ou uma que não contemple itens Extremamente úteis e importantes para o 
Cliente 

Caso  REALMENTE seja absolutamente, totalmente impossível que alguém mais 
experiente atue, SEM esquecer os cruciais pontos de orçamento e adequação que o 
Milton levantou, aí é vc que vai ter que aprender/conhecer o que existe em cada 
possibilidade de licenciamento e avaliar o que é bom e útil e necessário ao seu 
cliente ou não : as fontes de informação vão ser o paper 
http://www.oracle.com/us/products/database/039449.pdf , o manual de 
Licenciamento e o de Concepts , os papers em 
http://www.oracle.com/technetwork/database/enterprise-edition/overview/index.html
 e os bons livros de referência, que mostrem casos práticos de aplicação das 
funcionalidades / opções do database Oracle, que aí vc os contrasta com a 
situação do seu cliente : o autor Tom Kyte tem alguns excelentes livros para 
isso ...

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Milton Bastos Henriquis Jr. 
miltonbastos@... escreveu

 Preços:
 
 https://shop.oracle.com
 
 http://www.oracle.com/us/corporate/pricing/technology-price-list-070617.pdf
 
 (essa lista acima é de Abril, portanto podem haver preços desatualizados...
 mas é só procurar a mais atualizada no site)
 
 Não vou conseguir te explicar por e-mail TODOS os fatores e todas as
 perguntas que vc tem que fazer pro cliente.
 O certo é você aprender as diferenças de uma versão pra outra e daí sim
 saber encaixar.
 
 Primeira coisa é verificar quais Features e Options o cliente necessita.
 Exemplo: o cliente precisa da option de Compression, pois vai ter um volume
 muito grande de dados.
 Neste caso, obrigatoriamente vai precisar da versão Enterprise MAIS a
 option de compressão.
 
 Outra coisa é orçamento: se o cliente tem pouco pra gastar, já fica bem
 complicado indicar a versão Enterprise,
 daí tem que ver se uma versão Standard serve pra necessidade dele.
 
 Mais coisas importantes: ONDE vai rodar? a versão Standard One é no máximo
 2 sockets por servidor.
 A Standard, no máximo 4 sockets.
 No Enterprise, o número de sockets é ilimitado, porém o licenciamento é
 feito por core (e aí tem que pegar a tabela
 de fatores pra ver qual a arquitetura do servidor do cliente).
 
 Como calcular o licenciamento para Enterprise:
 http://www.oraclelicensestore.com/en/licensing/tutorial/licensing-tutorial
 
 
 Importante também saber quantos USUÁRIOS o cliente vai ter.
 Em caso de poucos usuários, fica viável fazer o licenciemento por usuário
 ao invés de licenciar pro processador.
 
 
 Enfim... tem vários fatores, fica complicado explicar tudo aqui por e-mail.
 Acho difícil aprender isso em poucos minutos, é necessário tempo de
 experiência na área e ter um pouco de feeling para fazer as perguntas
 corretas pro cliente.
 
 
 
 
 
 2012/6/19 vieira.rafael44 vieira.rafael44@...
 
  **
 
 
  Amigos, bom dia.
  Gostaria de saber como posso identificar qual versão do Oracle(Express
  Edition,Standard One, Standard Edition ou Enterprise Edition) poderia ser
  fornecida para um determinado cliente. Em outras palavras, gostaria de
  saber se existe algum material, ou algum artigo, que explique qual versão
  do Oracle seja mais indicada para uma determinada empresa. Preciso indicar
  uma versão do Oracle, mas tenho pouco tempo de experiência na área e muita
  dificuldade nesse aspecto. Teria também alguma tabela de preços?
 
  Obrigado pela atenção.
 
 
  
 
 
 
 
 -- 
 Att,
 
 
 [As partes desta mensagem que não continham texto foram removidas]



 

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



Re: [oracle_br] Problema perfomance SQL

2012-06-18 Por tôpico Rafael Vieira
André, obrigado pelo retorno.
Respondendo a sua pergunta, tem sim.





 De: Andre Santos andre.psantos...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Segunda-feira, 18 de Junho de 2012 17:35
Assunto: Re: [oracle_br] Problema perfomance SQL
 
Rafael

Uma primeira pergunta: na tabela pagamento há um índice por cnta_id?

[ ]

André

2012/6/18 vieira.rafael44 vieira.rafae...@yahoo.com.br

 **


 Amigos, boa tarde.
 Venho aqui pedir uma ajuda de vocês, estou com um probleminha de
 performance na query abaixo:

 Obs: O grande problema, é a última condição AND, onde se usa o NOT
 EXISTS, sem o NOT EXISTS a query roda em 01 min e 36seg. Quanto a
 questão de estatísticas e índice está ok.

 SELECT Count(conta.imov_id) AS idImovel
 FROM faturamento.conta conta
 INNER JOIN cadastro.imovel imov
 ON imov.imov_id = conta.imov_id
 INNER JOIN cadastro.localidade loca
 ON loca.loca_id = imov.loca_id
 INNER JOIN cadastro.setor_comercial stcm
 ON stcm.stcm_id = imov.stcm_id
 INNER JOIN cadastro.quadra qdra
 ON qdra.qdra_id = imov.qdra_id
 LEFT OUTER JOIN cobranca.cobranca_situacao cbst
 ON cbst.cbst_id = imov.cbst_id
 WHERE ( imov.cbst_id IS NULL
 OR cbst.cbst_icnaocobranca  1 )
 AND imov.imov_id NOT IN (SELECT cbsh.imov_id
 FROM cobranca.cobranca_situacao_hist cbsh
 WHERE cbsh.imov_id = imov.imov_id
 AND cbsh.cbsh_amcobrancaretirada IS NULL)
 AND imov.imov_icexclusao  1
 AND imov.imov_idcategoriaprincipal IN ( 1, 2, 3 )
 AND conta.dcst_idatual IN ( 0, 1, 2 )
 AND loca.greg_id = 44
 AND imov.iper_id IN ( 1, 3, 4, 5 )
 AND imov.last_id IN ( 5, 3 )
 AND conta.cnta_amreferenciaconta BETWEEN 200203 AND 201203
 AND NOT EXISTS (SELECT pagto.pgmt_id
 FROM arrecadacao.pagamento pagto
 WHERE pagto.cnta_id = conta.cnta_id)

 



[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] TABLE ACCESS FULL

2012-05-31 Por tôpico Rafael Vieira
Paulo, muito obrigado pela ajuda. 
Verifiquei que existe um nested Loops que possui um custo de 193.748, na 
ferramenta sql tools que estou ele nao me diz qual é a tabela, irei realizar o 
plano cartesionao no sql plus e irei mostrar aqui, o APPEND realmente é uma 
boa, hoje a noite quando colocar pra rodar novamente o insert, eu irei 
acrescentar o hint sim. Outra coisa, quando mudei para o padrão Oracle normal 
acontece o seguinte:

   from faturamento.conta cnta,
             cadastro.imovel imo,
             cadastro.localidade loc,
             cadastro.localidade elo,
             cadastro.quadra qua,
             micromedicao.rota rot,
             cadastro.setor_comercial stc,
             cadastro.gerencia_regional ger,
             cadastro.unidade_negocio uni,
             ( select coalesce( esf.epod_id, 0 ) as epod_id,
                      cim.imov_id,
                      cli.cltp_id
                 from cadastro.cliente_imovel cim,  
                      cadastro.cliente cli,  
                      cadastro.cliente_tipo ctp,  
                      cadastro.esfera_poder esf,  
                      cadastro.cliente_relacao_tipo crt 
               
                where cli.clie_id = cim.clie_id
                  AND cli.cltp_id = ctp.cltp_id
                  AND ctp.epod_id = esf.epod_id
                  AND cim.crtp_id = crt.crtp_id     
                  AND crt.crtp_id = 2 
                  AND( cim.clim_dtrelacaofim is null ) 
        )  esferaPoder,
            atendimentopublico.ligacao_agua lag,
            atendimentopublico.ligacao_agua_perfil lap,
            atendimentopublico.ligacao_esgoto leg,
            atendimentopublico.ligacao_esgoto_perfil lep,
            cadastro.SISTEMA_PARAMETROS sp -- essa tabela nao tem join, soh 
possui uma linha

       where cnta.imov_id  = imo.imov_id
         and loc.loca_id   = imo.loca_id
         and elo.loca_id   = loc.loca_cdelo
         and qua.qdra_id   = imo.qdra_id
         and rot.rota_id   = qua.rota_id
         and stc.stcm_id   = qua.stcm_id
         and ger.greg_id   = loc.greg_id
         and uni.uneg_id   = loc.uneg_id
         AND esferaPoder.imov_id = imo.imov_id (+) 
         AND lagu_id     = imo.imov_id (+)
         AND lap.lapf_id = lag.lapf_id (+)
         AND leg.lesg_id = imo.imov_id (+)
         AND lep.lepf_id = leg.lepf_id (+) 

ORA-01417: uma tabela só pode ser externamente unida a uma outra tabela no 
máximo




 De: Paulo A. Petruzalek ppetruza...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 31 de Maio de 2012 12:50
Assunto: Re: [oracle_br] TABLE ACCESS FULL
 

  
Olha, sem ter acesso ao seu ambiente não ajuda muito ter a query. Um table 
acess full no seu caso provavelmente é o que você precisa mesmo, isso por si só 
não quer dizer que é um plano ruim, apenas que em ambos os casos você está 
acessando mais de 20% das linhas das tabelas, e portanto, é mais barato para o 
banco fazer o full table scan. Além disso, 3 milhões de um lado e 30 milhões do 
outro não é considerado um volume de dados muito grande para os bancos atuais e 
se for só isso deveria resolver em pouco tempo.

Eu particularmente estaria procurando no seu plano falhas na condição de join 
(ex: merge join cartesian) e nested loops (para milhões de linhas é ruim fazer 
nested loops). Outra coisa, eu vi que você está usando ANSI JOINS, pela minha 
experiência o Oracle não lida bem com essa sintaxe quando há muitas tabelas 
envolvidas, então sugiro reescrever usando a sintaxe Oracle. Finalmente, você 
não mostra o insert, mas sendo uma carga massiva de dados sugiro que você use a 
hint APPEND para agilizar a carga dos dados e consumir menos recursos do banco. 
Vocẽ não fala a sua versão, o que limita bastante as opções, mas se estiver num 
banco enterprise pode usar paralelismo na query para tentar resolvê-la mais 
rapidamente.

[]'s

Paulo

On Thu, 31 May 2012 14:07:16 -
vieira.rafael44 vieira.rafae...@yahoo.com.br wrote:

 Pessoal, bom dia. Estou com uma query que é usada em um insert que está 
 demorando em torno de 18 horas. Fiz uma análise e limpei alguns lixos, mas 
 continua lenta, não irei colar o plano de execução aqui, pois é muito grande.
 
 Obs: O servidor está livre apenas para rodar esse script, só quem tem acesso 
 sou eu. 
 
 Tabela faturamento.conta possui 30 milhões de registro e está dando ACCESS 
 FULL na tabela
 
 tabela cadastro.imovel possui 3 milhoes registro e tb ocorre ACCESS FULL.
 
 Segue query para análise:
 
 SELECT CASE WHEN (substr(sp.parm_amreferenciaarrecadacao,5, 2) = '01') THEN 
 To_Number(substr(sp.parm_amreferenciaarrecadacao,1, 4) - 1||'12')  ELSE 
 sp.parm_amreferenciaarrecadacao - 1 END as rpen_amreferencia,  -- Ano mês de 
 referência
   ger.greg_id, -- Gerência 
   imo.iper_id, -- Perfil do imovel 
   imo.last_id, -- Ligacao de Agua Situacao
   elo.loca_id as elo, -- Elo
   

Re: [oracle_br] Re: TABLE ACCESS FULL

2012-05-31 Por tôpico Rafael Vieira
Ederson, muito obrigado pela ajuda amigo, vai servir de mais, não só para essa, 
mas para todas as outras query's.
Obrigado amigo.



 De: ederson2001br ederson200...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 31 de Maio de 2012 16:04
Assunto: [oracle_br] Re: TABLE ACCESS FULL
 

  
Alô Rafael,

Minhas sugestões:
- Usando o dbms_sqltune.create_tuning_task, você poderá usar o analisador do 
Oracle para te dar aquela mão.

Para quem não conhece este segredinho, lá vai:

- Abra o SQLPLUSW, edite um arquivo chamado P1.SQL e coloque nele:
--P1.sql
DECLARE
my_task_name   VARCHAR2 (30);
my_sqltext CLOB;
BEGIN 
my_sqltext :=  '  coloque o seu SQL aqui sem ponto-e-virgula-final  '; 
my_task_name := dbms_sqltune.create_tuning_task (sql_text= my_sqltext,
--bind_list = sql_binds (anydata.convertnumber (9)),  -- se ORA-01008, 
comente esta linha
user_name = 'NM',
scope = 'COMPREHENSIVE',
time_limit= 60,
task_name = 'TASK_TEST', 
description   = 'Tuning Task'
);
END;
/

Dica: coloque somente um atributo no select, o importante é a clausula WHERE. 
Não será retornado nenhuma linha, somente a análise do plano de execução. Não 
pode usar ASPAS-SIMPLES e nem ASPAS-DUPLAS, pois a atribuição de MY_SQLTEXT é 
feita com o sql no formato de uma string.
Pode usar variável BIND, não precisa atribuir valores.

- Outros arquivos:
--P2.sql
BEGIN
dbms_sqltune.execute_tuning_task (task_name = 'TASK_TEST');
END;
/

--P3.sql
column task_name format a20;
SELECT status FROM USER_ADVISOR_TASKS WHERE task_name = 'TASK_TEST';

--P4.sql
SET LONG 2
SET LONGCHUNKSIZE 1000
SET LINESIZE 150
set pagesize 1000
column status format a15
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK( 'TASK_TEST')
FROM DUAL;

--P5.sql
SELECT DBMS_SQLTUNE.SCRIPT_TUNING_TASK('TASK_TEST') RECOMMENTATION FROM DUAL;

--P6.sql
BEGIN
DBMS_SQLTUNE.DROP_TUNING_TASK(task_name = 'TASK_TEST');
END;
/

-- Como usar:
-Coloque o seu sql na variável my_sqltext em P1.SQL
-No Sqlplus, rode @p1, @p2, @p3, @P4, @p5 na sequencia
-O P4.sql vai te dar o resumo da melhoria, como criação de índices, verificação 
de tabelas sem join, etc
-Despreze recomendação de aplicar o sql_profile
-O P4.sql também simula a criação de indices e mostra como ficaria o plano, 
se eles existissem.
-O P5.sql dá os comandos de criação dos indices sugeridos
-O P6.sql apaga a transação criada em P1, para você rodar novamente ou com 
outro SQL.

Faça bom uso, o recurso é um show!

Ederson Elias
DBA Oracle
http://br.linkedin.com/pub/ederson-elias/24/8b/8b0

--- Em oracle_br@yahoogrupos.com.br, vieira.rafael44 vieira.rafael44@... 
escreveu

 Pessoal, bom dia. Estou com uma query que é usada em um insert que está 
 demorando em torno de 18 horas. Fiz uma análise e limpei alguns lixos, mas 
 continua lenta, não irei colar o plano de execução aqui, pois é muito grande.
 
 Obs: O servidor está livre apenas para rodar esse script, só quem tem acesso 
 sou eu. 
 
 Tabela faturamento.conta possui 30 milhões de registro e está dando ACCESS 
 FULL na tabela
 
 tabela cadastro.imovel possui 3 milhoes registro e tb ocorre ACCESS FULL.
 
 Segue query para análise:
 
 SELECT CASE WHEN (substr(sp.parm_amreferenciaarrecadacao,5, 2) = '01') THEN 
 To_Number(substr(sp.parm_amreferenciaarrecadacao,1, 4) - 1||'12')  ELSE 
 sp.parm_amreferenciaarrecadacao - 1 END as rpen_amreferencia,  -- Ano mês de 
 referência
   ger.greg_id, -- Gerência 
   imo.iper_id, -- Perfil do imovel 
   imo.last_id, -- Ligacao de Agua Situacao
   elo.loca_id as elo, -- Elo
   imo.lest_id, -- Ligacao de Esgoto Situacao 
   imo.imov_idcategoriaprincipal, ---imo.idcatg_pricipal,
   imo.imov_idsubcategoriaprincipal, ---imo.idscat_id,
   esferaPoder.epod_id,
   cltp_id, ---cli.cltp_id,
   Nvl(lap.lapf_id,0),
   Nvl(lep.lepf_id,0), 
   stc.stcm_cdsetorcomercial, -- Codigo do Setor Comercial
   qua.qdra_nnquadra, -- Numero da quadra
   uni.uneg_id, -- Unidade
   qua.rota_id, -- Rota 
   loc.loca_id, -- Localidade
   stc.stcm_id, -- Setor Comercial
   qua.qdra_id, -- Quadra
   case when ( lag.lagu_nnconsumominimoagua  0 ) then
 1
   else
 2
   end, -- Volume fixado de agua
   case when ( leg.lesg_nnconsumominimoesgoto  0 ) then
 1
   else
 2
   end, -- Volume fixado de Esgoto 
 
   1, --- dotp_id
   cnta.cnta_amreferenciaconta, -- Ano mes de referencia da conta
 
 
   case when 
   ( imo.last_id in ( 3, 5 ) and lag.hidi_id is not null ) or 
 -- Medido de Agua
   ( imo.lest_id = 3 and imo.hidi_id is not null ) then -- 
 Medido de Esgoto
  

Re: [oracle_br] ERROR: UGA memory leak detected ---- Alert.Log

2012-05-30 Por tôpico Rafael Vieira
Boa tarde Alisson.
Esse tal erro ora 600 novamente...
Eu mesmo já abri um tópico sobre isso, e a maioria das respostas que você vai 
encontrar sobre isso é abrir um SR, tem que abrir um chamado pra Oracle. 

No meu caso era um bug mesmo, no Datapump, quando fazia o impdp aparecia esse 
erro ora600 e descobriram que a placa mãe, as configurações de ambiente do SO 
não estavam batendo... Nós trocamos a máquina e funcionou, mas seu caso deve 
ser outro, vamos esperar alguém se pronunciar.



 De: alisson alisson...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 30 de Maio de 2012 14:39
Assunto: [oracle_br] ERROR: UGA memory leak detected  Alert.Log
 

  
Olá amigos ...

Estou com um log de alerta no meu servidor...
Configuração:

S.O : Windows Server 2008 R2 Entreprise 64 - Service pack 1
12gb RAM 
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit  
Production

OS logs de alertas começaram ontem e vi em alguns forum oracle que é um erro 
que pode ser ignorando e em alguns falou sobre reiniciar que deve ser resolvido 
o problema. 
Pelo que observei é um vasamento de memoria e isso acontece quando o datadump é 
executado por scripts rman..

Ontem dei um shutdown na base de dados e o mesmo parou de gerar o erro e hoje 
as 12:12 retornou o alerta.

Bom segue o erro no alert.

##
Wed May 30 12:12:00 2012
Errors in file 
c:\app\administrator\diag\rdbms\bdeducar\bdeducar\trace\bdeducar_j000_5872.trc  
(incident=108282):
ORA-00600: código de erro interno, argumentos: [729], [17064], [space leak], 
[], [], [], [], [], [], [], [], []
Incident details in: 
c:\app\administrator\diag\rdbms\bdeducar\bdeducar\incident\incdir_108282\bdeducar_j000_5872_i108282.trc
Errors in file 
c:\app\administrator\diag\rdbms\bdeducar\bdeducar\trace\bdeducar_j000_5872.trc:
ORA-00600: código de erro interno, argumentos: [729], [17064], [space leak], 
[], [], [], [], [], [], [], [], []
Wed May 30 12:12:01 2012
Trace dumping is performing id=[cdmp_20120530121201]
Wed May 30 12:12:11 2012
Sweep Incident[108282]: completed
Wed May 30 12:33:07 2012
Thread 1 advanced to log sequence 6025 (LGWR switch)
Current log# 1 seq# 6025 mem# 0: 
C:\APP\ADMINISTRATOR\ORADATA\BDEDUCAR\REDO01.LOG
Wed May 30 13:00:16 2012
Thread 1 advanced to log sequence 6026 (LGWR switch)
Current log# 2 seq# 6026 mem# 0: 
C:\APP\ADMINISTRATOR\ORADATA\BDEDUCAR\REDO02.LOG
Wed May 30 13:00:53 2012
Thread 1 advanced to log sequence 6027 (LGWR switch)
Current log# 4 seq# 6027 mem# 0: 
C:\APP\ADMINISTRATOR\ORADATA\BDEDUCAR\REDO04.LOG
Wed May 30 13:31:43 2012
Errors in file 
c:\app\administrator\diag\rdbms\bdeducar\bdeducar\trace\bdeducar_j000_2296.trc  
(incident=108010):
ORA-00600: código de erro interno, argumentos: [729], [17064], [space leak], 
[], [], [], [], [], [], [], [], []
Incident details in: 
c:\app\administrator\diag\rdbms\bdeducar\bdeducar\incident\incdir_108010\bdeducar_j000_2296_i108010.trc
Errors in file 
c:\app\administrator\diag\rdbms\bdeducar\bdeducar\trace\bdeducar_j000_2296.trc:
ORA-00600: código de erro interno, argumentos: [729], [17064], [space leak], 
[], [], [], [], [], [], [], [], []
Wed May 30 13:31:46 2012
Trace dumping is performing id=[cdmp_20120530133146]
Wed May 30 13:31:48 2012
Sweep Incident[108010]: completed
Wed May 30 14:01:42 2012
Errors in file 
c:\app\administrator\diag\rdbms\bdeducar\bdeducar\trace\bdeducar_j000_5204.trc  
(incident=107802):
ORA-00600: código de erro interno, argumentos: [729], [9144], [space leak], [], 
[], [], [], [], [], [], [], []
Incident details in: 
c:\app\administrator\diag\rdbms\bdeducar\bdeducar\incident\incdir_107802\bdeducar_j000_5204_i107802.trc
Errors in file 
c:\app\administrator\diag\rdbms\bdeducar\bdeducar\trace\bdeducar_j000_5204.trc:
ORA-00600: código de erro interno, argumentos: [729], [9144], [space leak], [], 
[], [], [], [], [], [], [], []
Wed May 30 14:01:43 2012
Trace dumping is performing id=[cdmp_20120530140143]
Wed May 30 14:01:47 2012
Sweep Incident[107802]: completed
**

Segue o arquivo bdeducar_j000_5872.trc
##
Trace file 
c:\app\administrator\diag\rdbms\bdeducar\bdeducar\trace\bdeducar_j000_2296.trc
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Windows NT Version V6.1 Service Pack 1
CPU : 6 - type 8664, 6 Physical Cores
Process Affinity: 0x
Memory (Avail/Total): Ph:6733M/12227M, Ph+PgF:18799M/24453M
Instance name: bdeducar
Redo thread mounted by this instance: 1
Oracle process number: 53
Windows thread id: 2296, image: ORACLE.EXE (J000)

*** 2012-05-30 13:31:43.381
*** SESSION ID:(336.5490) 2012-05-30 13:31:43.381
*** CLIENT ID:() 2012-05-30 13:31:43.381
*** SERVICE 

Re: [oracle_br] Help no Script

2012-05-23 Por tôpico Rafael Vieira
Tenta colocar a cláusula having fazendo uma condição data = max(data), pq o 
having aceita um filtro com agrupamento, ou então, faria uma gamb,order by 
data desc  e colocaria um rownum = 1 





 De: Bruno Banfi bruno.ba...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 23 de Maio de 2012 14:56
Assunto: [oracle_br] Help no Script
 

  
Boa tarde a todos,

Tenho o seguinte script:

SELECT MAX(I.EST_DATA_ENTRADA) as 'DATA_ENTRADA', I.EST_FK_EPI,I.EST_CUST_UND
           from ESTOQUE as I, EPI as H
           INNER JOIN ESTOQUE ON EST_FK_EPI = H.EPI_ID
           Group by I.EST_FK_EPI, I.EST_CUST_UND
           ORDER BY I.EST_FK_EPI

Que da o seguinte resultado:

EST_DATA_ENTRADA         EST_FK_EPI         EST_CUST_UND
2012-03-28                         NULL                      23.00
2011-09-28                         2                              0.65
2012-05-16                         2                              0.69
2012-05-16                         4                              1.55
2011-09-28                        59                             3.05
2011-10-27                        77                             3.75
2012-02-17                        77                             3.05
2011-09-30                        79                             2.25
2012-02-17                        97                             2.25
2011-09-30                        99                             22.14
2011-09-30                        121                           7.56
2011-09-30                        139                           46.00
2012-02-17                        140                           16.50
2012-02-17                        144                           3.71
2011-09-30                        144                           6.55
2012-05-16                        161                           3.71
2011-09-30                        161                           3.70

O resultado que preciso trazer é o valor (EST_CUST_UND) com a data 
(EST_DATA_ENTRADA) mais recente.

Muito obrigado,

Bruno

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


 

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



Re: [oracle_br] Help no Script

2012-05-23 Por tôpico Rafael Vieira
SELECT max(I.EST_DATA_ENTRADA) as 'DATA_ENTRADA', I.EST_FK_EPI,I.EST_CUST_UND
           from ESTOQUE as I, EPI as H
           INNER JOIN ESTOQUE ON EST_FK_EPI = H.EPI_ID


           Group by I.EST_FK_EPI, I.EST_CUST_UND
       having      I.EST_DATA_ENTRADA = ( Select 
max(ESTOQUE  .EST_DATA_ENTRADA) from ESTOQUE)      
ORDER BY I.EST_FK_EPI 


tenta assim bruno.




 De: Bruno Banfi bruno.ba...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 23 de Maio de 2012 16:15
Assunto: Re: [oracle_br] Help no Script
 

  
Milton, fiz dessa maneira porque não é possivel dar um Select na coluna e não 
colocar no group by.

Não posso fazer isso, da erro:

SELECT MAX(I.EST_DATA_ENTRADA) DATA_ENTRADA, I.EST_FK_EPI, I.EST_CUST_UND
from ESTOQUE as I
Group by I.EST_FK_EPI


De: Milton Bastos Henriquis Jr. miltonbas...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 23 de Maio de 2012 15:53
Assunto: Re: [oracle_br] Help no Script

Sim, vc fez errado!

Vc colorou o campo VALOR no group by.
É por isso que aparecem dois valores diferentes pro mesmo produto - foi vc
mesmo que mandou que ficasse assim.

Eu já imaginei que tivesse esse erro, por isso coloquei aquele comentário.

Se vc quer apenas da data mais recente, mande agrupas apenas pelo produto,
daí pegue a data mais recente usando o MAX, e por fim pegue o valor do
produto naquela data.

2012/5/23 Bruno Banfi bruno.ba...@yahoo.com.br

 **


 Milton,

 Veja que no resultado aparece dois valores para o mesmo produto mas com
 datas diferentes:


  2011-09-28                        2                              0.65
  2012-05-16                        2                              0.69

 Na minha consulta precisa aparecer o valor do produto com a data mais
 recente. Nesse caso acima era para aparecer somente:

 2012-05-16                        2                              0.69

 Não deu certo o que o Rafael sugeriu. Vou revisar para ver se estou
 fazendo alguma coisa errada.

 Obrigado pelo retorno.

 Bruno

 
 De: Milton Bastos Henriquis Jr. miltonbas...@gmail.com
 Para: oracle_br@yahoogrupos.com.br
 Enviadas: Quarta-feira, 23 de Maio de 2012 15:27
 Assunto: Re: [oracle_br] Help no Script


 Sobre a sugestão do Rafael, importante lembrar que:
 Se for usar rownum, tem que usar subselect também.

 Bruno: tenho quase certeza que vc não explicou corretamente o que vc
 realmente deseja.

 Essa query que vc passou, ela está CORRETA e vc deseja extrair essa
 informação dela?
 Ou ela está ERRADA e vc deseja corrigi-la?

 Se ela estiver correta, pra extrair exatamente o que vc descreveu, é
 fácil...
 Sem fazer muita alteração e usando a dica do Rafael:

 Select DATA_ENTRADA, EST_CUST_UND
 from (
 SELECT MAX(I.EST_DATA_ENTRADA) DATA_ENTRADA, I.EST_FK_EPI,I.EST_CUST_UND
 from ESTOQUE as I, EPI as H
 INNER JOIN ESTOQUE ON EST_FK_EPI = H.EPI_ID
 Group by I.EST_FK_EPI, I.EST_CUST_UND
 order by MAX(I.EST_DATA_ENTRADA))
 where rownum = 1;

 Mas tenho o leve pressentimento que não é isso que vc quer... que talvez vc
 queira refazer
 a query, mudar esse agrupamento, mas nesse caso só dá pra te ajudar se vc
 realmente explicar melhor.

 2012/5/23 Rafael Vieira vieira.rafae...@yahoo.com.br

  **

 
 
  Tenta colocar a cláusula having fazendo uma condição data = max(data), pq
  o having aceita um filtro com agrupamento, ou então, faria uma
 gamb,order
  by data desc  e colocaria um rownum = 1
 
  
  De: Bruno Banfi bruno.ba...@yahoo.com.br
  Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br
  Enviadas: Quarta-feira, 23 de Maio de 2012 14:56
  Assunto: [oracle_br] Help no Script
 
 
 
  Boa tarde a todos,
 
  Tenho o seguinte script:
 
  SELECT MAX(I.EST_DATA_ENTRADA) as 'DATA_ENTRADA',
  I.EST_FK_EPI,I.EST_CUST_UND
             from ESTOQUE as I, EPI as H
             INNER JOIN ESTOQUE ON EST_FK_EPI = H.EPI_ID
             Group by I.EST_FK_EPI, I.EST_CUST_UND
             ORDER BY I.EST_FK_EPI
 
  Que da o seguinte resultado:
 
  EST_DATA_ENTRADA        EST_FK_EPI        EST_CUST_UND
  2012-03-28                        NULL                      23.00
  2011-09-28                        2                              0.65
  2012-05-16                        2                              0.69
  2012-05-16                        4                              1.55
  2011-09-28                        59                            3.05
  2011-10-27                        77                            3.75
  2012-02-17                        77                            3.05
  2011-09-30                        79                            2.25
  2012-02-17                        97                            2.25
  2011-09-30                        99                            22.14
  2011-09-30                        121                          7.56
  2011-09-30

Re: [oracle_br] Re: Carreira DBA

2012-05-16 Por tôpico Rafael Vieira
Amigo, bom dia.
Posso dá como exemplo o que aconteceu comigo, assim como você, também estava 
querendo uma vaga de DBA Jr. e não encontrava oportuniadade, creio eu, que o 
primeiro emprego realmente é o mais difícil de se conseguir, por não ter 
experiência etc..
Consegui uma vaga para desenvolvedor Oracle, fiquei 2 anos nessa empresa 
desenvolvendo e adquirir uma boa experiência, fiz a prova de SQL e passei. 
Assim, comecei os meus estudos para a área Administrativa, depois de algum 
tempo estudando, surgiu na mesma empresa uma vaga para DBA Jr. a qual não foi 
me dada a oportunidade, mesmo o pessoal sabendo que vinha desempenhando um bom 
trabalho, eles me disseram que a tal da certificação era obrigatória. Minha 
prova já está marcada, é exatamente daqui a 8 dias, e no decorrer dos estudos 
surgiu uma oportunidade para ingressar na área em outra empresa, e estou aqui a 
3 meses, estude, cole a cara nos livros que oportunidades aparecem pra quem se 
esforça, isso é fato.

Att,
Rafael Mendonça



 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Maio de 2012 22:28
Assunto: [oracle_br] Re: Carreira DBA
 

  

Colega, seguinte : vc até pode achar alguma coisa de DBA iniciante, por exemplo 
júnior, mas nunca vai haver muitas vagas - em http://www.indeed.com.br , que é 
um site concentrador de vagas, se vc procurar por DBA JR ORACLE vc vai achar 
coisa de 2 ou 3, só  ... 
O que pega é que DBA mesmo novato tem uma responsa danada, um comandinho furado 
e o banco pode ir pro saco, e além disso normalmente as Empresas querem alguém 
que já usou o banco na prática, que se não administrou pelo menos presenciou 
alguns desafios do dia a dia, então pra quem quer começar normalmente é mais 
fácil começar pela área de programação - via de regra há muito mais ofertas 
em Programação, e vc ganha experiência na utilização do database na prática do 
dia a dia, que vai ser algo utilíssimo mais tarde, quando vc entrar para a área 
de DBA ... E essa experiência realmente conta para as Empresas , normalmente...

[]s

Chiappa
--- Em oracle_br@yahoogrupos.com.br, carlos silva carlos_nsilva@... escreveu

 Andei procurando por esses programas mas no momento não encontrei nada. Mas 
 de qualquer forma obrigado pela dica.. 
  
  
  
 Abçs!!!
    
 
  De: Rodrigo Gallacci rodrigo.gallacci@...
 Para: oracle_br@yahoogrupos.com.br 
 Enviadas: Terça-feira, 15 de Maio de 2012 20:54
 Assunto: Re: [oracle_br] Carreira DBA
 
 
 Procure por programas de trainee, sei que não pagam bem, mas é um bom
 caminho de entrada.
 
 Bem vindo à área dos que não dormem, não almoçam, etc...hehheheh
 
 Att
 Rodrigo Gustavo Gallacci
 DBA Oracle ATG
 
 
 2012/5/15 carlos silva carlos_nsilva@...
 
  **
 
 
  Boa noite Pessoal,
 
  Meu nome é Carlos e gostaria da opinião de profissionais da área de banco
  de dados Oracle sobre o início da carreira. Me formei na Fiap há
  aproximadamente 1 ano atrás e conclui o curso de Especialização de banco de
  dados Oracle (Pós-Graduação). Durante esse tempo venho tentando migrar para
  área de banco mais está sendo difícil devido ao fato de eu não ter
  experiência. Sempre trabalhei na área de Produção e meus conhecimentos
  abrangem Unix, Shell Script, SQL, Automatização de processos, Linguagem
  SQL, porém a experiência como Administrador de banco de dados eu ainda não
  tenho. Gostei muito de Oracle e no momento estou estudando para tirar a
  certificação OCA e gostaria de saber quais passos além desses devo seguir
  para conseguir uma oportunidade na área. Caso saibam de alguma vaga para
  Júnior é só falar também..
 
 
 
 
  Obrigado!
 
  [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]



Re: [oracle_br] Re: Carreira DBA

2012-05-16 Por tôpico Rafael Vieira
Não sei se você conhece, mas o site do nosso amigo Milton e do Victor também 
tem uma série de informações importantes sobre certificação, o nome do site já 
diz tudo, segue:

http://certificacaobd.com.br/ 




 De: carlos silva carlos_nsi...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 16 de Maio de 2012 8:41
Assunto: Re: [oracle_br] Re: Carreira DBA
 

  
Obrigado pessoal pelas dicas... Já aconteceu isso comigo também Rafael.. Na 
empresa onde trabalho as vezes surgem vaga para DBA Oracle Jr. mais as vagas 
são sempre através de outras consultorias e aqui existe uma burocracia muito 
grande para você passar para outra consultoria, sabe como é né...  Estou 
estudando bastante sobre Oracle e pretendo logo obter a certificação também 
para ver se pelo menos tenho uma oportunidade para ser chamado para uma 
entrevista.. rs..
 
Obrigado e tenham um bom dia.
 
 
 
Att,
Carlos


De: Rafael Vieira vieira.rafae...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 16 de Maio de 2012 8:27
Assunto: Re: [oracle_br] Re: Carreira DBA

  
Amigo, bom dia.
Posso dá como exemplo o que aconteceu comigo, assim como você, também estava 
querendo uma vaga de DBA Jr. e não encontrava oportuniadade, creio eu, que o 
primeiro emprego realmente é o mais difícil de se conseguir, por não ter 
experiência etc..
Consegui uma vaga para desenvolvedor Oracle, fiquei 2 anos nessa empresa 
desenvolvendo e adquirir uma boa experiência, fiz a prova de SQL e passei. 
Assim, comecei os meus estudos para a área Administrativa, depois de algum 
tempo estudando, surgiu na mesma empresa uma vaga para DBA Jr. a qual não foi 
me dada a oportunidade, mesmo o pessoal sabendo que vinha desempenhando um bom 
trabalho, eles me disseram que a tal da certificação era obrigatória. Minha 
prova já está marcada, é exatamente daqui a 8 dias, e no decorrer dos estudos 
surgiu uma oportunidade para ingressar na área em outra empresa, e estou aqui a 
3 meses, estude, cole a cara nos livros que oportunidades aparecem pra quem se 
esforça, isso é fato.

Att,
Rafael Mendonça


De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Maio de 2012 22:28
Assunto: [oracle_br] Re: Carreira DBA

  

Colega, seguinte : vc até pode achar alguma coisa de DBA iniciante, por exemplo 
júnior, mas nunca vai haver muitas vagas - em http://www.indeed.com.br , que é 
um site concentrador de vagas, se vc procurar por DBA JR ORACLE vc vai achar 
coisa de 2 ou 3, só ... 
O que pega é que DBA mesmo novato tem uma responsa danada, um comandinho furado 
e o banco pode ir pro saco, e além disso normalmente as Empresas querem alguém 
que já usou o banco na prática, que se não administrou pelo menos presenciou 
alguns desafios do dia a dia, então pra quem quer começar normalmente é mais 
fácil começar pela área de programação - via de regra há muito mais ofertas 
em Programação, e vc ganha experiência na utilização do database na prática do 
dia a dia, que vai ser algo utilíssimo mais tarde, quando vc entrar para a área 
de DBA ... E essa experiência realmente conta para as Empresas , normalmente...

[]s

Chiappa
--- Em oracle_br@yahoogrupos.com.br, carlos silva carlos_nsilva@... escreveu

 Andei procurando por esses programas mas no momento não encontrei nada. Mas 
 de qualquer forma obrigado pela dica.. 
  
  
  
 Abçs!!!
    
 
 De: Rodrigo Gallacci rodrigo.gallacci@...
 Para: oracle_br@yahoogrupos.com.br 
 Enviadas: Terça-feira, 15 de Maio de 2012 20:54
 Assunto: Re: [oracle_br] Carreira DBA
 
 
 Procure por programas de trainee, sei que não pagam bem, mas é um bom
 caminho de entrada.
 
 Bem vindo à área dos que não dormem, não almoçam, etc...hehheheh
 
 Att
 Rodrigo Gustavo Gallacci
 DBA Oracle ATG
 
 
 2012/5/15 carlos silva carlos_nsilva@...
 
  **
 
 
  Boa noite Pessoal,
 
  Meu nome é Carlos e gostaria da opinião de profissionais da área de banco
  de dados Oracle sobre o início da carreira. Me formei na Fiap há
  aproximadamente 1 ano atrás e conclui o curso de Especialização de banco de
  dados Oracle (Pós-Graduação). Durante esse tempo venho tentando migrar para
  área de banco mais está sendo difícil devido ao fato de eu não ter
  experiência. Sempre trabalhei na área de Produção e meus conhecimentos
  abrangem Unix, Shell Script, SQL, Automatização de processos, Linguagem
  SQL, porém a experiência como Administrador de banco de dados eu ainda não
  tenho. Gostei muito de Oracle e no momento estou estudando para tirar a
  certificação OCA e gostaria de saber quais passos além desses devo seguir
  para conseguir uma oportunidade na área. Caso saibam de alguma vaga para
  Júnior é só falar também..
 
 
 
 
  Obrigado!
 
  [As partes desta mensagem que não continham texto foram

Re: [oracle_br] Re: Eventos em espera

2012-05-11 Por tôpico Rafael Vieira
 de consulta/relatório, a hora de verificar é durante a execução.
 
 Pontos a considerar:
 - tunning da query: vc conhece TUNNING_TASK 
 (dbms_sqltune.create_tuning_task)? Isto pode te ajudar bastante, a analizar 
 sua query, sugerindo indices ou melhor escolha do plano de execução criando 
 um profile otimizado do sql.
 - Verificar LOCK durante a execução (tem o script UTLLOCKT.sql na área de 
 rdbms/admin). Se está havendo lock entre sessões, uma delas ficará aguardando 
 com a execução parada ...
 - Verificar V$SESSION_LONGOPS (monitorar query´s demoradas):
 
 SELECT TO_CHAR(s.sid) sid,
   TO_CHAR(s.serial#) serial,
   s.username,
   SUBSTR(DECODE(target_desc,NULL,DECODE(target,NULL,opname, concat(opname, 
 concat (' - ',target))), 
 DECODE(target,NULL,concat(opname, concat (' : ',target_desc)), 
   concat(opname, concat (' : ',concat(target_desc, concat (' - 
 ',target)),1,25) Processo ,
   TO_CHAR(start_time,'dd/mm/ hh24:mi:ss') Inicio,
   TO_CHAR(elapsed_seconds,'999') Tempo(s) ,
   DECODE(sofar, 0, 0, ROUND(elapsed_seconds*(totalwork-sofar)/sofar)) Blocos 
 Processados
 FROM v$session_longops l,
   v$session s
 WHERE sofar  totalWork
 AND s.sid   =l.sid;
 
 Espero ter ajudado, sei que esta situação é complicadíssima pois já senti na 
 pele.
 
 Forte abraço.
 
 Ederson Elias
 DBA Oracle
 http://br.linkedin.com/pub/ederson-elias/24/8b/8b0
 
 
 --- Em oracle_br@yahoogrupos.com.br, Rafael Vieira vieira.rafael44@ escreveu
 
  Chiappa, gostaria de mais uma ajuda sua...
  Esse batch rodou ontem pela manhã durante 40 minutos, e a tarde rodou em 8 
  horas, o pessoal veio argumentar que a aplicação não mudou absolutamente 
  nada, e que queria uma explicação por conta desse tempo, está todo mundo 
  colocando a culpa no database, mas eu não mudei absolutamente nada, não foi 
  feita nenhuma alteração e nenhum ajuste foi feito no database, o argumento 
  do pessoal é que o o mesmo batch que rodou em 40 minutos e a tarde foi 
  colocado novamente em execução e acabou em 8 horas. O meu argumento está 
  sendo que o problema é a query que detectei mal escrita que está dando o 
  problema e que eh executada dezenas de vezes, mas eles voltam a argumentar 
  o tempo que foi rodado antes em 40 minutos, teria algo a acrescentar em 
  defesa do database? Preciso de uma justificativa à dar sobre isso, eu sei 
  que é difícil pra uma pessoa que está de fora e não tem nem noção da 
  infra-estrutura, nem idéia do modelo e de como é o processo,
   mas se tiver algo a acrescentar, eu agradeceria e MUITO, pois isso vai pra 
  diretoria e preciso de algo para me justificar. O grande problema é que não 
  tenho à quem recorrer além do Blog e dos amigos.
  
  
  
   De: Rafael Vieira vieira.rafael44@
  Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
  Enviadas: Quinta-feira, 10 de Maio de 2012 9:35
  Assunto: Re: [oracle_br] Re: Eventos em espera
  
  
    
  Chiappa, muito obrigado pela ajuda.
  
  Realmente, achei muito interessante essa criação da view materializada, 
  realmente essae query busca milhões de linhas todas as vezes que é 
  consultada, e como falei anteriormente ela é rodada centenas de vezes( que 
  segundo o pessoal realmente é necessário). Irei fazer sim esse teste junto 
  com os desenvolvedores, tomara que dê certo, pelo que li sobre o que vc 
  escreveu no prórpio grupo sobre MV's é uma excelente alternativa.
  
  Quanto ao paralelismo em tabelas não existe, existe sim paralelismo em 
  índices onde a maioria está setada para 8 que é o total de processadores 
  que nós temos, como esse banco é expecífico para esse BATCH, quando o 
  processo inicia ninguém mais se conecta no banco por questão de 
  concorrência etc...
  
  No caso para aumentar a memória para SORT's e HASH's vc se refere a PGA? Eu 
  sou muito novo na área e estou aprendendo aos poucos, eu me encontro em uma 
  situação dificil pois não tem outro DBA para me auxiliar.
  Então alguns termos as vezes não fica claro para mim.
  
  As estatísticas, todas estão sim atualizadas.
  
  
  De: J. Laurindo Chiappa jlchiappa@
  Para: oracle_br@yahoogrupos.com.br 
  Enviadas: Quarta-feira, 9 de Maio de 2012 18:10
  Assunto: [oracle_br] Re: Eventos em espera
  
  
    
  Colega, lamento ser o desmancha-prazeres, mas é um Fato que :
  
  - não existe um parâmetro, um setting que vc aplique e faça qquer tarefa 
  no banco de dados ficar rápida
  
  - como qquer software, se vc mandar o banco de dados fazer uma asneira 
  (exemplo, ler a mesma informação vezes e vezes sem conta, repetidas vezes, 
  ou não usar o melhor construto SQL para uma solicitação, ou acessar um 
  modelo falho, etc ), ele VAI burramente fazer, não tem por onde
  
  == Então, a partir do momento que vc identificou um processamento que de 
  cara não parece ser bem-feito E ainda por cima é repetido N vezes, pouco vc 
  tem  fazer no banco de dados em si - com certeza, algum tipo de Tuning

Re: [oracle_br] *** Instancia não conecta **

2012-05-10 Por tôpico Rafael Vieira
e de repente, novas conexões nãopassaram mais a serem aceitas, nem SQL Plus, 
nem aplicação, nada.

A princípio eu desconfiaria do Listener ou do parameter processes, esse erro 
apareceu semana passada para mim, e o erro ORA infelizmente não foi tão claro, 
pois a quantidade de processos v$process estava com o máximo de acordo com o 
parameter processes.






 De: Fernando Franquini 'capin' fernando.franqu...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 10 de Maio de 2012 11:17
Assunto: Re: [oracle_br] *** Instancia não conecta **
 

  
Qual o status do listener?

Veja se o tamanho do log do listener não estourou!

2012/5/10 Robson Muniz (Terra) rmunizso...@terra.com.br

 Bom dia pessoal.



 Estamos com um problema em uma base de dados Oracle 10.2.0.4.0 (Windows
 2008), que estava funcionando normalmente e de repente, novas conexões não
 passaram mais a serem aceitas, nem SQL Plus, nem aplicação, nada.



 As conexões que já estavam ativas, continuam sem problemas.



 Abaixo o erro apresentado no momento da conexão nova.



 SQL conn sys as sysdba

 Enter password:

 ERROR:

 ORA-12560: TNS:protocol adapter error



 Alguém consegue me ajudar com alguma idéia ?

 Obrigado a todos,

 Robson.



 [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




-- 
Fernando Franquini - Capin
Graduado Bacharel em Ciencias da Computação - UFSC
Analista de Sistemas e de Banco de Dados / DBA
Contatos: 048.9902.4047  - Florianópolis - SC - Brasil
http://franquini.wordpress.com/
http://franquini.wordpress.com/
http://br.linkedin.com/in/capin
http://wf5.com.br/

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


 

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



Re: [oracle_br] Re: Eventos em espera

2012-05-10 Por tôpico Rafael Vieira
Milton, obrigado pelo retorno.

1 - OLTP

2 - É manual, não tem um horário certo, mas o pessoal costuma a rodar pela 
manhã e a tarde, às vezes deixam a noite também.

3 - Nos dois horários apenas um usuário estava conectado pela aplicação rodando 
o BATCH.

4 - Creio que não, eu não acompanhei o processo inteiro, pois tinha outros 
fazeres, mas o tempo que acompanhei, não tinha ninguém concorrendo com o BATCH, 
apenas ele estava sendo executado.






 De: Milton Bastos Henriquis Jr. miltonbas...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 10 de Maio de 2012 11:35
Assunto: Re: [oracle_br] Re: Eventos em espera
 
1 - Essa base é OLTP ou OLAP?

2 - Essa Batch roda de quanto em quanto tempo? É automático ou manual?

3 - Quantos usuários tinham conectados e trabalhando ontem de manhã,
quando rodou em 40 minutos?
E quantos tinham a tarde, quando rodou em 8 horas?

4 - Haviam OUTROS processos concorrentes dessa batch a tarde que não tinham
de manhã?





2012/5/10 Rafael Vieira vieira.rafae...@yahoo.com.br

 **


 Chiappa, gostaria de mais uma ajuda sua...
 Esse batch rodou ontem pela manhã durante 40 minutos, e a tarde rodou em 8
 horas, o pessoal veio argumentar que a aplicação não mudou absolutamente
 nada, e que queria uma explicação por conta desse tempo, está todo mundo
 colocando a culpa no database, mas eu não mudei absolutamente nada, não foi
 feita nenhuma alteração e nenhum ajuste foi feito no database, o argumento
 do pessoal é que o o mesmo batch que rodou em 40 minutos e a tarde foi
 colocado novamente em execução e acabou em 8 horas. O meu argumento está
 sendo que o problema é a query que detectei mal escrita que está dando o
 problema e que eh executada dezenas de vezes, mas eles voltam a argumentar
 o tempo que foi rodado antes em 40 minutos, teria algo a acrescentar em
 defesa do database? Preciso de uma justificativa à dar sobre isso, eu sei
 que é difícil pra uma pessoa que está de fora e não tem nem noção da
 infra-estrutura, nem idéia do modelo e de como é o processo,
 mas se tiver algo a acrescentar, eu agradeceria e MUITO, pois isso vai pra
 diretoria e preciso de algo para me justificar. O grande problema é que não
 tenho à quem recorrer além do Blog e dos amigos.

 
 De: Rafael Vieira vieira.rafae...@yahoo.com.br
 Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br
 Enviadas: Quinta-feira, 10 de Maio de 2012 9:35
 Assunto: Re: [oracle_br] Re: Eventos em espera




 Chiappa, muito obrigado pela ajuda.

 Realmente, achei muito interessante essa criação da view materializada,
 realmente essae query busca milhões de linhas todas as vezes que é
 consultada, e como falei anteriormente ela é rodada centenas de vezes( que
 segundo o pessoal realmente é necessário). Irei fazer sim esse teste junto
 com os desenvolvedores, tomara que dê certo, pelo que li sobre o que vc
 escreveu no prórpio grupo sobre MV's é uma excelente alternativa.

 Quanto ao paralelismo em tabelas não existe, existe sim paralelismo em
 índices onde a maioria está setada para 8 que é o total de processadores
 que nós temos, como esse banco é expecífico para esse BATCH, quando o
 processo inicia ninguém mais se conecta no banco por questão de
 concorrência etc...

 No caso para aumentar a memória para SORT's e HASH's vc se refere a PGA?
 Eu sou muito novo na área e estou aprendendo aos poucos, eu me encontro em
 uma situação dificil pois não tem outro DBA para me auxiliar.
 Então alguns termos as vezes não fica claro para mim.

 As estatísticas, todas estão sim atualizadas.

 
 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
 Para: oracle_br@yahoogrupos.com.br
 Enviadas: Quarta-feira, 9 de Maio de 2012 18:10
 Assunto: [oracle_br] Re: Eventos em espera


 Colega, lamento ser o desmancha-prazeres, mas é um Fato que :

 - não existe um parâmetro, um setting que vc aplique e faça qquer tarefa
 no banco de dados ficar rápida

 - como qquer software, se vc mandar o banco de dados fazer uma asneira
 (exemplo, ler a mesma informação vezes e vezes sem conta, repetidas vezes,
 ou não usar o melhor construto SQL para uma solicitação, ou acessar um
 modelo falho, etc ), ele VAI burramente fazer, não tem por onde

 == Então, a partir do momento que vc identificou um processamento que de
 cara não parece ser bem-feito E ainda por cima é repetido N vezes, pouco vc
 tem fazer no banco de dados em si - com certeza, algum tipo de Tuning no
 processo vai ser inescapável E que fique Claro, esse Tuning tanto pode
 envolver alterações no SQL envolvido (o que é comum), quanto também pode
 envolver no modelo (por exemplo, de-normalizando alguns pontos,
 criando/removendo índices, utilizando GTT sendo inseridas em APPEND-MODE
 para separar os dados, etc), quanto pode também envolver uso dos recursos
 do banco de dados para diminuir o I/O sendo feito (exemplo, particionamento
 da informação, uso de View

Re: [oracle_br] Re: Tablespace TEMP Problema Aplicação

2012-05-08 Por tôpico Rafael Vieira
Bem, aqui usamos um servidor de aplicação separado mesmo, todo mundo conecta no 
server de aplicação através da aplicação para então se conectar ao sgbd. Usamos 
aqui o drive Oracle Thin. Diminuímos o pool de conexões e colocamos o mínimo 1 
e o máximo 5, e o usuário continua com várias sessões abertas, hoje pela manhã 
ao rodar a aplicação uma usuária estava com 100 sessões abertas e das 100 em 
torno de 35 ativas.

  SELECT ||TO_CHAR(s.sid)||','||to_char(s.serial#)|| SID,SERIAL#,
         p.spid,
         s.username,
         s.osuser,
         s.server,
         NVL(s.module,s.program) program,
         NVL(s.machine,s.terminal) machine,
         s.last_call_et
    FROM v$session s,
         v$process p
   WHERE s.paddr       = p.addr
     AND s.username    IS NOT NULL
     AND s.status      = 'ACTIVE'
ORDER BY s.last_call_et DESC


'226,3393'  20500 SYSTEM  xuxa    DEDICATED JDBC Thin Client            Gsan240 
        10
'7,2247'    20502 SYSTEM   xuxa    DEDICATED JDBC Thin Client              
Gsan240          3
'81,3397'   20580 SYSTEM   xuxa    DEDICATED JDBC Thin Client             
Gsan240          3

...

Quanto ao SQL Developer, um usuário, estava com várias sessões abertas pelo SQL 
Developer fui na máquina dele e ele estava com apenas um worksheet. O caso do 
SQL Developer é raro de acontecer, mas pela aplicação acontece todos os dias, 
todas as horas. O outro amigo, me perguntou do Alert.log, está tudo perfeito, 
nada consta no Alert.log sobre o ocorrido.

Att,







 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Segunda-feira, 7 de Maio de 2012 18:29
Assunto: [oracle_br] Re: Tablespace TEMP  Problema Aplicação
 

  
Acho que vale a pena se estender um pouco : sim, tipicamente, numa aplicação 
WEB, realmente os usuários finais ** nunca ** se conectam diretamente ao banco 
de dados, há a figura do POOL DE CONEXÕES , o qual é um software que faz uma 
ponte entre o banco de dados e os usuários finais... Normalmente o pool de 
conexões quando startado vai até o banco de dados , abre N sessões no banco de 
dados, e as mantém abertas, aí quando um usuário final pede para acessar o 
database, na verdade ele o pede para o pool de conexões, e aí sim é o pool de 
conexões que internamente marca uma dessas sessões de banco como em uso e 
manda os comandos que recebeu do usuário final para o database, recebe a 
resposta do database, e é o pool ainda que desmarca a sessão internamente em 
seus controles como liberada a manda a resposta para o usuário final Ou 
seja, nesse caso o banco de dados só enxerga até o pool de conexões, para o 
database é o pool
 que é o cliente, o database nesse cenário comum NUNCA enxerga o usuário final, 
pois esse está escondido atrás do pool, nunca fisicamente esse usuário final 
conecta/chega até o servidor de database, é sempre o homem no meio (o 
connection pool) que fica entre o usuário final e o database...
SE não é isso que está acontecendo, tá bem patente que a aplicação web lá da 
pessoa que perguntou não está usando o cenário comum acima descrito : PODE ser 
que ela não tenha pool de conexão (de repente é uma intranet, com usuários já 
pré-definidos, nada impede, a gente não sabe)... OU ainda ela está usando o 
pool de conexões nativo do database 11g, que NÂO demanda software externo...  
Quanto à questão de servidor de Aplicação, sim, o comum é este ser uma máquina 
externa, mas nada impede de vc ter o mesmo servidor do banco como app server, E 
até mesmo vc tem a opção de ter um app server INTERNO, entro do próprio 
database : o APEX, por exemplo, é uma tool de programação que pode funcionar 
assim, com o database atuando como app server, aí o browser do usuário final 
sim, conectaria diretamente no computador servidor de banco de dados...

Vamos ver o que o colega lá responde/confirma, mas Provavelmente deve ser 
alguma coisa nesta linha...

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Milton Bastos Henriquis Jr. 
miltonbastos@... escreveu

 Meu e-mail abaixo me remete à pergunta:
 
  - A v$session eu consigo ver a conexão do usuário FINAL?
 Pois eu pensava que apareceria conexões somente do servidor de aplicação, e
 que não aparecesse o client final.
 
 
 
 
 2012/5/7 Milton Bastos Henriquis Jr. miltonbastos@...
 
  Eu não consegui entender uma coisa.
 
  O Rafael me mandou um print screen aqui em PVT, com o resultado da query
  mostrando o número
  de sessões e disse que é uma aplicação WEB.
 
  Rafael: aplicação Web deveria ter servidor de aplicação.
  Servidor de aplicação abre várias conexões com banco de dados (todas
  conexões partem da mesma máquina,
  que é a máquina onde está o servidor de aplicações, obviamente).
 
  No campo OSUSER está com o nome: lizandra Barreto.
  Essa Lizandra está conectada na MESMA máquina do servidor de aplicação
  então?
  Esse é o OSUSER usado pelo servidor de aplicação?
 
  Pois nunca vi uma aplicação WEB abrir conexão 

Re: [oracle_br] Re: Tablespace TEMP Problema Aplicação

2012-05-08 Por tôpico Rafael Vieira
Bom dia a todos.
Vitor, peguei um caso excelente para fazer o que você me pediu.
Detectei uma sessão ativa pelo SQL Developer com o mesmo usuário, foram 14 
sessões ativas

'99,24807'  21229 SYSTEM Xuxa  DEDICATED SQL Developer    Xuxa-PC    2028
'44,25417'  21209 SYSTEM Xuxa  DEDICATED SQL Developer    Xuxa-PC    2028
...

Fui na máquina do usuário Xuxa e peguei a query que estava sendo rodada, fiz o 
select em na view DBA_INDEXES, pegando as tabelas que estavam sendo executadas 
nessa query e me deparei com a seguinte situação:

SELECT DEGREE, index_name, table_name FROM DBA_INDEXES

WHERE OWNER IN (...,...,...)
AND TABLE_NAME IN (...,..,..)


O resultado me trouxe na coluna DEGREE o valor de 16 para 90% dos índices que 
foram retornados na consulta, na view DBA_TABLES segui o mesmo raciocínio e 
cada valor do DEGREE só me mostrou 1.

Então concluimos que o paralelismo está sendo causado por conta dos índices? O 
que fazer para solucionar esse problema? Aumento o valor do parâmetro process 
para mais usuários que necessitam da conexão se conectarem? Ou podemos diminuir 
essa quantidade de paralelismo? Vocês poderiam me dá alguma alternativa? Pois 
aqui na empresa o único DBA Oracle sou eu, e comecei a poucos meses esse novo 
desafio, obrigado.





 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 8 de Maio de 2012 10:55
Assunto: [oracle_br] Re: Tablespace TEMP  Problema Aplicação
 

  
Mais que isso, de repente pode ser paralelismo via HINT de PARALLEL, aí o grau 
de paralelismo definido nos objetos pode ser bypassado... Acho que o ponto 
primeiro que o colega lá tem que responder pra gente é o que eu já tinha pedido 
na minha primeira msg, ie, IDENTIFICAR o que são essas sessões sendo abertas E 
rodar a consulta que mostra quais os parallel slaves presentes, já mostrada...

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Andre Santos andre.psantos.ti@... 
escreveu

 Rafael
 
 Você viu se tem algo de paralelismo nessas operações (via hint ou definido
 nas tabelas)?
 
 [ ]
 
 André
 
 Em 8 de maio de 2012 09:32, Rafael Vieira
 vieira.rafael44@...escreveu:
 
  **
 
 
  Bem, aqui usamos um servidor de aplicação separado mesmo, todo mundo
  conecta no server de aplicação através da aplicação para então se conectar
  ao sgbd. Usamos aqui o drive Oracle Thin. Diminuímos o pool de conexões e
  colocamos o mínimo 1 e o máximo 5, e o usuário continua com várias sessões
  abertas, hoje pela manhã ao rodar a aplicação uma usuária estava com 100
  sessões abertas e das 100 em torno de 35 ativas.
 
SELECT ||TO_CHAR(s.sid)||','||to_char(s.serial#)|| SID,SERIAL#,
   p.spid,
   s.username,
   s.osuser,
   s.server,
   NVL(s.module,s.program) program,
   NVL(s.machine,s.terminal) machine,
   s.last_call_et
  FROM v$session s,
   v$process p
 WHERE s.paddr   = p.addr
   AND s.usernameIS NOT NULL
   AND s.status  = 'ACTIVE'
  ORDER BY s.last_call_et DESC
 
  '226,3393'  20500 SYSTEM  xuxaDEDICATED JDBC Thin Client
   Gsan240 10
  '7,2247'20502 SYSTEM   xuxaDEDICATED JDBC Thin Client
   Gsan240  3
  '81,3397'   20580 SYSTEM   xuxaDEDICATED JDBC Thin Client
  Gsan240  3
 
  ...
 
  Quanto ao SQL Developer, um usuário, estava com várias sessões abertas
  pelo SQL Developer fui na máquina dele e ele estava com apenas um
  worksheet. O caso do SQL Developer é raro de acontecer, mas pela aplicação
  acontece todos os dias, todas as horas. O outro amigo, me perguntou do
  Alert.log, está tudo perfeito, nada consta no Alert.log sobre o ocorrido.
 
  Att,
 
  
 
  De: J. Laurindo Chiappa jlchiappa@...
  Para: oracle_br@yahoogrupos.com.br
  Enviadas: Segunda-feira, 7 de Maio de 2012 18:29
 
  Assunto: [oracle_br] Re: Tablespace TEMP  Problema Aplicação
 
 
 
   Acho que vale a pena se estender um pouco : sim, tipicamente, numa
  aplicação WEB, realmente os usuários finais ** nunca ** se conectam
  diretamente ao banco de dados, há a figura do POOL DE CONEXÕES , o qual é
  um software que faz uma ponte entre o banco de dados e os usuários
  finais... Normalmente o pool de conexões quando startado vai até o banco de
  dados , abre N sessões no banco de dados, e as mantém abertas, aí quando um
  usuário final pede para acessar o database, na verdade ele o pede para o
  pool de conexões, e aí sim é o pool de conexões que internamente marca uma
  dessas sessões de banco como em uso e manda os comandos que recebeu do
  usuário final para o database, recebe a resposta do database, e é o pool
  ainda que desmarca a sessão internamente em seus controles como liberada
  a manda a resposta para o usuário final Ou seja, nesse caso o banco de
  dados só enxerga até o pool de conexões, para o database é o pool
  que é o cliente, o database nesse cenário comum NUNCA enxerga o

Re: [oracle_br] Permissao sobre tabela

2012-05-03 Por tôpico Rafael Vieira
Rapha, seguinte...

O usuário B não sabe que a TAB1 está no schema A, quem sabe disso é o sgbd 
beleza? Ou seja, se vc for executar o comando, ele vai dizer que essa tabela 
não existe. Ou seja, ele não sabe. Pois se você estiver com o usuário B 
executando a trigger o Oralce irá acreditar que essa tabela por não ter o 
schema na frente, pertence ao usuário B, quando ele pesquisar e vê que essa 
tabela não tem no schema logado, ele verifica se existe algum sinonimo público, 
ou privado para o usuário B, caso não exista irá dá erro.



 De: Raphael Franco pha...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 3 de Maio de 2012 12:17
Assunto: Re: [oracle_br] Permissao sobre tabela
 

  
Reformulando,

Como que o usuário B que tem a trigger sabe que a tabela TAB1 está no schema A, 
se não existe sinonimo e nem referencia do usuário A na trigger ?

O que estou tentando entender é que na trigger deveria estar A.TAB1 e está TAB1.

att.
Raphael


De: Rafael Vieira vieira.rafae...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 3 de Maio de 2012 12:05
Assunto: Re: [oracle_br] Permissao sobre tabela


  
Como que o Oracle sabe que esse objeto pertence ao schema A ???

Consultei a dba_synonyms e nada de TAB1, consultei a dba_objects e somente tem 
1 objetos com o nome TAB1 owner A.

Você mesmo respondeu sua pergunta.


De: Raphael Franco pha...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 3 de Maio de 2012 11:04
Assunto: [oracle_br] Permissao sobre tabela

  
Senhores,

Tenho um schema A que tem a tabela TAB1 e o schema B que tem a trigger TRIG1.

Essa é a parte da trigger que tenho uma duvida:

TRIGGER B.TRIG1
BEFORE
  INSERT
 ON TAB1
REFERENCING NEW AS NEW OLD AS OLD
 FOR EACH ROW
...

Pelo que eu sei eu teria que referenciar o nome do schema na tabela TAB1, por 
exemplo: A.TAB1.

Acontece que não esta referenciado (confome mostrei acima), não existe sinonimo 
como nome TAB1 e a trigger está VALID. Como que o Oracle sabe que esse objeto 
pertence ao schema A ???

Consultei a dba_synonyms e nada de TAB1, consultei a dba_objects e somente tem 
1 objetos com o nome TAB1 owner A.

att.
Raphael

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

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

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


 

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



Re: [oracle_br] Update com caracteres especiais

2012-04-26 Por tôpico Rafael Vieira
HAhaha, realmente não li a parte da trigger que ele possui, se a trigger for 
pequena, cole aqui pra gente analisar.
Valeu.



 De: Milton Bastos Henriquis Jr. miltonbas...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 26 de Abril de 2012 9:55
Assunto: Re: [oracle_br] Update com caracteres especiais
 
Rafael, como é que vc testou na sua base se vc não tem o código da trigger
dele?? rs




On Thu, Apr 26, 2012 at 9:44 AM, Rafael Vieira vieira.rafae...@yahoo.com.br
 wrote:

 **


 Amigo, eu fiz o mesmo teste em minha base e funcionou normalmente, já
 realizou o teste pelo sql plus?
 Acontece o mesmo problema?

 
 De: Jales Jose Moraes malphig...@yahoo.com.br
 Para: grupo_oracle oracle_br@yahoogrupos.com.br
 Enviadas: Quinta-feira, 26 de Abril de 2012 9:26
 Assunto: [oracle_br] Update com caracteres especiais




 Bom dia,

 Pessoal quando executo um update  em um campo texto colocando algum
 caracteres especial, há uma trigger (after) em que remove estes caracteres,
 porém se executo novamente, o caractere ja é inserido.

 Alguém conhece a explicação para isso?

 Segue o exemplo.

 1. UPDATE sms.s_incorpora SET DS_social = 'TESTE' WHERE  S_STATUS = 'N'
 AND nu_seq_INCORP = '00058' ;
 2. SELECT * FROM  sms.s_incorpora WHERE S_STATUS = 'N' AND nu_seq_INCORP =
 '00058';
 3. UPDATE sms.s_incorpora SET DS_social = = 'TESTE.VERIFICAR O PONTO'
 WHERE  S_STATUS = 'N' AND nu_seq_INCORP = '00058';
 4. SELECT * FROM  sms.s_incorpora WHERE S_STATUS = 'N' AND nu_seq_INCORP =
 '00058';
 5. UPDATE sms.s_incorpora SET DS_social = 'TESTE.VERIFICAR O PONTO' WHERE
 S_STATUS = 'N' AND nu_seq_INCORP = '00058';
 6. SELECT * FROM  sms.s_incorpora WHERE S_STATUS = 'N' AND nu_seq_INCORP =
 '00058';

 No passo 3 é inserido o 'ponto', depois ao fazer o select ele é removido,
 ja no passo 5 efetuo novamente o 'ponto' e depois faço o select novamente o
 'ponto' ja consta.
 Não sei se a explicação seria porque está na mesma sessão (via Navigator);

 Abraços...

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

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

  




-- 
Att,


[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] Ajuda básica.

2012-04-26 Por tôpico Rafael Vieira
Retira o segundo BEGIN



 De: Ulisses usl...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 26 de Abril de 2012 11:40
Assunto: RES: [oracle_br] Ajuda básica.
 

  
Prezado Thiago, bom dia!

Agora a mensagem mudou. :)

CREATE TRIGGER TG_TBTAREFA_NEW 
BEFORE INSERT ON TBTAREFA
FOR EACH ROW
BEGIN
SELECT MAX(CONTROLE) INTO :NEW.ID_ATIVIDADE FROM TBPADRAO_ATIVIDADE
WHERE ATIVIDADE = :NEW.ATIVIDADE;
IF :NEW.ID_ATIVIDADE IS NULL THEN
BEGIN
INSERT INTO TBPADRAO_ATIVIDADE (ATIVIDADE,CLASSE)
VALUES (:NEW.ATIVIDADE,:NEW.CLASSE);
SELECT MAX(CONTROLE) INTO :NEW.ID_ATIVIDADE FROM TBPADRAO_ATIVIDADE
WHERE ATIVIDADE = :NEW.ATIVIDADE; 
END IF;
END;

Erro(15,7): PLS-00103: Encontrado o símbolo IF quando um dos seguintes
símbolos era esperado: ; um identificadorum identificador
delimitado por aspas duplas

Estou usando a versão 10g.

Obrigado pela ajuda.

Ulisses

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
nome de Thiago Sgobe
Enviada em: quinta-feira, 26 de abril de 2012 11:16
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Ajuda básica.

Bom dia Ulisses, faltou voce fechar a clausula IF.

IF
(...)
END IF;

[]`s

2012/4/26 Ulisses usl...@gmail.com

 **


 Bom dia!

 Alguém poderia informar o que posso estar fazendo de errado nesse Trigger,
 visto que ele funciona no Firebird, porém apresenta erro no Oracle.

 CREATE TRIGGER TG_TBTAREFA_NEW
 BEFORE INSERT ON TBTAREFA
 FOR EACH ROW
 BEGIN
 SELECT MAX(CONTROLE) INTO :NEW.ID_ATIVIDADE FROM TBPADRAO_ATIVIDADE
 WHERE ATIVIDADE = :NEW.ATIVIDADE;
 IF :NEW.ID_ATIVIDADE IS NULL THEN
 BEGIN
 INSERT INTO TBPADRAO_ATIVIDADE (ATIVIDADE,CLASSE)
 VALUES (:NEW.ATIVIDADE,:NEW.CLASSE);
 SELECT MAX(CONTROLE) INTO :NEW.ID_ATIVIDADE FROM TBPADRAO_ATIVIDADE
 WHERE ATIVIDADE = :NEW.ATIVIDADE;
 END;
 END;

 PLS-00103: Encontrado o símbolo ; quando um dos seguintes símbolos era
 esperado: if

 Obrigado.

 Ulisses

 


-- 
*Thiago Sgobe
*DBA - Certified Oracle/ITIL

[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] Material para certificação

2012-04-26 Por tôpico Rafael Vieira
Eu te indicaria os livros

Primeira prova:
ORACLE DATABASE 11G SQL
DOMINE SQL E PL/SQL NO BANCO DE DADOS ORACLE 
 ou
OCA ORACLE DATABASE 11G - FUNDAMENTOS I  SQL
MANUAL DO EXAME (1ZO-051) 

OCA ORACLE DATABASE 11G - ADMINISTRAÇAO I
(GUIA DO EXAME 1Z0-052) 

ele tem alguns erros de tradução, mas são poucos, tem um que é um absurdo que 
fala que o DBWn grava de 3 em 3 segundos, enquanto é o LGWr que faz isso, então 
se desconfiar de algo, use o CD que vem com ele com o livro em inglês para 
tirar a dúvida...
Estou estudando por ele, e minha prova já está marcada...
Quanto a prova, a primeira de SQL tem em português sim, mas o restante não, a 
maioria das pessoas falam que a tradução da prova é mal feita e que não vale 
apena, eu não posso te dizer pq nunca vi.


 De: Milton Bastos Henriquis Jr. miltonbas...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 26 de Abril de 2012 14:46
Assunto: Re: [oracle_br] Material para certificação
 
Todas informações sobre Certificação Oracle:

http://certificacaobd.com.br


Abraço!




On Thu, Apr 26, 2012 at 2:44 PM, José Aparecido Fazolin Ferres 
joseapfer...@hotmail.com wrote:

 **




 Onde acho bons materiais em português para a certificação DBA OCA?gostaria
 de saber se as provas são em português ou inglês. alguém já fez?

 [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: [oracle_br] Material para certificação

2012-04-26 Por tôpico Rafael Vieira
Verdade Miltão, depois que personvue entrou, retirou provas em inglês



 De: Milton Bastos Henriquis Jr. miltonbas...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 26 de Abril de 2012 15:40
Assunto: Re: [oracle_br] Material para certificação
 
Se não me engano não tem mais a prova de SQL em português.

Todas as provas somente em inglês (até tem outros idiomas, mas bem longe de
português e espanhol). A não ser que conheça Mandarim rs





On Thu, Apr 26, 2012 at 3:31 PM, Rafael Vieira vieira.rafae...@yahoo.com.br
 wrote:

 **


 Eu te indicaria os livros

 Primeira prova:
 ORACLE DATABASE 11G SQL
 DOMINE SQL E PL/SQL NO BANCO DE DADOS ORACLE
  ou
 OCA ORACLE DATABASE 11G - FUNDAMENTOS I  SQL
 MANUAL DO EXAME (1ZO-051)

 OCA ORACLE DATABASE 11G - ADMINISTRAÇAO I
 (GUIA DO EXAME 1Z0-052)

 ele tem alguns erros de tradução, mas são poucos, tem um que é um absurdo
 que fala que o DBWn grava de 3 em 3 segundos, enquanto é o LGWr que faz
 isso, então se desconfiar de algo, use o CD que vem com ele com o livro em
 inglês para tirar a dúvida...
 Estou estudando por ele, e minha prova já está marcada...
 Quanto a prova, a primeira de SQL tem em português sim, mas o restante
 não, a maioria das pessoas falam que a tradução da prova é mal feita e que
 não vale apena, eu não posso te dizer pq nunca vi.

 
 De: Milton Bastos Henriquis Jr. miltonbas...@gmail.com
 Para: oracle_br@yahoogrupos.com.br
 Enviadas: Quinta-feira, 26 de Abril de 2012 14:46
 Assunto: Re: [oracle_br] Material para certificação


 Todas informações sobre Certificação Oracle:

 http://certificacaobd.com.br

 Abraço!

 On Thu, Apr 26, 2012 at 2:44 PM, José Aparecido Fazolin Ferres 
 joseapfer...@hotmail.com wrote:

  **

 
 
 
 
  Onde acho bons materiais em português para a certificação DBA
 OCA?gostaria
  de saber se as provas são em português ou inglês. alguém já fez?
 
  [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]

  




-- 
Att,


[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: Imp / Exp somente da estrutura da tabela

2012-04-25 Por tôpico Rafael Vieira
Eu particulamente não gosto de exportar dados via SQL DEVELOPER, pois no começo 
me gerou uma grande dor de cabeça com campos do tipo number. Números 
quebrados separados por vírgula fazia com que o INSERT percebesse a separação 
de casas, dando erro, inserindo mais colunas que a tabela possuia, até achar 
o comando alter session set nls_numeric_characters = '.,';  trocando assim a 
vírgula pelo ponto. MAs isso vai de cada um, o Oracle te dá uma grande 
variedade de opção nesse quesito.



 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 25 de Abril de 2012 10:51
Assunto: [oracle_br] Re: Imp / Exp somente da estrutura da tabela
 

  
Sim, verdade verdadeira Ederson : como eu tinha colocado na minha última 
resposta sim, se vc tiver a permissão de instalar e usar, diversas tools (tanto 
grátis, como da própria Oracle o SQL Developer) e pagas (como TOAD, PL/SQL 
Developer e  outras) te dão a opção de gerar  exportar DDLs via interface 
gráfica, o que talvez seja mais simples se a pessoa tem pouca experiência... 
Normalmente essas tools não tem muitas opções de personalização do script 
gerado, mas mesmo que a pessoa tenha que editar um pouquinho o script gerado, 
pode ser mais fácil do que as outras opções, sim...

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, ederson2001br ederson2001br@... 
escreveu

 Bom dia a todos,
 
 Permitam-me colaborar com mais uma opção.
 
 Márcio, para você que está iniciando, uma forma bem simples de fazer o que 
 deseja é usando o ORACLE SQLDEVELOPER, uma ferramenta gratuita da Oracle que 
 você baixa em 
 http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html?ssSourceSiteId=ocomen
 
 O SqlDeveloper é em JAVA e pode ser rodado tanto em Windows quanto Linux.
 
 Com ela, você pode fazer facilmente a operação de gerar um script SQL 
 contendo o que você precisa, usando a interface gráfica.
 
 Veja no exemplo deste site, didático e direto ao ponto: 
 http://perumal.org/sql-developer-database-export-wizard-to-export-ddl-and-data-as-dml/
 
 
 Ederson Elias
 DBA Oracle
 http://br.linkedin.com/pub/ederson-elias/24/8b/8b0
 
 
 
 --- Em oracle_br@yahoogrupos.com.br, Marcio MM marcio@ escreveu
 
  Bom dia,
  
  
  
  Sou novo no ramo e gostaria de importar a estrutura de uma base de dados,
  sem os dados de um banco Oracle 10, para testes em um Oracle 10 XE, só que
  resulta em um erro de restrição de tamanho. A pergunta é, seria possível
  exportar somente as estruturas e importar as tabelas com o tamanho mínimo
  para que a base suporte a criação das mesmas ? Essa base conta hoje com 856
  tabelas e o  tamanho da Tablespace 42gb, existem algumas tabelas com mais de
  100 milhões de registros, mais não quero os dados, somente a estrutura
  (tabelas/triggers/procedures/functions/packages/view). 
  
  
  
  Marcio Massaki
  
  
  
  
  
  
  
  [As partes desta mensagem que não continham texto foram removidas]
 



 

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



Re: [oracle_br] Re: Erro ora-00600

2012-04-20 Por tôpico Rafael Vieira
Obrigado a todos pela ajuda.
Vou colocar algumas características do meu ambiente para ficar mais claro para 
vocês.
SO: OEL 6.1, versão do Oracle 11.2.0.2.0

Comando feito pelo impdp por mim: 

impdp dbaxuxa/ 
schemas=XUXA1,XUXA2,XUXA3,XUXA4,XUXA5,XUXA6,XUXA7,XUXA8,XUXA9,XUXA10,XUXA11,XUXA12 ,XUXA13 ,XUXA14 ,XUXA15 directory=BACKUP_RESTORE_XUXA
 dumpfile=arquivo_dump_xuxa.dmp logfile=arquivo_log_xuxa.log STATUS=120 
PARALLEL=3



CASUALMENTE no seu primeiro banco em y havia dados das tabelas TABELA_XUXA, 
TABELA_XUXA2, TABELA_XUXA3 (que por isso se corromperam) , enquanto no seu 
segundo banco de teste em y havida um dado da tabela TABELA_XUXA_LOUCA , que 
por isso se corrompeu ... Não é impossível cenário do tipo quando vc tem 
corrupção num dump file... 


Claro que você deu uma alternativa do que poderia ter acontecido, mas como eu 
não havia dito, o meu banco y estava limpo, tinha acabado de criar, ou seja, 
não havia dados nessa tabela.

O que vou tentar fazer é pegar o comando do expdp gerado pelo DBA da empresa 
pra qual prestamos serviços e pedir o comando executado, pois é difícil 
conseguir alguma coisa dessa pessoa, mas agradeço a vocês pela ajuda, eu estou 
meio que perdido, pois no momento presente não temos como abrir chamado para 
Oracle.

Valeu pessoal.



 De: José Laurindo jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 19 de Abril de 2012 18:03
Assunto: [oracle_br] Re: Erro ora-00600
 

  
Colega, até pode acontecer que o arquivo esteja corrompido e que (digamos) a 
corrupção seja nos bytes de indicação de gravação de dados, aí ao invés dele 
estar (digamos) colocando os dados na posição x correta do bloco esteja 
colocando num a posição y errada, e CASUALMENTE no seu primeiro banco em y 
havia dados das tabelas TABELA_XUXA, TABELA_XUXA2, TABELA_XUXA3 (que por isso 
se corromperam) , enquanto no seu segundo banco de teste em y havida um dado da 
tabela TABELA_XUXA_LOUCA , que por isso se corrompeu ... Não é impossível 
cenário do tipo quando vc tem corrupção num dump file...
A grande questão que eu vejo aí é realmente ** CONFIRMAR ** se essa corrupção 
está vindo do banco-origem lá do seu cliente OU se está sendo introduzida nos 
seus binários, OU se está sendo introduzida por manipulação errada 
Começando do fim , COMO vc está transferindo o dump file pra sua máquina , vc 
está fazendo FTP ou sftp ou algo similar ? Se sim, caso vc NÂO esteja usando 
modo binário, vc CERTAMENTE está corrompendo esse arquivo, os dump files 
NECESSARIAMENTE TEM QUE SER transferidos como binários 
Se não foi isso, provar fica mais difícil : pra provar ou desprovar que a 
origem é lá, isso vai envolver o teu cliente fazer um exp com a opção de log E 
verificar que no log não apareceu nada, ele mesmo tentar um imp desse dump pra 
outro schema/database dele, novamente com log...
Apenas se realmente não houve manipulação errada de sua parte, E lá no 
banco-origem dele nada de errado apareceu logado nem no exp nem no imp do dump 
gerado. aí chega-se à conclusão que o problema é no seu binário, e há sim 
diversas possibilidades de ser : por exemplo, a nota metalink ORA-600 
[Klaprs_11] On Impdp Using Dumpfile Exported with COMPRESSION=ALL [ID 739849.1] 
mostra um bug presente até o 11.1.0.6 que causava isto ao importar dados 
comprimidos, mas outros bugs são possíveis  E no caso, como o erro é 
GENÉRICO (ORA-600), não tem muito jeito, se vc desprovou que a corrupção seja 
de lá, vc Vai Ter Que abrir um chamado no SUporte Oracle para checar as 
possibilidades todas...

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, vieira.rafael44 vieira.rafael44@... 
escreveu

 Antes de criar esse tópico, vi que um cidadão passou pelo mesmo problema que 
 eu, e o chippa disse que era questão de arquivo corrompido, ou coisa 
 parecida, beleza, até aí tudo bem, mas segue a meu cenário e o problema:
 
 Toda semana vem um dump(expdp) de uma empresa que o DBA de LÁ manda para nós( 
 por um HD Externo) atualizarmos a nossa base aqui, esse dump está ocorrendo o 
 seguinte problema:
 
 ORA-31693: Table data object SCHEMA_XUXA.TABELA_XUXA failed to 
 load/unload and is being skipped due to error:
 ORA-02354: error in exporting/importing data
 ORA-39776: fatal Direct Path API error loading table 
 SCHEMA_XUXA.TABELA_XUXA
 ORA-00600: internal error code, arguments: [klaprs_11], [60], [2], [4883623], 
 [], [], [], [], [], [], [], []
 
 BELEZA (Y), até aí tudo bem, ocorreu esse tipo de erro em 3 tabelas:
 
 TABELA_XUXA, TABELA_XUXA2, TABELA_XUXA3 no mesmo schema SCHEMA_XUXA
 
 O DBA de lá, jogou o problema aqui, dizendo que meu .dbf estava corrompido 
 etc, dizendo que a versao nao era a mesma, e verifiquei que a versao de lá 
 11g é igual a minha inclusive mesmo patch.
 
 O que aconteceu foi o seguinte, eu em OUTRO servidor, criei outro banco, 
 outra instancia e rodei o dump novamente para ver o que acontecia, e aí me 
 deu o seguinte erro:
 
 

Re: [oracle_br] Duvida Tablespace BigFile x SmallFile

2012-04-20 Por tôpico Rafael Vieira
Bruno, o ideal seria vc usar realmente vários datafiles em um tablespace, vc 
deveria pelo menos limitar o tamanho do seu datafile, para um número muito 
menor que 32GB, já imaginou fazer um backup de um datafile de 32GB? 
Recomenda-se usar datafiles menores para uma possivel manutençao, isso ira te 
ajudar a ser mais proativo.

Abs.



 De: Emerson Martins emersonmarti...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Sexta-feira, 20 de Abril de 2012 13:20
Assunto: Re: [oracle_br] Duvida Tablespace BigFile x SmallFile
 

  
Pois é Milton e Marcio.

Ele não especificou se era espaço em disco ou o espaço do próprio datafile
que estava acabando.Realmente podemos ter n datafiles para uma tablespace.

Emerson Martins
DBA Jr

Em 20 de abril de 2012 13:15, Milton Bastos Henriquis Jr. 
miltonbas...@gmail.com escreveu:

 Bruno, vc pode ter até 1022 Datafiles por Tablespace.

 Vc disse que está com problema de falta de espaço, pois o datafile está
 quase atingindo 32GB.
 Mas quantos datafiles vc tem nessa tablespace?
 Vc já tem todos esses 1022 datafiles com 32GB cada um?




 On Fri, Apr 20, 2012 at 12:44 PM, Bruno Ambrosio 
 brunoambro...@yahoo.com.br
  wrote:

  **
 
 
  Pessoal,
 
  Alguem poderia por favor me esclarecer uma duvida pertinente que estamos
  aqui onde trabalho?
 
  Temos um Oracle 10g, com tablespace smallfile e blocos de 8k, sabemos que
  o tamanho maximo dos datafiles é de 32Gb e este espaço esta acabando,
 como
  podemos aumentar o espaço? Consigo trabalhar com bigfile e smallfile em
 um
  mesmo BD?
 
  Posso simplesmente criar uma tablespace BIGFILE e apontar os datafiles
  para esta nova tablespace?
 
 
  Abs.,
  Bruno Ambrosio
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 



 --
 Att,


 [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]



Re: [oracle_br] Atualização Patch

2012-04-13 Por tôpico Rafael Vieira
PEssoal, instalei o patch e passei da versão 11.1 para a versão 11.2. Ao 
executar o comando abaixo, para verificar se tudo ocorreu bem, me deparei com o 
seguinte erro:

/u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch query -all |more

versão do Installer Temporário Oracle 11.2.0.3.0
Copyright (c) 2012, Oracle Corporation. Todos os direitos reservados.


Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.3.0
OUI version       : 11.2.0.1.0
Log file location : 
/u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2012-04-13_11-26-04AM_1.log

Falha ao carregar o objeto de patch. As possíveis causas são:
  O caminho especificado não é um shiphome de Patch temporário
  Os arquivos de metadados não foram encontrados na área de patch
  Local do patch = /home/oracle
  Detalhes = Input metadata files are missing.

Patch Location /home/oracle doesn't point to a valid patch area.

OPatch failed with error code 75

Alguém pode ajudar com uma possível solução para sanar esse erro?



 De: Milton Bastos Henriquis Jr. miltonbas...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Sexta-feira, 13 de Abril de 2012 9:46
Assunto: Re: [oracle_br] Atualização Patch
 
http://nervinformatica.com.br/blog/2012/04/01/instalando-o-patch-13343438-11-2-0-3-1-patch-set-update/





On Fri, Apr 13, 2012 at 9:38 AM, vieira.rafael44 
vieira.rafae...@yahoo.com.br wrote:

 **


 Pessoal, bom dia.
 Estou pela primeira vez atualizando o opatch do Oracle, acabei de isntalar
 o Oracle 11g release 2 em um novo servidor aonde não possui nenhuma
 instância e nenhum banco criado, servidor linux OEL 6.1.

 Gostaria de alguma documentação que me ajudasse a atualizar, gostaria de
 saber qual comando no linux que faço para saber qual é a versão do meu
 patch do Oracle e qual a última versão do patch que hoje o Oracle possui.

  




-- 
Att,


[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: Atualização Patch

2012-04-13 Por tôpico Rafael Vieira
Chippa, Milton e aos demais obrigado pela ajuda...
Todas as variáveis estão corretas, descobri porque o caminho /home/oracle 
estava aparecendo, é porque estava executando o comando do linux no /home,  
então me direcionei ao diretório $ORACLE_HOME para executar o seguinte comando 
novamente.
( O que fiz até agora foi pegar a pasta OPatch 11.2 
(p6880880_112000_Linux-x86-64.zip) e descompactar a pasta OPatch dentro do meu 
diretório $ORACLE_HOME e o OPatch antigo 11.1 renomeei para a pasta 
OPatchBackup). Depois disso executei o comando novamente:

[oracle@gsan238 dbhome_1]$ 
/u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch query -all |more

versão do Installer Temporário Oracle 11.2.0.3.0
Copyright (c) 2012, Oracle Corporation. Todos os direitos reservados.


Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.3.0
OUI version       : 11.2.0.1.0
Log file location : 
/u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2012-04-13_11-50-10AM_1.log

Falha ao carregar o objeto de patch. As possíveis causas são:
  O caminho especificado não é um shiphome de Patch temporário
  Os arquivos de metadados não foram encontrados na área de patch
  Local do patch = /u01/app/oracle/product/11.2.0/dbhome_1
  Detalhes = Input metadata files are missing.

Patch Location /u01/app/oracle/product/11.2.0/dbhome_1 doesn't point to a 
valid patch area.

OPatch failed with error code 75




 De: José Laurindo jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Sexta-feira, 13 de Abril de 2012 11:37
Assunto: [oracle_br] Re: Atualização Patch
 

  
Local do patch como /home/oracle ??? Me parece que vc não tem as variáveis 
ORACLE_SID, ORACLE_HOME e PATH setadas corretamente para o ambiente, plz 
corrija-as ... 

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Rafael Vieira vieira.rafael44@... 
escreveu

 PEssoal, instalei o patch e passei da versão 11.1 para a versão 11.2. Ao 
 executar o comando abaixo, para verificar se tudo ocorreu bem, me deparei com 
 o seguinte erro:
 
 /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch query -all |more
 
 versão do Installer Temporário Oracle 11.2.0.3.0
 Copyright (c) 2012, Oracle Corporation. Todos os direitos reservados.
 
 
 Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
 OPatch version    : 11.2.0.3.0
 OUI version       : 11.2.0.1.0
 Log file location : 
 /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2012-04-13_11-26-04AM_1.log
 
 Falha ao carregar o objeto de patch. As possíveis causas são:
   O caminho especificado não é um shiphome de Patch temporário
   Os arquivos de metadados não foram encontrados na área de patch
   Local do patch = /home/oracle
   Detalhes = Input metadata files are missing.
 
 Patch Location /home/oracle doesn't point to a valid patch area.
 
 OPatch failed with error code 75
 
 Alguém pode ajudar com uma possível solução para sanar esse erro?
 
 
 
  De: Milton Bastos Henriquis Jr. miltonbastos@...
 Para: oracle_br@yahoogrupos.com.br 
 Enviadas: Sexta-feira, 13 de Abril de 2012 9:46
 Assunto: Re: [oracle_br] Atualização Patch
 
 http://nervinformatica.com.br/blog/2012/04/01/instalando-o-patch-13343438-11-2-0-3-1-patch-set-update/
 
 
 
 
 
 On Fri, Apr 13, 2012 at 9:38 AM, vieira.rafael44 
 vieira.rafael44@... wrote:
 
  **
 
 
  Pessoal, bom dia.
  Estou pela primeira vez atualizando o opatch do Oracle, acabei de isntalar
  o Oracle 11g release 2 em um novo servidor aonde não possui nenhuma
  instância e nenhum banco criado, servidor linux OEL 6.1.
 
  Gostaria de alguma documentação que me ajudasse a atualizar, gostaria de
  saber qual comando no linux que faço para saber qual é a versão do meu
  patch do Oracle e qual a última versão do patch que hoje o Oracle possui.
 
   
 
 
 
 
 -- 
 Att,
 
 
 [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]



Re: [oracle_br] Re: Atualização Patch

2012-04-13 Por tôpico Rafael Vieira
Lá vai.

[oracle@gsan238 opatch]$ /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch 
lsinventory

versão do Installer Temporário Oracle 11.2.0.3.0
Copyright (c) 2012, Oracle Corporation. Todos os direitos reservados.


Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.3.0
OUI version       : 11.2.0.1.0
Log file location : 
/u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2012-04-13_14-30-49PM_1.log

Lsinventory Output file location : 
/u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2012-04-13_14-30-49PM.txt


Produtos Instalados em Nível Superior (1):

Oracle Database 11g                                                  11.2.0.1.0
Há 1 produtos instalados neste Oracle Home.


Não há patches temporários instalados neste Oracle Home.




OPatch succeeded.




 De: José Laurindo jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Sexta-feira, 13 de Abril de 2012 14:18
Assunto: [oracle_br] Re: Atualização Patch
 

  
Peça um :

/u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch lsinventory

ao invés de query, e nos mostre o resultado

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Rafael Vieira vieira.rafael44@... 
escreveu

 Chippa, Milton e aos demais obrigado pela ajuda...
 Todas as variáveis estão corretas, descobri porque o caminho /home/oracle 
 estava aparecendo, é porque estava executando o comando do linux no /home,  
 então me direcionei ao diretório $ORACLE_HOME para executar o seguinte 
 comando novamente.
 ( O que fiz até agora foi pegar a pasta OPatch 11.2 
 (p6880880_112000_Linux-x86-64.zip) e descompactar a pasta OPatch dentro do 
 meu diretório $ORACLE_HOME e o OPatch antigo 11.1 renomeei para a pasta 
 OPatchBackup). Depois disso executei o comando novamente:
 
 [oracle@gsan238 dbhome_1]$ 
 /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch query -all |more
 
 versão do Installer Temporário Oracle 11.2.0.3.0
 Copyright (c) 2012, Oracle Corporation. Todos os direitos reservados.
 
 
 Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
 OPatch version    : 11.2.0.3.0
 OUI version       : 11.2.0.1.0
 Log file location : 
 /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2012-04-13_11-50-10AM_1.log
 
 Falha ao carregar o objeto de patch. As possíveis causas são:
   O caminho especificado não é um shiphome de Patch temporário
   Os arquivos de metadados não foram encontrados na área de patch
   Local do patch = /u01/app/oracle/product/11.2.0/dbhome_1
   Detalhes = Input metadata files are missing.
 
 Patch Location /u01/app/oracle/product/11.2.0/dbhome_1 doesn't point to a 
 valid patch area.
 
 OPatch failed with error code 75
 
 
 
 
  De: José Laurindo jlchiappa@...
 Para: oracle_br@yahoogrupos.com.br 
 Enviadas: Sexta-feira, 13 de Abril de 2012 11:37
 Assunto: [oracle_br] Re: Atualização Patch
 
 
   
 Local do patch como /home/oracle ??? Me parece que vc não tem as variáveis 
 ORACLE_SID, ORACLE_HOME e PATH setadas corretamente para o ambiente, plz 
 corrija-as ... 
 
 []s
 
 Chiappa
 
 --- Em oracle_br@yahoogrupos.com.br, Rafael Vieira vieira.rafael44@ escreveu
 
  PEssoal, instalei o patch e passei da versão 11.1 para a versão 11.2. Ao 
  executar o comando abaixo, para verificar se tudo ocorreu bem, me deparei 
  com o seguinte erro:
  
  /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch query -all |more
  
  versão do Installer Temporário Oracle 11.2.0.3.0
  Copyright (c) 2012, Oracle Corporation. Todos os direitos reservados.
  
  
  Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
  Central Inventory : /u01/app/oraInventory
     from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
  OPatch version    : 11.2.0.3.0
  OUI version       : 11.2.0.1.0
  Log file location : 
  /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2012-04-13_11-26-04AM_1.log
  
  Falha ao carregar o objeto de patch. As possíveis causas são:
    O caminho especificado não é um shiphome de Patch temporário
    Os arquivos de metadados não foram encontrados na área de patch
    Local do patch = /home/oracle
    Detalhes = Input metadata files are missing.
  
  Patch Location /home/oracle doesn't point to a valid patch area.
  
  OPatch failed with error code 75
  
  Alguém pode ajudar com uma possível solução para sanar esse erro?
  
  
  
   De: Milton Bastos Henriquis Jr. miltonbastos@
  Para: oracle_br@yahoogrupos.com.br

Re: [oracle_br] Re: Atualização Patch

2012-04-13 Por tôpico Rafael Vieira
Chippa, eu não migrei da 10g, para 11g, no início do tópico falei que a minha 
versão era a 11g release 2. Que só queria mudar a versão do patch 11.1 para 
11.2, pois o nosso cliente irá colocar em produção, e precisamos colocar aqui 
para homologação.

Como falei anteriormente, só peguei a pasta do Opatch 11.2 e joguei no 
$ORACLE_HOME e a antiga 11.1 renomeei para backup. Não posso fazer a 
atualização do Patch mais atual, pois vai contra as recomendações da Oracle 
como segue abaixo:

2.1 OPatch Utility
You must use the OPatch utility version 11.2.0.1.3 or later to apply this 
patch. Oracle recommends that you use the latest released OPatch 11.2, which is 
available for download from My Oracle Support patch 6880880 by selecting the 
11.2.0.0.0 release.



 De: José Laurindo jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Sexta-feira, 13 de Abril de 2012 15:03
Assunto: [oracle_br] Re: Atualização Patch
 

  
Tá claro então : vc estava recebendo a msg anterior porque estava usando a 
syntax de QUERY mas não tem NENHUM patch aplicado nos seus binários de RDBMS, 
que estão na versão-base 11.2.0.1 - e by the way, só pra usar a Nomenclatura 
correta e precisa, se vc estava na 10g e foi pra 11, vc mudou de versão, então 
NÃO foi patch que vc aplicou (patch NÂO aumenta o release nem a versão, só o 
sub-release number), e sim um Patchset...

No caso, pra ir pro ponto geral mais atual : aplique o patchset mais recente 
(11.2.0.3) , e depois o CPU (Critical Patch Update, conjunto de patches 
críticos, liberados trimestralmente pela Oracle) mais recente - vale a pena 
esperar uns dias mais e já instalar o de Abril/2012, que já sai dia 17 , iirc, 
mas se não quiser/puder por enquanto aplica o CPU de JAN/2012 

Com isso, vc estará Atualizado com os patches gerais, aí só eventualmente se vc 
encontrar/cair nalguma situação particular de bug local e específico do seu 
ambinete que vc vai precisar aplicar algum one-off patch via OPatch...

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Rafael Vieira vieira.rafael44@... 
escreveu

 Lá vai.
 
 [oracle@gsan238 opatch]$ 
 /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch lsinventory
 
 versão do Installer Temporário Oracle 11.2.0.3.0
 Copyright (c) 2012, Oracle Corporation. Todos os direitos reservados.
 
 
 Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
 Central Inventory : /u01/app/oraInventory
    from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
 OPatch version    : 11.2.0.3.0
 OUI version       : 11.2.0.1.0
 Log file location : 
 /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2012-04-13_14-30-49PM_1.log
 
 Lsinventory Output file location : 
 /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2012-04-13_14-30-49PM.txt
 
 --
 Produtos Instalados em Nível Superior (1):
 
 Oracle Database 11g                                                  
 11.2.0.1.0
 Há 1 produtos instalados neste Oracle Home.
 
 
 Não há patches temporários instalados neste Oracle Home.
 
 
 --
 
 OPatch succeeded.
 
 
 
 
  De: José Laurindo jlchiappa@...
 Para: oracle_br@yahoogrupos.com.br 
 Enviadas: Sexta-feira, 13 de Abril de 2012 14:18
 Assunto: [oracle_br] Re: Atualização Patch
 
 
   
 Peça um :
 
 /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch lsinventory
 
 ao invés de query, e nos mostre o resultado
 
 []s
 
 Chiappa
 
 --- Em oracle_br@yahoogrupos.com.br, Rafael Vieira vieira.rafael44@ escreveu
 
  Chippa, Milton e aos demais obrigado pela ajuda...
  Todas as variáveis estão corretas, descobri porque o caminho /home/oracle 
  estava aparecendo, é porque estava executando o comando do linux no /home,  
  então me direcionei ao diretório $ORACLE_HOME para executar o seguinte 
  comando novamente.
  ( O que fiz até agora foi pegar a pasta OPatch 11.2 
  (p6880880_112000_Linux-x86-64.zip) e descompactar a pasta OPatch dentro do 
  meu diretório $ORACLE_HOME e o OPatch antigo 11.1 renomeei para a pasta 
  OPatchBackup). Depois disso executei o comando novamente:
  
  [oracle@gsan238 dbhome_1]$ 
  /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch query -all |more
  
  versão do Installer Temporário Oracle 11.2.0.3.0
  Copyright (c) 2012, Oracle Corporation. Todos os direitos reservados.
  
  
  Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
  Central Inventory : /u01/app/oraInventory
     from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
  OPatch version    : 11.2.0.3.0
  OUI version       : 11.2.0.1.0
  Log file location : 
  /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2012-04-13_11-50-10AM_1.log
  
  Falha ao carregar o objeto de patch. As possíveis causas são:
    O caminho especificado não é um shiphome de Patch temporário

Re: RES: [oracle_br] Erro procedure

2012-04-11 Por tôpico Rafael Vieira
Chippa, é exatamente o que o Milton falou, FATURAMENTO é o schema e não o nome 
da tabela.
Eu logado como SYSTEM consigo fazer o 
Select faturamento.seq_res_fat_anal.nextval from dual, então eu possuo acesso a 
sequence correto? Outra coisa estranha, eu fiz o que o Loiro me falou e 
funcionou, mas para minha aplicação não vai adiantar de nada, pq esse insert, 
ele insere várias linhas e consequentemente irá duplicar a sequence, o que fiz 
para resolver foi o seguinte:

BEGIN
INSERT INTO faturamento.res_fat_anal SELECT
    faturamento.seq_res_fat_anal.NEXTVAL,
    sub.*
    FROM (SELECT sp.parm_amreferenciafaturamento,
    loca.greg_id,
    loca.uneg_id,
    loca.loca_id,
    imov.stcm_id,
 
.
 AND contaCat.ctcg_vlagua  0) sub;
COMMIT;
 

Obrigado a todos pela atenção, é isso que faz esse grupo oracle_br um dos 
melhores grupos sobre Oracle.



 De: Milton Bastos Henriquis Jr. miltonbas...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 11 de Abril de 2012 13:58
Assunto: Re: RES: [oracle_br] Erro procedure
 
Acredito que o FATURAMENTO é o nome do SCHEMA, e não da tabela.

Pois ele está executando como SYSTEM, então tem que especificar o SCHEMA
tanto da sequence quanto das tabelas!






On Wed, Apr 11, 2012 at 1:44 PM, José Laurindo jlchia...@yahoo.com.brwrote:

 **


 Na verdade, a sintaxe de nomedasequence.nextval dentro de um SQL qualquer
 (seja o INSERT ou outro) é Absolutamente, Totalmente, Completamente aceita
 e válida, então não vejo lá necessidade de fazer um acesso extra ao
 database só pra carregar o valor da sequence numa variável, acho que a
 questão aqui deve ser outra... Alguns pontos a ser verificar, Rafael :

 a) NÃO é verdade que o usuário SYSTEM por padrão faz tudo, tem acesso á
 tudo, tal conceito de super-usuário que faz TUDO e Qualquer Coisa
 nativamente, bypassando as regras de acesso (como o root no unix), não
 existe no RDBMS Oracle, entçao se vc está usando SYSTEM querendo obter
 isso, pare e cesse, vc não vai conseguir... Via de regra o SYSTEM tem
 diversos privilégios poderosos (como SELECT ANY TABLE, por exemplo) mas NÂO
 FAZ TUDO... Use então um usuário corretamente criado E QUE recebeu os
 privilégios necessários...

 b) nós sabemos que dentro de um stored PL/SQL (Procedure, Function,
 Package, Trigger, o que for) os privilégios recebidos implicitamente (via
 ROLE) ** não *** são Ativados por default, então se assegure que o usuário
 recebeu os privilégios (de selecionar as tabelas, de fazer INSERT, de usar
 SEQUENCEs que não lhe pertence, enfim todo o necessário) Diretamente, via
 GRANT

 c) o principal aqui que parece apontar para alguma alhada : na cláusula do
 FROM vc escreveu :

 FROM 
 faturamento.conta conta
 ...

 ou seja, esse FATURAMENTE parece ser o nome de uma tabela, e na linha de
 valores do INSERT vc escreveu :

 faturamento.seq_res_fat_anal.nextval,

 == isso não faz sentido se FATUTAMENTO for o nome de uma tabela : no
 RDBMS Oracle, as sequences são  INDEPENDENTES  das tabelas, então
 nomedatabela.nomedasequence Não Faz o Menor sentido 

 []s

 Chiappa
 --- Em oracle_br@yahoogrupos.com.br, Loiro loiro_2001@... escreveu

 
  Broder,
 
  Boa tarde!
 
  Mande o erro para agregar na pergunta e na resolução do
  problema.
 
 
 
  Quanto a solução um dica que dou é coloque o resultado da
  sequence em uma variável e coloque-a dentro do comando.
 
 
 
  De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br]
 Em
  nome de vieira.rafael44
  Enviada em: quarta-feira, 11 de abril de 2012 12:01
  Para: oracle_br@yahoogrupos.com.br
  Assunto: [oracle_br] Erro procedure
 
 
 
 
 
  Pessoal, crio a procedure, mas dá erro na segunda linha do INSERT
  onde possui o nextval da sequence, dizendo que nao tenho privilegios
  suficientes, estou Logado com usuário SYSTEM ( isso eh banco de teste,
 por
  isso estou conectado com esse usuario).
 
  ALguem pode ajudar?
 
  CREATE OR REPLACE PROCEDURE SP1_GERAR_RES_FAT_ANAL
  IS
 
  BEGIN
 
  -- Sequência = 100
  INSERT INTO faturamento.res_fat_anal SELECT
  faturamento.seq_res_fat_anal.nextval,
  sp.parm_amreferenciafaturamento,
  loca.greg_id,
  loca.uneg_id,
  loca.loca_id,
  imov.stcm_id,
  imov.qdra_id,
  imov.iper_id,
  imov.last_id,
  imov.lest_id,
  contaCat.catg_id,
  conta.imov_id,
  NULL AS clie_id,
  conta.cnta_id,
  NULL AS dbac_id,
  NULL AS crar_id,
  NULL AS gpag_id,
  NULL AS gdev_id,
  1 AS lctp_id,
  1 AS lcit_id,
  NULL AS lict_id,
  100 AS rfaa_nnsequenciatipolancamento,
  0 AS rfaa_nnseqitemtplanc,
  sysdate AS rfaa_tmultimaalteracao,
  contaCat.ctcg_vlagua AS rfaa_vlitemfaturamento
  FROM
  faturamento.conta conta
  INNER JOIN cadastro.imovel imov ON conta.imov_id = imov.imov_id
  INNER JOIN faturamento.conta_categoria contaCat ON conta.cnta_id =
  contaCat.cnta_id
  INNER JOIN cadastro.localidade loca ON conta.loca_id = loca.loca_id
  INNER JOIN cadastro.sistema_parametros sp ON 1 = 1
  WHERE
  

Re: RES: [oracle_br] Query

2012-04-10 Por tôpico Rafael Vieira
Alguém pode ajudar? Está dando erro no group by aonde o CASE possui uma 
sub-query...

versão 11g
ORA-22818: expressões de subconsulta não permitidas aqui


SELECT loca.greg_id AS idGerencia,
       loca.uneg_id      AS idUnidadeNegocio,
       loca.loca_id      AS idLocalidade,
     (
  CASE
    WHEN conta.iper_id IS NOT NULL
    THEN conta.iper_id
    ELSE 5
  END) AS idImovelPerfil,
  (
  CASE
    WHEN cltp.epod_id IS NOT NULL
    THEN cltp.epod_id
    ELSE 4
  END) AS idEsferaPoder,
  (
  CASE
    WHEN (SELECT ctcg.catg_id
      FROM faturamento.conta_categoria ctcg
      WHERE ctcg.cnta_id = conta.cnta_id
         ) IS NOT NULL
    THEN
      (SELECT Min(ctcg.catg_id)
      FROM faturamento.conta_categoria ctcg
      WHERE ctcg.ctcg_qteconomia = ( SELECT Max(ctcg2.ctcg_qteconomia) 
                                     FROM faturamento.conta_categoria ctcg2,
                                          faturamento.conta conta2
                                    WHERE ctcg2.cnta_id = conta2.cnta_id
                                  )
      )
    ELSE 1
  END)                                   AS idCategoria,
  1                                      AS idDocumentoTipo,
  conta.cnta_dtvencimentoconta           AS dataVencimento,
  COUNT(conta.cnta_id)                   AS quantidadeDocumentos,
  SUM(COALESCE(conta.cnta_vlagua,0))     AS valorAguaCategoria,
  SUM(COALESCE(conta.cnta_vlesgoto,0))   AS valorEsgotoCategoria,
  SUM(COALESCE(conta.cnta_vldebitos,0))  AS valorDebitoCategoria,
  SUM(COALESCE(conta.cnta_vlcreditos,0)) AS valorCreditoCategoria,
  SUM(COALESCE(conta.cnta_vlimpostos,0)) AS valorImpostos,
  fdrc.fdrc_id                           AS idFaixa
FROM cadastro.localidade loca
INNER JOIN faturamento.conta conta
ON loca.loca_id = conta.loca_id
LEFT JOIN cadastro.cliente_conta clct
ON conta.cnta_id = clct.cnta_id
AND clct.crtp_id = 3
LEFT JOIN cadastro.cliente resp
ON clct.clie_id = resp.clie_id
LEFT JOIN cadastro.cliente_tipo cltp
ON resp.cltp_id = cltp.cltp_id
LEFT JOIN financeiro.faixa_docs_a_receber fdrc
ON (fdrc.fdrc_vlfaixainicial            = (nvl(conta.cnta_vlagua,0) + 
nvl(conta.cnta_vlesgoto,0) + nvl(conta.cnta_vldebitos,0) - 
(nvl(conta.cnta_vlcreditos,0) + nvl(conta.cnta_vlimpostos,0)))
AND fdrc.fdrc_vlfaixafinal              = (nvl(conta.cnta_vlagua,0) + 
nvl(conta.cnta_vlesgoto,0) + nvl(conta.cnta_vldebitos,0) - 
(nvl(conta.cnta_vlcreditos,0) + nvl(conta.cnta_vlimpostos,0
WHERE loca.loca_id                       = 339
AND ( ( conta.cnta_amreferenciacontabil = 201203
AND conta.dcst_idatual                  IN ( 1, 2, 3 ) )
OR ( conta.cnta_amreferenciacontabil      201203
AND conta.dcst_idatual                  IN ( 1, 2, 3, 4 )
AND ( conta.dcst_idanterior             IS NULL
OR ( conta.cnta_amreferenciaconta       = 201203
AND conta.dcst_idanterior                0 ) ) ) )
GROUP BY loca.greg_id,
       loca.uneg_id,
       loca.loca_id,
  (
  CASE
    WHEN conta.iper_id IS NOT NULL
    THEN conta.iper_id
    ELSE 5
  END),
  (
  CASE
    WHEN cltp.epod_id IS NOT NULL
    THEN cltp.epod_id
    ELSE 4
  END),
  (  
  CASE
    WHEN (SELECT ctcg.catg_id
      FROM faturamento.conta_categoria ctcg
      WHERE ctcg.cnta_id = conta.cnta_id
      AND ROWNUM        = 1
         ) IS NOT NULL
    THEN
      (SELECT Min(ctcg.catg_id)
      FROM faturamento.conta_categoria ctcg

      WHERE ctcg.ctcg_qteconomia = ( SELECT Max(ctcg2.ctcg_qteconomia) 
                                     FROM faturamento.conta_categoria ctcg2,
                                          faturamento.conta conta2
                                    WHERE ctcg2.cnta_id = conta2.cnta_id
                                  )
                                                  
      )
    ELSE 1
  END        
      ),

  1,
  conta.cnta_dtvencimentoconta,
  fdrc.fdrc_id 

ORDER BY loca.greg_id,
       loca.uneg_id,
       loca.loca_id,
 (CASE
    WHEN conta.iper_id IS NOT NULL
    THEN conta.iper_id
    ELSE 5
  END) ,
  (
  CASE
    WHEN cltp.epod_id IS NOT NULL
    THEN cltp.epod_id
    ELSE 4
  END),
  (
  CASE
    WHEN (SELECT ctcg.catg_id
      FROM faturamento.conta_categoria ctcg
      WHERE ctcg.cnta_id = conta.cnta_id
         ) IS NOT NULL
    THEN
      (SELECT Min(ctcg.catg_id)
      FROM faturamento.conta_categoria ctcg
      WHERE ctcg.ctcg_qteconomia = ( SELECT Max(ctcg2.ctcg_qteconomia) 
                                     FROM faturamento.conta_categoria ctcg2,
                                          faturamento.conta conta2
                                    WHERE ctcg2.cnta_id = conta2.cnta_id
                                  )
                                                  
      )
    ELSE 1
  END),          
  1,   
  conta.cnta_dtvencimentoconta,
  fdrc.fdrc_id  
    





 De: Márcio - IG mpela...@ig.com.br
Para: vieira.rafae...@yahoo.com.br 
Enviadas: Terça-feira, 10 de Abril de 2012 11:49
Assunto: RES: [oracle_br] Query
 

Brother,
 
Envia a query toda e 

Re: [oracle_br] OCM - Entrevista

2012-03-29 Por tôpico Rafael Vieira
Parabéns ao Victor e ao Milton.



 De: Rodrigo Mufalani rodr...@mufalani.com.br
Para: oracle_br@yahoogrupos.com.br 
Cc: dba10...@googlegroups.com; dba_oracle_...@googlegroups.com; José Henrique 
Zandoná jhzhenri...@gmail.com 
Enviadas: Quarta-feira, 28 de Março de 2012 10:35
Assunto: Re: [oracle_br] OCM - Entrevista
 

  
Bom dia,

   Com certeza foi boa. O Guilherme é uma pessoa fantástica e um excelente 
profissional! Parabéns pelo site... Muito boa iniciativa...

ns 
[]'s

Rodrigo Mufalani
Oracle Ace member
OCP/OCE Rac
88514817

Sent via my DROID :-)

Vitor Ugo Roda da Rosa Junior vitorj...@gmail.com escreveu:

Que bela entrevista! Que belas perguntas� o reporter me lembra at� um jovem 
William Bonner� hehehe
#certificacaobd

Att,/Regards,

Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional - OCP
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

On 28/03/2012, at 10:13, Milton Bastos Henriquis Jr. wrote:

 Bom dia amigos!
 
 A Certifica豫o BD entrevistou o OCM Guilherme Brito. Confiram!
 
 http://certificacaobd.com.br/
 
 -- 
 Att,
 
 Milton Bastos
 www.certificacaobd.com.br
 
 [As partes desta mensagem que n� continham texto foram removidas]
 
 

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



--
Aten豫o! As mensagens do grupo ORACLE_BR s� de acesso p�lico 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�! 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]



Re: [oracle_br] Re: Erro ao conectar com autenticação do SO

2012-03-23 Por tôpico Rafael Vieira
Obrigado a todos, aí vai...

echo $PATH
/u01/app/oracle/product/11.2.0/dbhome_1/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin:/u01/app/oracle/product/11.2.0/dbhome_1/bin/



ps -ef | grep -i pmon 

oracle    4133     1  0 Mar21 ?        00:00:00 ora_pmon_gsanaf201201
oracle    7349     1  0 Mar14 ?        00:00:00 ora_pmon_gsan241b
oracle   28490     1  0 09:11 ?        00:00:00 ora_pmon_gsanaf201201
oracle   31970 31559  0 16:02 pts/0    00:00:00 grep -i pmon

SELECT INSTANCE_NAME, HOST_NAME FROM V$INSTANCE; 

INSTANCE_NAME HOST_NAME          
gsanaf201201  gsan241.ipad.com.br

SELECT NAME FROM V$DATABASE; 

NAME    
GSANAF20



 De: José Laurindo jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Sexta-feira, 23 de Março de 2012 12:24
Assunto: [oracle_br] Re: Erro ao conectar com autenticação do SO
 

  
Verdade Milton, e não só isso : ganhasse eu uma moeda a cada vez que vejo 
alguém confundindo schema com database , string no tnsnames com nome da 
instância e semelhantes eu seria hoje positivamente um homem rico ...
Rafael, seguinte : depois de vc fazer o shutdown immediate nessa instância que 
reporta como não aberta :

- veja COMO está a sua variável PATH, faça um echo $PATH no servidor, vc 
necessariamente TEM que ter o sub-diretório BIN da oraclehome desejada 
constando no PATH e antes de outras HOMEs

- peça no servidor um ps -ef | grep -i pmon , as linhas que vc retornar são os 
nomes REAIS das instãncias que vc tem ativas nesse servidor

- se vc tiver a possibilidade, vá até a máquina do usuário que conectou e nessa 
máquina conecte como SYSTEM nesse banco de dados e peça um :

SELECT INSTANCE_NAME, HOST_NAME FROM V$INSTANCE;
SELECT NAME FROM V$DATABASE;

ou se o usuário tem acesso às V$, peça pra ele fazer as queries...

= uma vez confirmado EXATAMENTE o nome da instância, o nome do database, o 
nome do servidor, se realmente é esse servidor mesmo que vc tá o cara, a 
variável ORACLE_SID tá apontando pra instância correta, e o ORACLE_HOME está 
correto e com o sub-dir bin presente no path, pede um :

tnsping nomedainstância

(normalmente de praxe sempre se cria entre outras entradas no tnsnames uma 
entrada com o mesmo nome da instância) - se nada disso resolveu/te mostrou onde 
está o seu erro, mostra tudo isso pra gente...

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Milton Bastos Henriquis Jr. 
miltonbastos@... escreveu

 Faça o seguinte teste:
 
 - Dê novamente um shutdown immediate, igual vc tinha feito no primeiro
 e-mail;
 - Peça para algum usuário tentar se conectar novamente pelo Developer ou
 pelo Tools, que vc tinha citado anteriormente.
 
 Obviamente é impossível se conectar a uma base que vc tenha dado shutdown.
 Se a conexão funcionar, é pq essas conexões estão em outro banco de dados.
 
 Muitas vezes alguns confundem o nome do banco, nome da instancia, nome do
 serviço, com a descrição que estão no tnsnames, e aí conectam numa base
 pensando que está em outra, por isso é bom garantir isso.
 
 
 
 
 On Fri, Mar 23, 2012 at 11:19 AM, Rafael Vieira 
 vieira.rafael44@... wrote:
 
  **
 
 
  Estão no mesmo.
 
  
  De: Milton Bastos Henriquis Jr. miltonbastos@...
  Para: oracle_br@yahoogrupos.com.br
  Enviadas: Sexta-feira, 23 de Março de 2012 10:33
 
  Assunto: Re: [oracle_br] Erro ao conectar com autenticação do SO
 
  Provavelmente essas outras conexões (de outras pessoas) estão no OUTRO
  banco de dados...
  Afinal, teu banco nem está aberto.
 
  On Fri, Mar 23, 2012 at 9:35 AM, Rafael Vieira 
  vieira.rafael44@...
   wrote:
 
   **
 
  
  
   Paulo, obrigado.
   Já tinha setado o .oraenv, eu sempre faço isso antes de me conectar a um
   banco.
   Estou usando o linux red hat. Segue o que você me pediu.
  
   [oracle@gsan241 ~]$ echo $ORACLE_SID
   gsanaf201201
   [oracle@gsan241 ~]$ echo $ORACLE_HOME
   /u01/app/oracle/product/11.2.0/dbhome_1
   [oracle@gsan241 ~]$ echo $ORACLE_BASE
   /u01/app/oracle
   [oracle@gsan241 ~]$
   [oracle@gsan241 ~]$ echo $TNS_ADMIN
  
   Essa variável $TNS_ADMIN não me trouxe nada.
  
   obs; Possuo outro banco isntalado no mesmo servidor. Esses são os dados
  da
   minhas variáveis de ambiente.
  
   
   De: Paulo Petruzalek ppetruzalek@...
   Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br
   Enviadas: Sexta-feira, 23 de Março de 2012 9:08
   Assunto: Re: [oracle_br] Erro ao conectar com autenticação do SO
  
  
  
  
   Verifique se as variáveis de ambiente estão setadas adequadamente, ex:
   ORACLE_SID, ORACLE_HOME, ORACLE_BASE, TNS_ADMIN, etc...
  
   Como você não disse qual ambiente dificil dar mais detalhes.
  
   Em linux / unix você pode usar a linha de comando:
   . oraenv
   (o ponto e espaço faz parte do comando)
   Este comando serve para carregar as variáveis de ambiente adequadas para
   cada banco instalado.
  
   
   De: vieira.rafael44

Re: [oracle_br] Re: É possível executar forms 6 e report 6 em um banco de dados Oracle 10g?

2012-03-22 Por tôpico Rafael Vieira
Amigos, bom dia.
Na antiga empresa  que trabalhei, exisita o forms 6i e trabalhavamos com 
versões do DB 9i, 10g e 11g, agora a release eu não me lembro, dá uma 
procurada, funcionava em todas as versões, tanto o Oracle 6i, como o 10g da 
versão web também, o Oracle lançou há pouco tempo o Forms 11g, muito diferente 
de todos os outros.
Atenciosamente,
[]' Rafael Mendonça



 De: José Laurindo jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 21 de Março de 2012 17:54
Assunto: [oracle_br] Re: É possível  executar forms 6 e report 6 em um banco de 
dados Oracle 10g?
 

  
Certamente devia ter sido 10.1.x : o 10.2.x não é oficialmente compatível mas 
normalmente dá pra gambiarrar : vc só precisa do último patchset do Developer, 
que iirc era o patchset 18 (isso é imprescindível, tentar com Developer 
não-atualizado é grande chance de crash), e o database ** não ** pode estar 
usando characterset multibyte  Eu disse gambiarrar porque , evidentemente, 
vc não terá a mais remota sombra de Suporte nem pra esse database nem pra esse 
Developer, mas que funciona, funciona : na minha máquina de testes, antes do XP 
esticar as patas e morrer de morte morrida, eu tinha um banco 10gr2 EE 
conectando com o Forms e Reports 6i, me lembro que s´po tive pequenos problemas 
com features mais recentes, como LOBs e BFILES, mas contornável via programação 
no banco, em stored procedure  ...

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Vitor Ugo Roda da Rosa Junior 
vitorjr81@... escreveu

 Me corrijam se estiver errado, mas tive um problema parecido:
 - Cliente com forms 6i e banco 9i;
 - Necessidade de migrar o banco para 11g;
 - Não havia matriz de compatibilidade com o 11g;
 - Mas a matriz de compatibilidade ia até o 10;
 … Agora não lembro se era a versão 10.2… ou 10.1… 
 
 
 Att,/Regards,
 
 
 Vitor Jr.
 Infraestrutura / Infrastructure Team
 Oracle 11g DBA Certified Professional - OCP
 Oracle Database 11g Performance Tuning Certified Expert - OCE
 Oracle Exadata 11g Certified Implementation Specialist
 mail, gtalk e msn: vitorjr81@...
 http://certificacaobd.com.br/
 skype: vjunior1981
 
 
 
 On 21/03/2012, at 17:19, Pedro wrote:
 
  Senhores,
  
  Eu posso executar forms 6 e report 6 em um banco de dados Oracle 10g?
  
  Estamos precisando avançar a versão do banco de dados emergencialmente, de 
  8.1.7.3 para 10.2.0.5, mas ainda não estamos preparados para avançar a 
  versão do forms e reports, que permanecerá 6.0.
  Eu sei que esta versão não é mais suportada, e pretendo avançar a versão do 
  forms, mas não agora.
  
  Isso é possível?
  
  Ou seja, existe um mínimo de compatibilidade, que me permita, 
  emergencialmente manter forms 6 e reports 6, executando em um banco de 
  dados Oracle 10.2.0.5?
  
  Atenciosamente,
  
  Pedro Manso.
  
  
 
 
 
 [As partes desta mensagem que não continham texto foram removidas]



 

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