[oracle_br] Re: SQL - Período - Datas

2017-05-15 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Ou seja, em resumo vc quer "inventar dados", ie, vc quer 'criar' dados (um 
conjunto de linhas no caso) que não estão na tabela ok, pra vc fazer isso 
as duas técnicas principais são usar a ALL_OBJECTS ou usar o connect by , veja 
https://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:14582643282111
 
 Um exemplo AINDA INCOMPLETO mas bem adiantado nesse caminho seria este abaixo, 
no caso usando a técnica do infinite dual/connect by :
 
SQL> create table T (Codigo varchar2(4),Nome varchar2(40) ,DataInicio 
date,DataFim date);

Tabela criada.

SQL> insert into T values('0001', 'Nome Teste 0001', '01/05/2017', 
'10/05/2017');

1 linha criada.

SQL> insert into T values('0002', 'Nome Teste 0002', '10/06/2017', 
'15/06/2017');

1 linha criada.

SQL> with nums
  2   as
  3   (select level R
  4  from dual
  5   connect by level <= 60
  6   )
  7   select t.codigo, (t.DataInicio+r) -1  dt,
  8  t.DataFim
  9 from t, nums
 10where (nums.r - 1) + t.DataInicio between t.DataInicio and t.DataFim
 11order by 1,2;

CODI DT   DATAFIM
  
0001 01/05/17 10/05/17
0001 02/05/17 10/05/17
0001 03/05/17 10/05/17
0001 04/05/17 10/05/17
0001 05/05/17 10/05/17
0001 06/05/17 10/05/17
0001 07/05/17 10/05/17
0001 08/05/17 10/05/17
0001 09/05/17 10/05/17
0001 10/05/17 10/05/17
0002 10/06/17 15/06/17
0002 11/06/17 15/06/17
0002 12/06/17 15/06/17
0002 13/06/17 15/06/17
0002 14/06/17 15/06/17
0002 15/06/17 15/06/17

16 linhas selecionadas.

SQL>
===> Isso *** nem de longe *** está com qualidade pronta pra Produção (entre 
outras coisas eu ** não ** estou Validando a porção hora da coluna date, assumo 
aqui que é sempre zero) mas é uma boa demonstração da técnica, que em si é bem 
simples:  basicamente tenho um resultset gerando números de 1 a 60 (já que 
avalio que não haverá mais de 60 dias de gap entre a data início e a fim) e 
faço um join desse resultset com a tabela real, filtrando para só trazer as 
linhas onde o valor do número somado com o valor do número sequencial gerado 
está entre o início e o fim ... A minha lógica aqui confia no fato que (cfrme 
vc deve saber), no RDBMS Oracle somando números em item DATE vc avança o número 
de dias que somou na data

Abraços,

  Chiappa

Re: [oracle_br] Re: SQL - Group by Range de horário

2014-03-21 Por tôpico Milton Bastos Henriquis Jr.
Valeu Ederson, brigadão, já consegui resolver aqui!

Mas gostei da tua solução, vou ver se consigo encaixar no meu caso!

Abraço


Em 20 de março de 2014 19:18,  escreveu:

>
>
> Milton,
> Eu tenho esta anotada para não esquecer:
>
> DBANM@des> select * from tba;
>
> IDNUM
> -- --
>  5 10
>  1 10
>
> DBANM@des> select id, rn, decode(to_char(id),null,'<--- falta este')
> status
>   from tba, (select rownum rn
>  from all_objects
> where rownum <= (select max(id) from tba))
>   where rn = id (+);
>
> ID RN STATUS
> -- -- --
>  1  1
> 2 <--- falta este
> 3 <--- falta este
> 4 <--- falta este
>  5  5
>
> Creio que com o select do Andre Santos no lugar do select em
> "all_objects", vc vai conseguir o seu retorno:
> --Troque:
> (select rownum rn
>from all_objects
>   where rownum <= (select max(id) from tba))
> --Por
> SELECT to_date('01/03/2014','dd/mm/') + ((1/48) * (LEVEL - 1)) as
> data_hora
> FROM dual
> CONNECT BY LEVEL <= ((to_date('31/03/2014','dd/mm/') + 1) -
> to_date('01/03/2014','dd/mm/yyy
>
> Ederson Elias
> DBA Oracle
> http://br.linkedin.com/pub/ederson-elias/24/8b/8b0
> 
> Labor improbus omnia vincit
>
>
>
>
> ---Em oracle_br@yahoogrupos.com.br,  escreveu:
>
> Miltão
>
> Legal! Valeu pelo retorno!
> Sem usar o join... pode ser que exista uma maneira... talvez por função
> analítica... (teria de pesquisar).
>
> [ ]'s
>
> André
>
>
>
> Em 20 de março de 2014 16:11, Milton Bastos Henriquis Jr. <
> miltonbastos@...> escreveu:
>
>
>
> Era essa a solução que eu tava discutindo com o Vitor Jr. aqui via skype,
> André!
> Achamos essa sugestão em outro fórum, mas fiquei na dúvida se havia ou não
> algum recurso do SQL
> no Oracle pra que não precisasse fazer um join.
>
> Mas pelo visto acho que a solução é essa mesma!
>
> Valeu, brigadão!
>
>
> Em 20 de março de 2014 15:51, Andre Santos escreveu:
>
>
>
> Miltão
>
> Peguei uma daquelas consultas "geradoras de linhas" (exemplos em:
> http://orafaq.com/wiki/Oracle_Row_Generator_Techniques)...
> A de sintaxe mais simplezinha:
>
> SELECT LEVEL just_a_column
> FROM dual
> CONNECT BY LEVEL <= 365;
>
> E montei esta aqui:
>
> SELECT to_date('01/03/2014','dd/mm/') + ((1/48) * (LEVEL - 1)) as
> data_hora
> FROM dual
> CONNECT BY LEVEL <= ((to_date('31/03/2014','dd/mm/') + 1) -
> to_date('01/03/2014','dd/mm/')) * 48;
>
> Com este resultset (mudando as datas inicial e final), você pode fazer um
> "outer join" com a sua consulta.
> Para as linhas que retornarem NULL na coluna correspondente ao COUNT(*),
> pode-se usar NVL.
>
> Faça uns testes aí... veja se ajuda.
>
> [ ]'s
>
> André Santos
>
>
>
>
>
> Em 20 de março de 2014 15:06, Milton Bastos Henriquis Jr. <
> miltonbastos@...> escreveu:
>
>
>
> Olá amigos!
>
> Preciso de ajuda com um SQL...
>
> Preciso fazer um agrupamento por faixa de hora/data, com intervalos de
> meia hora
> Até aí tudo bem, já consegui fazer, fica mais ou menos assim:
>
> campo_dataquantidade
>
> 20/03 8:002   (aqui mostra o count de registros com hora de 8:00
> até 8:29)
> 20/03 8:305   (aqui mostra o count de registros com hora de 8:30
> até 8:59)
> 20/03 9:003E assim por diante...
> 20/03 10:30  1
>
>
> Reparem que não aparece registro de 9:30 nem de 10:00, por não existirem
> registros nesse intervalo de horário.
>
> Minha dúvida é: como faço pra aparecer também essas faixas que não existe
> registro,
> pra eu poder mostrar o 0 (zero) na quantidade?
>
> Minha query atualmente está assim:
>
>
>  select trunc(campo_data,'DD/MM HH24') +
> (trunc(to_char(campo_data,'mi')/60)*60)/24/60 as dia_hora,
>count(item) as quantidade
>   from tabela1
>  group by  trunc(campo_data,'DD/MM HH24') +
> (trunc(to_char(campo_data,'mi')/60)*60)/24/60;
>
>
>
>
>
>


[oracle_br] Re: SQL - Group by Range de horário

2014-03-20 Por tôpico ederson2001br
Milton,  Eu tenho esta anotada para não esquecer: 
 

 DBANM@des> select * from tba;
 

 IDNUM
 -- --
  5 10
  1 10
  

 DBANM@des> select id, rn, decode(to_char(id),null,'<--- falta este') status
   from tba, (select rownum rn
  from all_objects
 where rownum <= (select max(id) from tba))
   where rn = id (+);
 

 ID RN STATUS
 -- -- --
  1  1
 2 <--- falta este
 3 <--- falta este
 4 <--- falta este
  5  5  
  
 Creio que com o select do Andre Santos no lugar do select em "all_objects", vc 
vai conseguir o seu retorno:
 --Troque:
 (select rownum rn
from all_objects
   where rownum <= (select max(id) from tba))
 --Por

 SELECT to_date('01/03/2014','dd/mm/') + ((1/48) * (LEVEL - 1)) as data_hora
 FROM dual
 CONNECT BY LEVEL <= ((to_date('31/03/2014','dd/mm/') + 1) - 
to_date('01/03/2014','dd/mm/yyy

 

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


 


 

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

 Miltão


Legal! Valeu pelo retorno!

Sem usar o join... pode ser que exista uma maneira... talvez por função 
analítica... (teria de pesquisar).


[ ]'s
 

André


 

 Em 20 de março de 2014 16:11, Milton Bastos Henriquis Jr. mailto:miltonbastos@...> escreveu:
   
 Era essa a solução que eu tava discutindo com o Vitor Jr. aqui via skype, 
André! Achamos essa sugestão em outro fórum, mas fiquei na dúvida se havia ou 
não algum recurso do SQL
 no Oracle pra que não precisasse fazer um join.
 

 Mas pelo visto acho que a solução é essa mesma!
 

 Valeu, brigadão!

 

 Em 20 de março de 2014 15:51, Andre Santos mailto:andre.psantos.ti@...> escreveu: 
   
 Miltão


 Peguei uma daquelas consultas "geradoras de linhas" (exemplos em: 
http://orafaq.com/wiki/Oracle_Row_Generator_Techniques). 
http://orafaq.com/wiki/Oracle_Row_Generator_Techniques)...

 A de sintaxe mais simplezinha:

SELECT LEVEL just_a_column
FROM dual
CONNECT BY LEVEL <= 365;


 E montei esta aqui:

SELECT to_date('01/03/2014','dd/mm/') + ((1/48) * (LEVEL - 1)) as data_hora
FROM dual
CONNECT BY LEVEL <= ((to_date('31/03/2014','dd/mm/') + 1) - 
to_date('01/03/2014','dd/mm/')) * 48;


 Com este resultset (mudando as datas inicial e final), você pode fazer um 
"outer join" com a sua consulta.

 Para as linhas que retornarem NULL na coluna correspondente ao COUNT(*), 
pode-se usar NVL.


 Faça uns testes aí... veja se ajuda.

 

 [ ]'s


 André Santos


 



 

 Em 20 de março de 2014 15:06, Milton Bastos Henriquis Jr. mailto:miltonbastos@...> escreveu: 
   
 Olá amigos! 

 Preciso de ajuda com um SQL...
 

 Preciso fazer um agrupamento por faixa de hora/data, com intervalos de meia 
hora
 Até aí tudo bem, já consegui fazer, fica mais ou menos assim:
 

 campo_dataquantidade
 

 20/03 8:002   (aqui mostra o count de registros com hora de 8:00 até 
8:29)
 20/03 8:305   (aqui mostra o count de registros com hora de 8:30 até 
8:59)
 20/03 9:003E assim por diante...
 20/03 10:30  1
 

 

 Reparem que não aparece registro de 9:30 nem de 10:00, por não existirem
 registros nesse intervalo de horário.
 

 Minha dúvida é: como faço pra aparecer também essas faixas que não existe 
registro,
 pra eu poder mostrar o 0 (zero) na quantidade?
 

 Minha query atualmente está assim:
 

 

  select trunc(campo_data,'DD/MM HH24') + 
(trunc(to_char(campo_data,'mi')/60)*60)/24/60 as dia_hora, 
count(item) as quantidade
   from tabela1
  group by  trunc(campo_data,'DD/MM HH24') + 
(trunc(to_char(campo_data,'mi')/60)*60)/24/60; 


 

 








 

 








 

 










[oracle_br] Re: SQL-00918 column ambiguously defined

2013-09-30 Por tôpico J. Laurindo Chiappa
  Eu ** duvido ** que haja, pois threads de mais de um ano atrás como 
http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/msg41279.html já não 
encontraram nada, mas vamos aguardar, embora SENTADOS, que de pé pode cansar :)

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, Fabio Prado  escreveu
>
> Vitor, se existe algo para contornar isso eu também gostaria de descobrir,
> pois quando migrei para 11G tive o mesmo problema, pesquisei algo para
> contorná-lo de forma fácil e não achei, então pedi para os desenvolvedores
> alterarem as aplicações e eles tiveram que fazer com certa urgência, pois
> infelizmente não descobri caminho alternativo!
> 
> []s
> 
> 
> Em 30 de setembro de 2013 11:08, Vitor Jr.  escreveu:
> 
> > **
> >
> >
> > Bom dia.
> >
> > Cenário origem: 
> >
> > Oracle EE 10.2.0.4 64-bit
> >
> > ** **
> >
> > Cenário destino:
> >
> > Oracle SE 11.2.0.4 64-bit
> >
> > ** **
> >
> > Ao homologar a migração da aplicação do cliente, caímos no já conhecido
> > bug:
> >
> > Bug 5368296 - SQL NOT GENERATING ORA-00918 WHEN USING JOIN
> >
> > ** **
> >
> > Então, sabemos que isso ocorre na migração do 10 pro 11 (dentro do próprio
> > 10 ocorre, ao migrar para a 10.2.0.5), enfim, é ocasionado por uma má
> > prática dos desenvolvedores em não qualificarem as colunas, etc, etc...***
> > *
> >
> > Eu sei disso, o gerente do cliente sabe disso, mas enfim... alguém já
> > passou por essa situação e recebeu da oracle algum parâmetro pra contornar?
> > Algum hidden? Algum event pra setar a nível de sessão pra evitar esse
> > comportamento?
> >
> > Quero apenas me cercar de todas as garantias que NÃO tem como contornar,
> > pois vai que o cliente encontra algo depois que digo que não dá pra
> > contornar.
> >
> > ** **
> >
> >
> >
> >
> > Att,/Regards,
> >
> >
> > Vitor Jr.
> > Infraestrutura / Infrastructure Team
> > Oracle 11g DBA Certified Professional - OCP
> >
> > Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid
> > Infrastructure Administrator - OCE
> > Oracle Database 11g Performance Tuning Certified Expert - OCE
> > Oracle Exadata 11g Certified Implementation Specialist
> > Oracle Certified Associate, MySQL 5
> > mail, gtalk e msn: vitorjr81@...
> > http://certificacaobd.com.br/
> > skype: vjunior1981
> >
> > https://mybizcard.co/vitor.jr.385628
> >
> > ** **
> >
> >  
> >
> 
> 
> 
> -- 
> Fábio Prado
> www.fabioprado.net
> "Compartilhando conhecimentos e treinando profissionais em Bancos de Dados
> Oracle"
>




[oracle_br] Re: SQL-00918 column ambiguously defined

2013-09-30 Por tôpico J. Laurindo Chiappa
  E é claro, lembremos que no 11g vc tem a opção de, em alguns casos, 
automagicamente TROCAR um texto de SQL por outro, via dbms_advanced_rewrite : 
veja lá se isso pode te ajudar enquanto não vem o fix da aplicação, aonde aí vc 
trocaria o SQL sem identificação das colunas por um com a identificação E 
as outras opções de alteração de comportamento do SQL (como Outlines , SQL 
Profiles, views materializadas, etc) podem ser ser úteis no sentido de vc 
indicar um plano de execução que não use/referencia a coluna ambígua, ** às 
vezes ** isso pode ajudar, também

  []s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, "J. Laurindo Chiappa"  
escreveu
>
>   E realmente, se vc for ver a descrição vc vai ver que esse "bug" foi 
> fechado como NOT A BUG, ie, não era bug coisa nenhuma mas sim funcionalidade 
> como documentada, yep 
>Bom, afaik não sendo bug do RDBMS (e sim falha de programação) vc Não Tem 
> "mágica" alguma, parâmetro NENHUM que mude o comportamento, até porque o 
> comportamento de retornar um ORA-00918 em colunas não-especificadas é 100% 
> correto No máximo vc poderia em tese TENTAR mudar o parâmetro de 
> compatibility do database para 10.2.0.1, versão que era menos Comum o 
> comportamento correto e esperado de retornar o ORA-918 , mas , Óbvio, sem 
> NENHUMA garantia de que vai funcionar E COM uma alta probabilidade de efeitos 
> colaterais ** NERVOSOS **, principalmente ausência das otimizações de 
> cursor/performance do 11g, como result cache e aumento do cache size de 
> cursores implicitamente, coisas assim  
>Assim sendo, o teu caminho tá Claro : é realmente se Documentar com o 
> material do metalink e da documentaão Oracle, mostrar para o cliente que é um 
> bug da Aplicação, que Não Há uma "solução" a nível de database, e que o 
> quebra-galho de setar os params de compatibility Ninguém garante E pode 
> trazer problemas de performance e usabilidade, aí fica por conta deles a 
> avaliação do Risco de usar ou não, enquanto se CORRIGE a falha mais que 
> evidente da Aplicação...
>  
>  []s
> 
>Chiappa
> 
> 
> --- Em oracle_br@yahoogrupos.com.br, "Vitor Jr."  escreveu
> >
> > Bom dia.
> > 
> > Cenário origem: 
> > 
> > Oracle EE 10.2.0.4 64-bit
> > 
> >  
> > 
> > Cenário destino:
> > 
> > Oracle SE 11.2.0.4 64-bit
> > 
> >  
> > 
> > Ao homologar a migração da aplicação do cliente, caímos no já conhecido bug:
> > 
> > Bug 5368296 - SQL NOT GENERATING ORA-00918 WHEN USING JOIN
> > 
> >  
> > 
> > Então, sabemos que isso ocorre na migração do 10 pro 11 (dentro do próprio
> > 10 ocorre, ao migrar para a 10.2.0.5), enfim, é ocasionado por uma má
> > prática dos desenvolvedores em não qualificarem as colunas, etc, etc...
> > 
> > Eu sei disso, o gerente do cliente sabe disso, mas enfim... alguém já passou
> > por essa situação e recebeu da oracle algum parâmetro pra contornar? Algum
> > hidden? Algum event pra setar a nível de sessão pra evitar esse
> > comportamento?
> > 
> > Quero apenas me cercar de todas as garantias que NÃO tem como contornar,
> > pois vai que o cliente encontra algo depois que digo que não dá pra
> > contornar.
> > 
> >  
> > 
> > 
> > 
> > 
> > Att,/Regards,
> > 
> > 
> > Vitor Jr.
> > Infraestrutura / Infrastructure Team
> > Oracle 11g DBA Certified Professional - OCP
> > 
> > Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid
> > Infrastructure Administrator - OCE
> > Oracle Database 11g Performance Tuning Certified Expert - OCE
> > Oracle Exadata 11g Certified Implementation Specialist
> > Oracle Certified Associate, MySQL 5
> > mail, gtalk e msn:   vitorjr81@
> >   http://certificacaobd.com.br/
> > skype: vjunior1981
> > 
> >   https://mybizcard.co/vitor.jr.385628
> >
>




[oracle_br] Re: SQL-00918 column ambiguously defined

2013-09-30 Por tôpico J. Laurindo Chiappa
  E realmente, se vc for ver a descrição vc vai ver que esse "bug" foi fechado 
como NOT A BUG, ie, não era bug coisa nenhuma mas sim funcionalidade como 
documentada, yep 
   Bom, afaik não sendo bug do RDBMS (e sim falha de programação) vc Não Tem 
"mágica" alguma, parâmetro NENHUM que mude o comportamento, até porque o 
comportamento de retornar um ORA-00918 em colunas não-especificadas é 100% 
correto No máximo vc poderia em tese TENTAR mudar o parâmetro de 
compatibility do database para 10.2.0.1, versão que era menos Comum o 
comportamento correto e esperado de retornar o ORA-918 , mas , Óbvio, sem 
NENHUMA garantia de que vai funcionar E COM uma alta probabilidade de efeitos 
colaterais ** NERVOSOS **, principalmente ausência das otimizações de 
cursor/performance do 11g, como result cache e aumento do cache size de 
cursores implicitamente, coisas assim  
   Assim sendo, o teu caminho tá Claro : é realmente se Documentar com o 
material do metalink e da documentaão Oracle, mostrar para o cliente que é um 
bug da Aplicação, que Não Há uma "solução" a nível de database, e que o 
quebra-galho de setar os params de compatibility Ninguém garante E pode trazer 
problemas de performance e usabilidade, aí fica por conta deles a avaliação do 
Risco de usar ou não, enquanto se CORRIGE a falha mais que evidente da 
Aplicação...
 
 []s

   Chiappa


--- Em oracle_br@yahoogrupos.com.br, "Vitor Jr."  escreveu
>
> Bom dia.
> 
> Cenário origem: 
> 
> Oracle EE 10.2.0.4 64-bit
> 
>  
> 
> Cenário destino:
> 
> Oracle SE 11.2.0.4 64-bit
> 
>  
> 
> Ao homologar a migração da aplicação do cliente, caímos no já conhecido bug:
> 
> Bug 5368296 - SQL NOT GENERATING ORA-00918 WHEN USING JOIN
> 
>  
> 
> Então, sabemos que isso ocorre na migração do 10 pro 11 (dentro do próprio
> 10 ocorre, ao migrar para a 10.2.0.5), enfim, é ocasionado por uma má
> prática dos desenvolvedores em não qualificarem as colunas, etc, etc...
> 
> Eu sei disso, o gerente do cliente sabe disso, mas enfim... alguém já passou
> por essa situação e recebeu da oracle algum parâmetro pra contornar? Algum
> hidden? Algum event pra setar a nível de sessão pra evitar esse
> comportamento?
> 
> Quero apenas me cercar de todas as garantias que NÃO tem como contornar,
> pois vai que o cliente encontra algo depois que digo que não dá pra
> contornar.
> 
>  
> 
> 
> 
> 
> Att,/Regards,
> 
> 
> Vitor Jr.
> Infraestrutura / Infrastructure Team
> Oracle 11g DBA Certified Professional - OCP
> 
> Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid
> Infrastructure Administrator - OCE
> Oracle Database 11g Performance Tuning Certified Expert - OCE
> Oracle Exadata 11g Certified Implementation Specialist
> Oracle Certified Associate, MySQL 5
> mail, gtalk e msn:   vitorjr81@...
>   http://certificacaobd.com.br/
> skype: vjunior1981
> 
>   https://mybizcard.co/vitor.jr.385628
>




RES: [oracle_br] Re: SQL Developer

2013-04-17 Por tôpico J. Laurindo Chiappa
 Não, não há uma opção do tipo : veja no link que passei o que é possível no 
SQL developer...

 []s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, "Ednilson Silva"  
escreveu
>
> Então Chiappa,
> 
>  
> 
> No PL SQL, em Tools > Preferences vou Oracle > Options e marco a opção Use
> DBA Views if Available, que um usuario comum consegue listar os Objetos.
> 
> Mas não sei se um problema de versão do PL SQL que não estou mais
> conseguindo listar mais os objetos, e queria saber se no SQL Developer teria
> algo parecido.
> 
>  
> 
> Grato
> 
>  
> 
> Ednilson Silva
> 
>  
> 
>  
> 
>  
> 
> De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
> nome de J. Laurindo Chiappa
> Enviada em: quarta-feira, 17 de abril de 2013 11:22
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] Re: SQL Developer
> 
>  
> 
>   
> 
> Bom, não sei no PL/SQL Developer, mas no Oracle SQL Developer Muito
> provavelmente o que está contecendo é que ele por default só mostra as
> tabelas que PERTENCEM ao usuário conectado... Veja
> http://www.thatjeffsmith.com/archive/2013/03/why-cant-i-see-my-tables-in-ora
> cle-sql-developer/ para mais detalhes...
> 
> []s
> 
> Chiappa
> 
> --- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>
> , "Ednilson Silva"  escreveu
> >
> > Bom Dia,
> > 
> > Estou tentando listar qualquer objeto pelo SQL Developer ou PL SQL
> Developer
> > com um usuário comum por exemplo e não lista, exemplo: Quando clico em
> > Tabelas não lista todas as tabelas, mas com um usuário com GRANT de DBA,
> > lista sem problemas.
> > 
> > 
> > 
> > O mais estranho que tenho outro usuários que consegue listas os objetos
> por
> > essas duas ferramentas, mas um usuário novo não lista nada.
> > 
> > 
> > 
> > Qual sabe dizer se preciso liberar algum outro GRANT ou alguma
> configuração
> > nas ferramentas?
> > 
> > 
> > 
> > É um Banco 9i (Release 9.2.0.8).
> > 
> > 
> > 
> > Grato,
> > 
> > 
> > 
> > Ednilson Silva
> > 
> > 
> > 
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> 
> 
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




RES: [oracle_br] Re: SQL Developer

2013-04-17 Por tôpico Ednilson Silva
Então Chiappa,

 

No PL SQL, em Tools > Preferences vou Oracle > Options e marco a opção Use
DBA Views if Available, que um usuario comum consegue listar os Objetos.

Mas não sei se um problema de versão do PL SQL que não estou mais
conseguindo listar mais os objetos, e queria saber se no SQL Developer teria
algo parecido.

 

Grato

 

Ednilson Silva

 

 

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
nome de J. Laurindo Chiappa
Enviada em: quarta-feira, 17 de abril de 2013 11:22
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Re: SQL Developer

 

  

Bom, não sei no PL/SQL Developer, mas no Oracle SQL Developer Muito
provavelmente o que está contecendo é que ele por default só mostra as
tabelas que PERTENCEM ao usuário conectado... Veja
http://www.thatjeffsmith.com/archive/2013/03/why-cant-i-see-my-tables-in-ora
cle-sql-developer/ para mais detalhes...

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>
, "Ednilson Silva"  escreveu
>
> Bom Dia,
> 
> Estou tentando listar qualquer objeto pelo SQL Developer ou PL SQL
Developer
> com um usuário comum por exemplo e não lista, exemplo: Quando clico em
> Tabelas não lista todas as tabelas, mas com um usuário com GRANT de DBA,
> lista sem problemas.
> 
> 
> 
> O mais estranho que tenho outro usuários que consegue listas os objetos
por
> essas duas ferramentas, mas um usuário novo não lista nada.
> 
> 
> 
> Qual sabe dizer se preciso liberar algum outro GRANT ou alguma
configuração
> nas ferramentas?
> 
> 
> 
> É um Banco 9i (Release 9.2.0.8).
> 
> 
> 
> Grato,
> 
> 
> 
> Ednilson Silva
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>





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



[oracle_br] Re: SQL Developer

2013-04-17 Por tôpico J. Laurindo Chiappa
Bom, não sei no PL/SQL Developer, mas no Oracle SQL Developer Muito 
provavelmente o que está contecendo é que ele por default só mostra as tabelas 
que PERTENCEM ao usuário conectado... Veja 
http://www.thatjeffsmith.com/archive/2013/03/why-cant-i-see-my-tables-in-oracle-sql-developer/
 para mais detalhes...

 []s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, "Ednilson Silva"  
escreveu
>
> Bom Dia,
> 
> Estou tentando listar qualquer objeto pelo SQL Developer ou PL SQL Developer
> com um usuário comum por exemplo e não lista, exemplo: Quando clico em
> Tabelas não lista todas as tabelas, mas com um usuário com GRANT de DBA,
> lista sem problemas.
> 
>  
> 
> O mais estranho que tenho outro usuários que consegue listas os objetos por
> essas duas ferramentas, mas um usuário novo não lista nada.
> 
>  
> 
> Qual sabe dizer se preciso liberar algum outro GRANT ou alguma configuração
> nas ferramentas?
> 
>  
> 
> É um Banco 9i (Release 9.2.0.8).
> 
>  
> 
> Grato,
> 
>  
> 
> Ednilson Silva
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Re: SQL-error "2220-ORA-02220: invalid MINEXTENTS storage option value"

2013-02-25 Por tôpico J. Laurindo Chiappa
  Bem, o erro em si é claro, de acordo com a doc :
  
  "ORA-02220: invalid MINEXTENTS storage option value
Cause: The specified value must be a positive integer less than or equal to 
MAXEXTENTS.
Action: Specify an appropriate value."

 Então é simples, CORRIGIR o comando... Porém há um ponto adicional - vc 
absolutamente Não Diz, mas a msg :
 
 SQL-error "2220."
 
  Claramente Nos Diz que vc NÃO ESTÁ usando a tool Oracle cliente padrão que 
seria o sqlplus (a msg no sqlplus seria apenas "ORA-02220: invalid MINEXTENTS 
storage option value") , então há uma Grande Chance que seja bug na tua tool, 
okdoc ? Nas tools de administração SAP, por exemplo, isso pode acontecer cfrme 
http://sap.ittoolbox.com/groups/technical-functional/sap-basis/sap-ehp5-upgrade-error-2220ora02220-invalid-minextents-storage-4917207
 e http://www.stechno.net/sap-notes.html?view=sapnote&id=1536104  
  
   Então nos diga EXATAMENTE qual tool vc está usando, e de qual maneira, que 
quem usar/tiver a mesma pode palpitar E lógico, uma CHAMADA no Suporte 
dessa tal tool estaria EM ORDER, né ?
   
[]s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, Osvaldo Antonio Santos 
 escreveu
>
> Pessoal poderiam me ajudar com o erro SQL-error "2220-ORA-02220: invalid
> MINEXTENTS storage option value", esta apresentando na criação de uma
> tabela..
> 
> -- 
> Att,
> Osvaldo Antonio dos Santos
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Re: SQL Tunning

2013-02-15 Por tôpico J. Laurindo Chiappa
  Colega, as primeiras coisas primeiro : vc ** TEM CERTEZA ** que esse full 
table scan é o vilão da história ?? Não sei se vc sabe, mas NEM SEMPRE 
"full table scan=RUIM, acesso via índice=BOM", DE FORMA ALGUMA podemos dizer 
que se uma query não usa um índice ela está quebrada necessariamente... Okdoc ?
   Entãp, PLZ pra gente poder começar a dizer qquer coisa nos dê não esse plano 
mixo e genérico, mas sim o Plano de Execução EXTENDIDO E COMPLETO - inclusive 
com as Estimativas e o Real de linhas/tempo (E-ROWS e A_ROWS) - cfrme mostrado 
em 
http://www.oracle-base.com/articles/9i/dbms_xplan.php#gather_plan_statistics_hint
 , BEM como as qtdades totais de linhas E a distribuição de dados geral das 
colunas envolvidas : isso  Isso vai mostrar pra gente se REALMENTE o CBO está 
certo em "pensar" que o FTS vai ser mais performático do que o acesso ao tal 
índice...
   
 []s
 
Chiappa


--- Em oracle_br@yahoogrupos.com.br, Rafael Mendonca  
escreveu
>
> Milton, mas existe uma cláusula where fazendo o JOIN.
> 
> Rodrigo, existe sim. 
> 
> A coluna cod_prod tanto na tabela "PRODUTO_LOJA" como na tabela 
> "multipla_embl" são indexadas
> 
> 
> 
>  De: Rodrigo Mufalani 
> Para: oracle_br@yahoogrupos.com.br 
> Enviadas: Sexta-feira, 15 de Fevereiro de 2013 15:49
> Assunto: Re: [oracle_br] SQL Tunning
>  
> 
>   
>    Existe algum indice na tabela produto_loja para as colunas usadas? Comece 
> por ai!!!
> 
> Enviado por Samsung Mobile
> 
>  Mensagem original 
> De : Rafael Mendonca raffaell.ti77@...> 
> Data: 
> Para: oracle_br@yahoogrupos.com.br 
> Assunto: [oracle_br] SQL Tunning 
> 
> Pessoal, boa tarde.
> Estou com um problema de desempenho no sql abaixo:
> 
> http://nopaste.dk/p20777
> 
> Segue o plano de execução:
> 
> http://nopaste.dk/p20779
> 
> Existe algo nessa query que eu possa modificar para evitar o TABLE ACCESS 
> FULL?
> 
> [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]
>




[oracle_br] Re: SQL Loader - campo de observação tem quebra de linha

2013-01-29 Por tôpico J. Laurindo Chiappa
  Sim, essa é UMA das opções, não a única, mas se encaixou no seu caso, blz ...

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, Ricardo Brambila  escreveu
>
> Chiappa,
> O link do orafaq respondeu minha dúvida.
> Lá mostra a sintaxe de como mudar o delimitador de registros.
> Grato.
> Ricardo Brambila
> 
> On Jan 29, 2013, at 12:12 PM, J. Laurindo Chiappa  wrote:
> 
> >  Óbvio que tem como, e isso é um FAQ, ou seja, uma pergunta comum O que 
> > está acontecendo é que o sqlldr usa como default para fim de registro o 
> > caracter de fim de linha (ou sequencia de caracteres se for M$windows, 
> > enfim), então basicamente vc : 
> > 
> >   - determina um OUTRO caracter para ser usado como fim de registro
> > 
> >   ou
> > 
> >   - monta um registro lógico composto de N registros físicos terminados com 
> > fim de linha, com CONTINUEIF ou CONCATENATE, 
> > http://www.orafaq.com/wiki/SQL*Loader_FAQ#How_does_one_load_multi-line_records.3F
> >  tem um pequeno exemplo
> > 
> >   ou
> > 
> >   - coloca os dados de observação de cada registro num arquivo à parte, a 
> > ser carregado pelo sqlldr (veja a Documentação para alguns exemplos)
> > 
> >   ou
> > 
> >   - deixa essa coluna observação como tamanho fixo, e especifica esse 
> > tamanho no controlfile
> > 
> >   ou
> > 
> >   - vc grava no arquivo além dos dados o Comprimento de cada coluna 
> > observação, e carrega o texto da observação informando esse tamanho
> > 
> >   ou
> > 
> >   - ao invés de sql*loader, vc faz a carga via EXTERNAL TABLE, que aí vc 
> > pode usar as funções todas da linguagem SQL para concatenar linhas, trocar 
> > caracteres, etc
> > 
> >   e derivações. leia 
> > http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:30092999095211#3411793000346089810
> >  que o Autor dá uns exemplinhos de cada um, blz ?
> > 
> >[]s
> > 
> >Chiappa
> > 
> > --- Em oracle_br@yahoogrupos.com.br, Ricardo Brambila  escreveu
> >> 
> >> Bom dia a todos.
> >> 
> >> Oracle10gR2 10.2.0.5.0 Standard Edition
> >> Red Hat Enterprise Edition 5.6
> >> 
> >> Pessoal, tenho um arquivo texto gerado pelo PostgreSQL que contém os dados 
> >> de uma tabela, e preciso importar esses dados num banco Oracle.
> >> Ocorre que essa tabela tem um campo de observação, e o conteúdo desse 
> >> campo tem quebras de linha.
> >> Estou usando o SQL Loader para importar os dados, mas está ocorrendo 
> >> problemas com os registros onde há quebra de linha no conteúdo do campo de 
> >> observação.
> >> Alguém já passou por isso? Existe solução?
> >> 
> >> Obrigado.
> >> Ricardo Brambila
> >> 
> > 
> > 
> > 
> > 
> > 
> > 
> > --
> >> 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
> > 
> >
>




[oracle_br] Re: SQL Loader - campo de observação tem quebra de linha

2013-01-29 Por tôpico J. Laurindo Chiappa
  Óbvio que tem como, e isso é um FAQ, ou seja, uma pergunta comum O que 
está acontecendo é que o sqlldr usa como default para fim de registro o 
caracter de fim de linha (ou sequencia de caracteres se for M$windows, enfim), 
então basicamente vc : 
  
   - determina um OUTRO caracter para ser usado como fim de registro
   
   ou
   
   - monta um registro lógico composto de N registros físicos terminados com 
fim de linha, com CONTINUEIF ou CONCATENATE, 
http://www.orafaq.com/wiki/SQL*Loader_FAQ#How_does_one_load_multi-line_records.3F
 tem um pequeno exemplo
   
   ou
   
   - coloca os dados de observação de cada registro num arquivo à parte, a ser 
carregado pelo sqlldr (veja a Documentação para alguns exemplos)
   
   ou
   
   - deixa essa coluna observação como tamanho fixo, e especifica esse tamanho 
no controlfile
   
   ou
   
   - vc grava no arquivo além dos dados o Comprimento de cada coluna 
observação, e carrega o texto da observação informando esse tamanho
   
   ou
   
   - ao invés de sql*loader, vc faz a carga via EXTERNAL TABLE, que aí vc pode 
usar as funções todas da linguagem SQL para concatenar linhas, trocar 
caracteres, etc
   
   e derivações. leia 
http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:30092999095211#3411793000346089810
 que o Autor dá uns exemplinhos de cada um, blz ?
   
[]s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, Ricardo Brambila  escreveu
>
> Bom dia a todos.
> 
> Oracle10gR2 10.2.0.5.0 Standard Edition
> Red Hat Enterprise Edition 5.6
> 
> Pessoal, tenho um arquivo texto gerado pelo PostgreSQL que contém os dados de 
> uma tabela, e preciso importar esses dados num banco Oracle.
> Ocorre que essa tabela tem um campo de observação, e o conteúdo desse campo 
> tem quebras de linha.
> Estou usando o SQL Loader para importar os dados, mas está ocorrendo 
> problemas com os registros onde há quebra de linha no conteúdo do campo de 
> observação.
> Alguém já passou por isso? Existe solução?
> 
> Obrigado.
> Ricardo Brambila
>




[oracle_br] Re: sql tuning advisor oracle

2012-03-09 Por tôpico José Laurindo
  Bem, sobre o Tuning Advisor, 
http://www.oracle-base.com/articles/10g/AutomaticSQLTuning10g.php é uma 
excelente referência, bem como o manual de tuning, mas esteja ciente de alguns 
pontos :
  
  - pra ter direito de usar esse cara vc TEM QUE TER licenciadas as opções 
EXTRAS necessárias, que tem custo à parte - iirc são o Oracle Tuning Pack e o  
Oracle Diagnostic Pack, mas confira direitinho no manual de licenciamento da 
sua versão (a qual, pra variar, vc não diz mas isso vale pra todas as versões 
suportadas hoje em dia, creio)
  
  - esse cara *** NÃO *** faz milagre : ele é útil, te dá alguns insights 
interessantes às vezes (tipo sugerir índices e sql profiles), mas nem sempre 
acerta, Especialmente quando é um join relativamente complexo de muitas tabelas 
: então vale a pena o tentar, mas não tenha a expectativa de ele ser o salvador 
da lavoura, que nem sempre isso acontece
  
  - há outros elementos de Tuning de SQL no 10g e acima, 
http://www.vldb.org/conf/2004/IND4P2.PDF dá uma visão geral, embora (óbvio) não 
substitua o estudo via manual de tuning e manual de referência, Bem Como bons 
livros de referência, como os do Guy Harrison, do Tom Kyte, Jonathan Lewis, 
Christian Antognini ...  
  
   Sobre a query em si, alguns comentários :
   
   - vi que vc está chamando uma função  wm_concat no meio de uma query, via de 
regra se der pra evitar chamar funções é melhor
   
   - vc modifica algumas colunas, com nvl , trunc e coisas do tipo : alguma 
chance dessas colunas serem indexadas e a modificação estar fazendo perder o 
uso do índice ?
   
- imagino que vc saiba que esse /*+ APPEND */ num SELECT é ** absolutamente 
**, ** totalmente ** indevido e não funcional, esse HINT só funciona com 
INSERTs , e em situaçõe smuito específicas

- vi que vc usa bastante sub-queries com SELECT MAX  , provavelmente 
pra buscar o maior valor de uma informação : SE isso só precisa ser feito uma 
vez, pense com carinho na possibilidade de usar WITH , SE não dá um look em 
http://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:9843506698920
 e 
http://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:1594885400346999596
 para algumas discussões relacionadas e idéias 
  
 ==> Pelo situação que vc descreve, porém, penso que nenhuma dessas obs vai te 
ajudar muito, e não tem jeito, é fazer MESMO o processo de tuning da query...   
 Observo que :
 
 a. passo ZERO, antes de vc fazer qquer coisa, é ENTENDER O PROBLEMA : é 
rigorosamente IMPOSSÍVEL vc fazer um bom tuning se não tem certeza de quais 
tabelas são obrigatórias e quais não, se os OUTER JOINs que tão aí são 
REALMENTE necessários, a ordem em que a informação deve ser lida, quais Índices 
existem e de que tipo, a Cardinalidade (qtdade de linhas) total e a retornada 
por cada SELECT pra cada tabela) , uma BOA idéia da distribuição de dados (ie, 
qual condição retorna mais ou menos linhas, se uma dada condição é Predominante 
nos seus dados, etc),sem saber fisicamente como as tabelas e índices estão 
criados/distribuídos (isso principalmente pra poder avaliar se um eventual 
table scan está lendo muito bloco em branco, se tem HWM extremamente alto, se 
tem tabela com cópia de dados recém-criada em uso, tipo isso), tem que saber 
Exatamente COMO & QUANDO as estatísticas estão sendo coletadas, coisas assim
 
 b. com a info toda nas mãos, aí é tentar extrair o Plano real de execução 
desse negócio , encontrar os trechos mais complexos/demorados,  testar a query 
com esses trechos removidos (ou super-simplificados ao extremo), re-escrever 
usando métodos de acesso diferentes, que resultem em planos diferentes (vale 
até pra testes inserir HINTs no meio), é por aí 
 
 []s
 
   Chiappa

--- Em oracle_br@yahoogrupos.com.br, Samuel Santos  escreveu
>
> Pessoal,
> Bom Dia!
> 
> Tenho uma consulta no qual está demorando (3 horas) muito tempo para retorar 
> os dados, sendo assim gostaria de utilizar sql tuning advisor - oracle.
> Nunca utilizei este recurso, mas gostaria de aprender a utilizar de modo que 
> me auxilie a indentificar os problemas encontrados em minha consulta.
> 
> 
> Será que podem me ajudar?
> 
>  
> Segue a consulta abaixo
> 
> 
> 
> select /*+APPEND*/
>    ac.id id_atendimento,
>    ca.numero contrato,
>    tp.numero_protocolo,
>    fu.nome_login as login_usuario,
>    pe.nome as nome_usuario,
>    gp.nome as area,
>    acm.nome as motivo,
>    ac.observacao_usuario,
>    ac.numero_protocolo as numero_registro,
>    --'' numero_registro,
>    ac.data_inicio,
>    ac.data_criacao data_abertura,
>    ac.data_fim,
>    ac.id_dono_contrato_assinante,
>    tp.inicio_atendimento,
>    fim_atendimento,
>    p.nome as nome_cliente,
>    p.cgc_cpf,
>    c.nome as cidade,
>    e.copia_bairro as bairro,
>    e.copia_cep as cep,
>    e.copia_uf as uf,
>    (select wm_concat(decode(ct.meio, 'A', 'AD',
>   

[oracle_br] Re: SQL LOADER

2011-11-17 Por tôpico José Laurindo
  Bom, primeiro eu não conhecia essa coisa ainda, então fui no pai dos burros 
(nosso amigo google) e em http://en.wikipedia.org/wiki/Lilian_date descobri que 
esse negócio nada mais é do que o número de dias decorridos desde 15 de Outubro 
de 1582 da nossa era. Segundo, no manual Oracle apropriado ("Oracle® Database 
SQL Reference" na entrada de "Format Models" a gente vê que pra converter um 
número representando qtdade de dias pra data full basicamente o RDBMS nos dá o 
J, que é a data Juliana (qtdade de dias desde 01 de Janeiro de 4712 antes de 
Cristo).
  Sendo assim, há um gap, um intervalo entre dias Lilian e dias Julian, que 
pode ser calculado via aritmética de datas :
  
SYSTEM@O10GR2:SQL>alter session set NLS_DATE_FORMAT='dd/mm/ hh24:mi:ss BC';

Sessão alterada.

SYSTEM@O10GR2:SQL>alter session set NLS_LANGUAGE='ENGLISH';

Session altered.

SYSTEM@O10GR2:SQL>select to_date(1, 'J') from dual;

TO_DATE(1,'J')
--
01/01/4712 00:00:00 BC

SYSTEM@O10GR2:SQL>select sysdate from dual;

SYSDATE
--
17/11/2011 17:57:34 AD

SYSTEM@O10GR2:SQL>select to_date('15/10/1582 00:00:00 AD', 'dd/mm/ 
hh24:mi:ss BC') - to_date('01/01/4712 00:00:00 BC', 'dd/mm/ hh24:mi:ss BC') 
from dual;

TO_DATE('15/10/158200:00:00AD','DD/MM/HH24:MI:SSBC')-TO_DATE('01/01/471200:00:00BC','DD/MM/HH24:MI:SSBC')
-

  2299160

==> Aí fica fácil, basta a gente Adicionar o gap que vc pode usar o formato 
Julian :

SYSTEM@O10GR2:SQL>select to_date(1 + 2299160, 'J') LILIAN_DATE from dual;

LILIAN_DATE
--
15/10/1582 00:00:00 AD

=> Portanto, a conversão correta da LILIAN 40497 para data full seria :

SYSTEM@O10GR2:SQL>select to_date(40497 + 2299160, 'J') LILIAN_DATE from dual;

LILIAN_DATE
--
29/08/1693 00:00:00 AD

É isso, vc teria que no controlfile do seu sql*loader ter a coluna com o valor 
numérico ADICIONADA do gap, e depois esse resultado vc transforma em data com 
máscara J ...

 []s
 
   Chiappa

--- Em oracle_br@yahoogrupos.com.br, Eduardo Souza  escreveu
>
> Caros amigos,
> 
> estou construindo um sql loader e tenho um campo data no formato LILIAN
> DATE.  Inclui o formato (DATE MASK "J") mas a data gerada projeta outro
> ano.
> 
> Os dados em questão são os seguintes:
> 
> LILIAN DATE =  40497
> 
> Data resultante = 16/11/4602
> 
> Tal qual o resultado da query abaixo:
> 
> select to_date('40497','j') from dual;
> 
> 
> 
> Alguém sabe de tem mais algum parametro na máscara do SQL LOADER para que a
> data seja corretamente convertida?
> 
> 
> 
> Grande abraço.
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Re: SQL Injection

2011-11-03 Por tôpico José Laurindo
 Veja que eu não inventei esse negócio, é um assunto bem antigo, e já muito 
discutido : já virou até piada, em http://bobby-tables.com/ o cara mostra um 
cartoon bem antiguinho, mas ainda válido, tanto como piada técnica quanto nas 
considerações técnicas feitas ...

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, Jefferson Silva  
escreveu
>
> Caramba , q aula... esse cara é bom msm... rsrs
> 
> 
> 
> 
> De: José Laurindo 
> Para: oracle_br@yahoogrupos.com.br
> Enviadas: Terça-feira, 1 de Novembro de 2011 14:37
> Assunto: [oracle_br] Re: SQL Injection
> 
> 
>   
> Vamos começar definindo o que é esse coiso : numa explicação bem rasteira 
> (pesquise em http://www.petefinnigan.com/weblog/entries/ e 
> http://asktom.oracle.com para mais detalhes ), SQL Injection ocorre quando vc 
> tem um SQL dinâmico  , aonde o usuário pode informar parte do texto do SQL E 
> a aplicação não valida o que o usuário entra, se um usuário mal-intencionado  
> entrar comandos SQL adequadamente formatados nessa string esse comandos são 
> executados...
> Um exemplo ridiculamente simples, mas pra vc entender : digamos que eu tenha 
> numa tabela chamada EMP uma coluna SAL, que o usuário não deveria poder 
> acessar , tipo : 
> 
> SCOTT@O10GR2:SQL>desc emp
> Nome  Nulo?Tipo
> -  
> 
> EMPNO NOT NULL NUMBER(4)
> ENAME  VARCHAR2(10)
> JOBVARCHAR2(9)
> MGRNUMBER(4)
> HIREDATE   DATE
> SALNUMBER(7,2)
> COMM   NUMBER(7,2)
> DEPTNO NUMBER(2)
> 
> e o asninho do desenvolvedor queria dar pro usuário final uma consulta que 
> mostra o código (EMPNO) e o nome do empregado (ENAME), mas com a 
> característica de que é o próprio usuário final que informa numa string o 
> nome do empregado a consultar :
> 
> SCOTT@O10GR2:SQL>select empno, ename from emp where ename = &V_NOME
> 
> parece ser inocente, né ? E realmente, se o usuário informar o nome só, 
> funciona normalmente :
> 
> SCOTT@O10GR2:SQL>/
> 
> Informe o valor para v_nome: 'MILLER'
> antigo   1: select empno, ename from emp where ename = &V_NOME
> novo   1: select empno, ename from emp where ename = 'MILLER'
> 
> EMPNO ENAME
> -- --
> 7934 MILLER
> 
> => legal... Agora suponha um usuário um pouquinho mais esperto e 
> mal-intencionado, que coloca comandos SQLs dentro da string , ó o que 
> acontece :
> 
> SCOTT@O10GR2:SQL>/
> Informe o valor para v_nome: ename UNION select sal, ename from emp
> antigo   1: select empno, ename from emp where ename = &V_NOME
> novo   1: select empno, ename from emp where ename = ename UNION select sal, 
> ename from emp
> 
> EMPNO ENAME
> -- --
> 800 SMITH
> 950 JAMES
> 1100 ADAMS
> 1250 MARTIN
> 1250 WARD
> 1300 MILLER
> 1500 TURNER
> 1600 ALLEN
> 2450 CLARK
> 2850 BLAKE
> 2975 JONES
> 3000 FORD
> 3000 SCOTT
> 5000 KING
> 7369 SMITH
> 7499 ALLEN
> 7521 WARD
> 7566 JONES
> 7654 MARTIN
> 7698 BLAKE
> 7782 CLARK
> 7788 SCOTT
> 7839 KING
> 7844 TURNER
> 7876 ADAMS
> 7900 JAMES
> 7902 FORD
> 7934 MILLER
> 
> 28 linhas selecionadas.
> 
> ==> taí, o comando SQL informado foi concatenado ao texto, e como estava 
> sintaticamente correto foi executado - como resultado não-esperado pelo 
> programador, o usuário malicioso obteve o conteúdo da coluna SAL , embora o 
> título da coluna mostre EMPNO ... Veja que foi isso mesmo que aconteceu :
> 
> SCOTT@O10GR2:SQL>select ename, sal from emp;
> 
> ENAME SAL
> -- --
> SMITH 800
> ALLEN1600
> WARD 1250
> JONES2975
> MARTIN   1250
> BLAKE2850
> CLARK2450
> SCOTT3000
> KING 5000
> TURNER   1500
> ADAMS1100
> JAMES 950
> FORD 3000
> MILLER   1300
> 
> 14 linhas selecionadas.
> 
> SCOTT@O10GR2:SQL> 
> 
> ===> OK ? Com isso ficou super-simples de te responder as suas perguntas :
> 
> a. SQL Injection *** NÂO *** é de modo al

Re: [oracle_br] Re: SQL Injection

2011-11-03 Por tôpico Jefferson Silva
Caramba , q aula... esse cara é bom msm... rsrs




De: José Laurindo 
Para: oracle_br@yahoogrupos.com.br
Enviadas: Terça-feira, 1 de Novembro de 2011 14:37
Assunto: [oracle_br] Re: SQL Injection


  
Vamos começar definindo o que é esse coiso : numa explicação bem rasteira 
(pesquise em http://www.petefinnigan.com/weblog/entries/ e 
http://asktom.oracle.com para mais detalhes ), SQL Injection ocorre quando vc 
tem um SQL dinâmico  , aonde o usuário pode informar parte do texto do SQL E a 
aplicação não valida o que o usuário entra, se um usuário mal-intencionado  
entrar comandos SQL adequadamente formatados nessa string esse comandos são 
executados...
Um exemplo ridiculamente simples, mas pra vc entender : digamos que eu tenha 
numa tabela chamada EMP uma coluna SAL, que o usuário não deveria poder acessar 
, tipo : 

SCOTT@O10GR2:SQL>desc emp
Nome  Nulo?Tipo
-  
EMPNO NOT NULL NUMBER(4)
ENAME  VARCHAR2(10)
JOBVARCHAR2(9)
MGRNUMBER(4)
HIREDATE   DATE
SALNUMBER(7,2)
COMM   NUMBER(7,2)
DEPTNO NUMBER(2)

e o asninho do desenvolvedor queria dar pro usuário final uma consulta que 
mostra o código (EMPNO) e o nome do empregado (ENAME), mas com a característica 
de que é o próprio usuário final que informa numa string o nome do empregado a 
consultar :

SCOTT@O10GR2:SQL>select empno, ename from emp where ename = &V_NOME

parece ser inocente, né ? E realmente, se o usuário informar o nome só, 
funciona normalmente :

SCOTT@O10GR2:SQL>/

Informe o valor para v_nome: 'MILLER'
antigo   1: select empno, ename from emp where ename = &V_NOME
novo   1: select empno, ename from emp where ename = 'MILLER'

EMPNO ENAME
-- --
7934 MILLER

=> legal... Agora suponha um usuário um pouquinho mais esperto e 
mal-intencionado, que coloca comandos SQLs dentro da string , ó o que acontece :

SCOTT@O10GR2:SQL>/
Informe o valor para v_nome: ename UNION select sal, ename from emp
antigo   1: select empno, ename from emp where ename = &V_NOME
novo   1: select empno, ename from emp where ename = ename UNION select sal, 
ename from emp

EMPNO ENAME
-- --
800 SMITH
950 JAMES
1100 ADAMS
1250 MARTIN
1250 WARD
1300 MILLER
1500 TURNER
1600 ALLEN
2450 CLARK
2850 BLAKE
2975 JONES
3000 FORD
3000 SCOTT
5000 KING
7369 SMITH
7499 ALLEN
7521 WARD
7566 JONES
7654 MARTIN
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7844 TURNER
7876 ADAMS
7900 JAMES
7902 FORD
7934 MILLER

28 linhas selecionadas.

==> taí, o comando SQL informado foi concatenado ao texto, e como estava 
sintaticamente correto foi executado - como resultado não-esperado pelo 
programador, o usuário malicioso obteve o conteúdo da coluna SAL , embora o 
título da coluna mostre EMPNO ... Veja que foi isso mesmo que aconteceu :

SCOTT@O10GR2:SQL>select ename, sal from emp;

ENAME SAL
-- --
SMITH 800
ALLEN1600
WARD 1250
JONES2975
MARTIN   1250
BLAKE2850
CLARK2450
SCOTT3000
KING 5000
TURNER   1500
ADAMS1100
JAMES 950
FORD 3000
MILLER   1300

14 linhas selecionadas.

SCOTT@O10GR2:SQL> 

===> OK ? Com isso ficou super-simples de te responder as suas perguntas :

a. SQL Injection *** NÂO *** é de modo algum exclusividade de aplicações web, 
já que SQL dinâmico tranquilamente Pode Ser usado em client/server, também...

b. como mostrado, NÂO é uma questão do database, é aplicação mal-feita, bug na 
aplicação, portanto NENHUM "parâmetro" ou ação no database pode impedir

c. a camada de rede não tem NADA vezes NADA a ver com o assunto (como mostrado, 
a aplicação está fazendo a besteira que foi mandada a fazer), não tem como na 
camada de rede vc detectar usuário aproveitando-se de brecha na aplicação... 

==>  Já que Redes não tem como atuar, e no banco de dados também não há como 
identificar se o texto do SQL enviado é o que o programador queria ou não, se 
teve partes adicionais coladas ou não, fica óbvio que a única camada que pode 
resolver a questão é a Aplicação, e as boas práticas são :

1. SEMPRE, aonde possível, evitar código SQL dinâmico

2. Aonde for realmente, totalmente, completamente,  absolutamente inevitável a 
porcaria do SQL dinâmico, usar BIND VARIABLES (ie, a

[oracle_br] Re: SQL Injection

2011-11-01 Por tôpico José Laurindo
Vamos começar definindo o que é esse coiso : numa explicação bem rasteira 
(pesquise em http://www.petefinnigan.com/weblog/entries/ e 
http://asktom.oracle.com para mais detalhes ), SQL Injection ocorre quando vc 
tem um SQL dinâmico  , aonde o usuário pode informar parte do texto do SQL E a 
aplicação não valida o que o usuário entra, se um usuário mal-intencionado  
entrar comandos SQL adequadamente formatados nessa string esse comandos são 
executados...
  Um exemplo ridiculamente simples, mas pra vc entender : digamos que eu tenha 
numa tabela chamada EMP uma coluna SAL, que o usuário não deveria poder acessar 
, tipo : 

  SCOTT@O10GR2:SQL>desc emp
 Nome  Nulo?Tipo
 -  
 EMPNO NOT NULL NUMBER(4)
 ENAME  VARCHAR2(10)
 JOBVARCHAR2(9)
 MGRNUMBER(4)
 HIREDATE   DATE
 SALNUMBER(7,2)
 COMM   NUMBER(7,2)
 DEPTNO NUMBER(2)

 e o asninho do desenvolvedor queria dar pro usuário final uma consulta que 
mostra o código (EMPNO) e o nome do empregado (ENAME), mas com a característica 
de que é o próprio usuário final que informa numa string o nome do empregado a 
consultar :
 
 SCOTT@O10GR2:SQL>select empno, ename from emp where ename = &V_NOME
 
 parece ser inocente, né ? E realmente, se o usuário informar o nome só, 
funciona normalmente :
 
SCOTT@O10GR2:SQL>/

Informe o valor para v_nome: 'MILLER'
antigo   1: select empno, ename from emp where ename = &V_NOME
novo   1: select empno, ename from emp where ename = 'MILLER'

 EMPNO ENAME
-- --
  7934 MILLER

=> legal... Agora suponha um usuário um pouquinho mais esperto e 
mal-intencionado, que coloca comandos SQLs dentro da string , ó o que acontece :

SCOTT@O10GR2:SQL>/
Informe o valor para v_nome: ename UNION select sal, ename from emp
antigo   1: select empno, ename from emp where ename = &V_NOME
novo   1: select empno, ename from emp where ename = ename UNION select sal, 
ename from emp

 EMPNO ENAME
-- --
   800 SMITH
   950 JAMES
  1100 ADAMS
  1250 MARTIN
  1250 WARD
  1300 MILLER
  1500 TURNER
  1600 ALLEN
  2450 CLARK
  2850 BLAKE
  2975 JONES
  3000 FORD
  3000 SCOTT
  5000 KING
  7369 SMITH
  7499 ALLEN
  7521 WARD
  7566 JONES
  7654 MARTIN
  7698 BLAKE
  7782 CLARK
  7788 SCOTT
  7839 KING
  7844 TURNER
  7876 ADAMS
  7900 JAMES
  7902 FORD
  7934 MILLER

28 linhas selecionadas.

==> taí, o comando SQL informado foi concatenado ao texto, e como estava 
sintaticamente correto foi executado - como resultado não-esperado pelo 
programador, o usuário malicioso obteve o conteúdo da coluna SAL , embora o 
título da coluna mostre EMPNO ... Veja que foi isso mesmo que aconteceu :

SCOTT@O10GR2:SQL>select ename, sal from emp;

ENAME SAL
-- --
SMITH 800
ALLEN1600
WARD 1250
JONES2975
MARTIN   1250
BLAKE2850
CLARK2450
SCOTT3000
KING 5000
TURNER   1500
ADAMS1100
JAMES 950
FORD 3000
MILLER   1300

14 linhas selecionadas.

SCOTT@O10GR2:SQL>  

===> OK ? Com isso ficou super-simples de te responder as suas perguntas :

a. SQL Injection *** NÂO *** é de modo algum exclusividade de aplicações web, 
já que SQL dinâmico tranquilamente Pode Ser usado em client/server, também...

b. como mostrado, NÂO é uma questão do database, é aplicação mal-feita, bug na 
aplicação, portanto NENHUM "parâmetro" ou ação no database pode impedir

c. a camada de rede não tem NADA vezes NADA a ver com o assunto (como mostrado, 
a aplicação está fazendo a besteira que foi mandada a fazer), não tem como na 
camada de rede vc detectar usuário aproveitando-se de brecha na aplicação... 

==>  Já que Redes não tem como atuar, e no banco de dados também não há como 
identificar se o texto do SQL enviado é o que o programador queria ou não, se 
teve partes adicionais coladas ou não, fica óbvio que a única camada que pode 
resolver a questão é a Aplicação, e as boas práticas são :

1. SEMPRE, aonde possível, evit

[oracle_br] Re: SQL ACCESS ADVISOR

2010-08-26 Por tôpico José Laurindo
Pela jeito da msg ele está rejeitando essa ECOMEX_INDEXES como uma tablespace 
válida : ela realmente Existe, está ONLINE, há Quota nela ?? Se sim, manda via 
sqlplus um step-by-step, ** CURTO mas reprodizível ** , com o CREATE do seu 
template e da tablespace, E citando a versão exata do seu banco Oracle 9release 
com 4 dígitos, Edition, SO), que a gente pode dar uma espiada/tentar 
reproduzir...

 []s

  Chiappa



--- Em oracle_br@yahoogrupos.com.br, Marcelo Grimberg  escreveu
>
> Pessoal
> 
> Estou criando e testando SQL ACCESS ADVISOR, até entao eu criei uma template
> e estou definindo os parametros e está apresentando esse erroa ao fixar esse
> parametro
> 
> SQL> execute dbms_advisor.set_task_parameter (:template_name,
> 'DEF_INDEX_TABLESPACE', 'ECOMEX_INDEXES');
> BEGIN dbms_advisor.set_task_parameter (:template_name,
> 'DEF_INDEX_TABLESPACE', 'ECOMEX_INDEXES'); END;
> 
> *
> ERROR at line 1:
> ORA-13600: error encountered in Advisor
> QSM-00750: the specified value ECOMEX_INDEXES for parameter
> DEF_INDEX_TABLESPACE is invalid or contains an invalid item
> ORA-06512: at "SYS.PRVT_ADVISOR", line 2931
> ORA-06512: at "SYS.DBMS_ADVISOR", line 287
> ORA-06512: at line 1
> 
> 
> alguém poderia me ajudar
> 
> 
> Marcelo Grimberg
> Cel: +55 19-8197-3405
> MSN: marcelog...@...
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Re: SQL

2010-03-22 Por tôpico José Laurindo
Bom, antes de responder deixa eu fazer uma obs : realmente, um full table scan 
numa tabela grande é algo que não faz sentido se fazer 2x, MAS também não faz 
sentido se fazer ** nem uma ** vez também, se puder ser evitado... Tipo, se eu 
sou um pé-rapado e tenho uma dívida de 2 milhões de reais, se eu reduzir em 50% 
1 milhão CONTINUA sendo impagável pra mim - de forma semelhante, é ok vc querer 
não fazer 2x o fts mas mesmo um fts só ** VAI SER DEMORADO ** numa tabela 
grande, com certeza se for algo a ser repetido constantemente isso DEVERIA ser 
evitado, alterando-se o modelo (pra ser ter um view materializada que traga o 
resultado, pra se ter um índice de função que traga só quem vc quer), sei lá , 
o que for e como for possível... 

 Fecha parênteses da obs, a resposta : com o GROUP BY não tem como, ele 
"transforma" o registro lógico de forma que N linhas virem uma só, com ele não 
tem como vc ter o agrupado E ter o detalhe ao mesmo tempo...  O que vc poderia 
fazer é usar as FUNÇÕES ANALÍTICAS, logicamente falando o que elas fazem é 
'guardar' valores lidos anteriormente num resultset, permitindo que vc monte 
grupos, conte diferenças, tire médias, mas sem agrupar 'fisicamente' como o 
GRIUP BY faz...  Um exemplo curto :
 
 sc...@o10gr2:SQL>SELECT empno, ename, deptno from emp;
 
  EMPNO ENAME  DEPTNO
 -- -- --
   7369 SMITH  20
   7499 ALLEN  30
   7521 WARD   30
   7566 JONES  20
   7654 MARTIN 30
   7698 BLAKE  30
   7782 CLARK  10
   7788 SCOTT  20
   7839 KING   10
   7844 TURNER 30
   7876 ADAMS  20
   7900 JAMES  30
   7902 FORD   20
   7934 MILLER 10
   1234 CHIAPPA40
    teste  10
 
 16 linhas selecionadas.
 
=> legal, digamos que quero saber qual DEPTNO tem mais de um func, digamos que 
eu faça uma contagem por DEPTNO :

 sc...@o10gr2:SQL>SELECT empno, deptno,  COUNT(*) OVER (PARTITION BY  deptno) 
DEPT_COUNT FROM emp;
 
  EMPNO DEPTNO DEPT_COUNT
 -- -- --
   7934 10  4
   7782 10  4
    10  4
   7839 10  4
   7788 20  5
   7369 20  5
   7876 20  5
   7902 20  5
   7566 20  5
   7900 30  6
   7844 30  6
   7698 30  6
   7654 30  6
   7521 30  6
   7499 30  6
   1234 40  1
 
 16 linhas selecionadas.
 
sc...@o10gr2:SQL>

==> ficou fácil, basta eu filtrar aonde a contagem for > 1 :

sc...@o10gr2:SQL>select * from (SELECT empno, deptno,  COUNT(*) OVER (PARTITION 
BY  deptno) DEPT_COUNT FROM emp)
  2  where dept_count > 1;

 EMPNO DEPTNO DEPT_COUNT
-- -- --
  7934 10  4
  7782 10  4
   10  4
  7839 10  4
  7788 20  5
  7369 20  5
  7876 20  5
  7902 20  5
  7566 20  5
  7900 30  6
  7844 30  6
  7698 30  6
  7654 30  6
  7521 30  6
  7499 30  6

15 linhas selecionadas.

==> blz ??? Dá uma estudada nos manuais referentes pra pegar a sintaxe e a 
lógica de funcionamento (SQL Reference principalmente), e checah os livros e no 
site dio asktom (http://asktom.oracle.com) e googleia que vc acha n+1 refs 
sobre Analytics pra

Re: [oracle_br] Re: Sql Dinamico - dbms_sql.NATIVE ou Bind Variable

2010-03-04 Por tôpico Fernando Franquini 'capin'
Chiappa,

é isso ai mesmo que eu tava precisando.
Quanto ao SQL INJECTION sei do problema, obrigado pela lembrança.

Muito grato pela atenção.

Att,
-- 
Fernando Franquini - Capin
Bacharel em Ciencias da Computacao - UFSC
Analista de Sistemas / DBA
emails: ferna...@wf5.com.br / fernando.franqu...@gmail.com
Celular: (48) 99024047
Florianópolis - SC - Brasil
www.wf5.com.br
2010/3/3 José Laurindo 

> Colega, pelo que entendi a sua questão deriva do que é explicado em
> http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:227413938857#tom2399952100346619006,
>  ie : vc só pode bindar os VALORES normalmente INFORMADOS PELO USUÀRIO,
> itens como colunas, elementos de sintaxe (como as palavras-chave WHERE,
> ORDER, etc) Não São 'valores' , na sintaxe SQL normal isso é considerado um
> elemento fixo ... Imagine que vc tem um SQL tipo :
>
> SELECT CODIGO, NOME FROM TABELA WHERE CODIGO = valordesejado;
>
> Esse 'valordesejado' é alguma coisa que o database RECEBE DE FORA ,
> absolutamete não faz parte da sintaxe, e não pode ser validado dentro do
> banco, é informação recebida, então esse cara PODE ser bindado, o resto em
> MAIUSC não pode, OU é palavra-chave OU é informação a ser validada dentro do
> banco...
>  Para se tentar evitar SQL dinâmico (que como se sabe tem Overhead, SEMPRE
> implica num parse, é Extraordinariamente mais difícil de debugar em muitos
> casos, etc, etc) , uma opção muitas vezes pode ser um truque como :
>
>  SELECT COLUNAS FROM TABELA
>  WHERE COLUNA1 = NVL(:PARAM1, COLUNA1)
>   AND COLUNA2 = NVL(:PARAM2, COLUNA2)... etc ...
>
> Ou ter CONTEXTS representando os valores a bindar (procure no asktom mesmo
> por DYNAMIC e CONTEXT que vc acha várias refs
>
> E obs final : caso REALMENTE vc tenha mesmo que usar SQL dinâmico, 2
> recomendações :
>
>  a) veja a opção de EXECUTE IMMEDIATE, se vc sabe a qtdade/relação de
> colunas via de regra a sintaxe dele é um pouco mais amigável
>
>  e
>
>  b) vc TEM QUE TER um filtro, uma VALIDAÇÃO para os elementos que vc vai
> concatenar, sob pena de possibilitar SQL INJECTION, no mesmo site pesquise
> pra saber mais se não estava ciente da questão
>
>  []s
>
>   Chiappa
>
>
> --- Em oracle_br@yahoogrupos.com.br, "Fernando Franquini 'capin'"
>  escreveu
> >
> > Senhores,
> >
> > eu tenho um problema em um SQL Dinamico.
> > Vou montar o exemplo:
> >
> > Tenho o SQL abaixo que FUNCIONA (sei que não é a melhor forma, por isso
> > estou procurando outra):
> >
> > vsql || 'Select CD_A, NM_A, NM_B, NM_C, UF, NM_D';
> > vsql := vsql || '  From TABELA Where ';
> > vsql := vsql || coluna_Sql || ' = ''' || filtro_Sql || ;
> > vsql := vsql || ' order  by ' || campo_Ordenacao || ' ' ||
> > tipo_Ordenacao;
> >
> > Tentei utilizar bind variables (mas nao consegui fazer funcionar o
> parametro
> > de COLUNA)
> > Bind como parte da estrutura de tabela do SQL (parametro coluna_sql) NÃO
> > FUNCIONA.
> >
> > vsql || 'Select CD_A, NM_A, NM_B, NM_C, UF, NM_D';
> > vsql := vsql || '  From TABELA Where ';
> > vsql := vsql || :1 || ' = ''' || :2 || ;
> > vsql := vsql || ' order  by ' || :3 || ' ' || :4;
> > USING coluna_Sql, filtro_Sql, campo_Ordenacao, tipo_Ordenacao
> >
> > coluna_Sql : parametro que o usuario passa escolhendo quais colunas da
> > tabela ele vai usar para comparar
> > filtro_Sql : parametro que o usuario passa para ser comparado
> > campo_Ordenacao : parametro que o usuario quer ordenar a pesquisa
> > tipo_Ordenacao : parametro desc ou asc
> >
> > exemplo de parametros:
> > coluna_Sql : UF
> > filtro_Sql : SC
> > campo_Ordenacao : NM_A
> > tipo_Ordenacao : DESC
> >
> > coluna_Sql : NM_C
> > filtro_Sql : 'Capinzal'
> > campo_Ordenacao : NM_B
> > tipo_Ordenacao : ASC
> >
> > Sei que teria como fazer algo como:
> > dbms_sql.parse(retorna_cursor, vsql , dbms_sql.NATIVE);
> >
> > Minha pergunta é se eu executar da forma acima (dbms_sql.NATIVE) o sql
> vai
> > ser sempre recompilar?? Seria a mesma coisa que executar direto o vsql no
> > OPNE retorna_cursor FOR??
> >
> > Caso nao tenha sido bem claro e puderem me ajudar eu agradeço.
> >
> > Att,
> > --
> > Fernando Franquini - Capin
> > Bacharel em Ciencias da Computacao - UFSC
> > Analista de Sistemas / DBA
> > emails: ferna...@... / fernando.franqu...@...
> > Celular: (48) 99024047
> > Florianópolis - SC - Brasil
> > www.wf5.com.br
> >
> >
> > [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_br] Re: Sql Dinamico - dbms_sql.NATIVE ou Bind Variable

2010-03-03 Por tôpico José Laurindo
Colega, pelo que entendi a sua questão deriva do que é explicado em 
http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:227413938857#tom2399952100346619006
 , ie : vc só pode bindar os VALORES normalmente INFORMADOS PELO USUÀRIO, itens 
como colunas, elementos de sintaxe (como as palavras-chave WHERE, ORDER, etc) 
Não São 'valores' , na sintaxe SQL normal isso é considerado um elemento fixo 
... Imagine que vc tem um SQL tipo :

SELECT CODIGO, NOME FROM TABELA WHERE CODIGO = valordesejado;

Esse 'valordesejado' é alguma coisa que o database RECEBE DE FORA , 
absolutamete não faz parte da sintaxe, e não pode ser validado dentro do banco, 
é informação recebida, então esse cara PODE ser bindado, o resto em MAIUSC não 
pode, OU é palavra-chave OU é informação a ser validada dentro do banco... 
 Para se tentar evitar SQL dinâmico (que como se sabe tem Overhead, SEMPRE 
implica num parse, é Extraordinariamente mais difícil de debugar em muitos 
casos, etc, etc) , uma opção muitas vezes pode ser um truque como :
 
 SELECT COLUNAS FROM TABELA
 WHERE COLUNA1 = NVL(:PARAM1, COLUNA1)
   AND COLUNA2 = NVL(:PARAM2, COLUNA2)... etc ...
   
Ou ter CONTEXTS representando os valores a bindar (procure no asktom mesmo por 
DYNAMIC e CONTEXT que vc acha várias refs 

E obs final : caso REALMENTE vc tenha mesmo que usar SQL dinâmico, 2 
recomendações :

 a) veja a opção de EXECUTE IMMEDIATE, se vc sabe a qtdade/relação de colunas 
via de regra a sintaxe dele é um pouco mais amigável
 
 e
 
 b) vc TEM QUE TER um filtro, uma VALIDAÇÃO para os elementos que vc vai 
concatenar, sob pena de possibilitar SQL INJECTION, no mesmo site pesquise pra 
saber mais se não estava ciente da questão
 
 []s
 
   Chiappa
   

--- Em oracle_br@yahoogrupos.com.br, "Fernando Franquini 'capin'" 
 escreveu
>
> Senhores,
> 
> eu tenho um problema em um SQL Dinamico.
> Vou montar o exemplo:
> 
> Tenho o SQL abaixo que FUNCIONA (sei que não é a melhor forma, por isso
> estou procurando outra):
> 
> vsql || 'Select CD_A, NM_A, NM_B, NM_C, UF, NM_D';
> vsql := vsql || '  From TABELA Where ';
> vsql := vsql || coluna_Sql || ' = ''' || filtro_Sql || ;
> vsql := vsql || ' order  by ' || campo_Ordenacao || ' ' ||
> tipo_Ordenacao;
> 
> Tentei utilizar bind variables (mas nao consegui fazer funcionar o parametro
> de COLUNA)
> Bind como parte da estrutura de tabela do SQL (parametro coluna_sql) NÃO
> FUNCIONA.
> 
> vsql || 'Select CD_A, NM_A, NM_B, NM_C, UF, NM_D';
> vsql := vsql || '  From TABELA Where ';
> vsql := vsql || :1 || ' = ''' || :2 || ;
> vsql := vsql || ' order  by ' || :3 || ' ' || :4;
> USING coluna_Sql, filtro_Sql, campo_Ordenacao, tipo_Ordenacao
> 
> coluna_Sql : parametro que o usuario passa escolhendo quais colunas da
> tabela ele vai usar para comparar
> filtro_Sql : parametro que o usuario passa para ser comparado
> campo_Ordenacao : parametro que o usuario quer ordenar a pesquisa
> tipo_Ordenacao : parametro desc ou asc
> 
> exemplo de parametros:
> coluna_Sql : UF
> filtro_Sql : SC
> campo_Ordenacao : NM_A
> tipo_Ordenacao : DESC
> 
> coluna_Sql : NM_C
> filtro_Sql : 'Capinzal'
> campo_Ordenacao : NM_B
> tipo_Ordenacao : ASC
> 
> Sei que teria como fazer algo como:
> dbms_sql.parse(retorna_cursor, vsql , dbms_sql.NATIVE);
> 
> Minha pergunta é se eu executar da forma acima (dbms_sql.NATIVE) o sql vai
> ser sempre recompilar?? Seria a mesma coisa que executar direto o vsql no
> OPNE retorna_cursor FOR??
> 
> Caso nao tenha sido bem claro e puderem me ajudar eu agradeço.
> 
> Att,
> -- 
> Fernando Franquini - Capin
> Bacharel em Ciencias da Computacao - UFSC
> Analista de Sistemas / DBA
> emails: ferna...@... / fernando.franqu...@...
> Celular: (48) 99024047
> Florianópolis - SC - Brasil
> www.wf5.com.br
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




RE: [oracle_br] Re: SQL - TABLESPACE

2009-08-03 Por tôpico Carlos Pinto
Obrigado a todos…é isto mesmo.

 

 

 

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de jlchiappa
Enviada: segunda-feira, 3 de Agosto de 2009 15:11
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Re: SQL - TABLESPACE

 

  

Vai precisar de um tantinho a mais, já que o colega quer infos que não estão
na DBA_TABLESPACES, tal como espaço livre, e espaço em disco nos datafiles,
terá que ser um JOIN entre DBA_TABLESPACES, DBA_FREE_SPACE e DBA_DATA_FILES,
um exemplo possível para servir de base :

accept v_tablespaces CHAR prompt 'Tablespace(s) a Incluir, já contém %%,
[ENTER] = todas:'
clear breaks
set pages 
column a1 heading 'Tablespace' format a30
column a2 heading 'data File' format a66
column a3 heading 'Total|Space' format 99.99
column a4 heading 'Free|Space' format 99.99
column a5 heading 'Free|%' format 999.99
break on a1 SKIP 1 on report
compute sum of a3 on a1
compute sum of a4 on a1
compute sum of a3 on report
compute sum of a4 on report
select a.tablespace_name a1, a.file_name a2, a.avail a3,
nvl(b.free,0) a4, nvl(round(((free/avail)*100),2),0) a5,
c.initial_extent, c.next_extent, c.pct_increase
from (select tablespace_name, substr(file_name,1,66) file_name,
file_id, round(sum(bytes/(1024*1024)),3) avail
from sys.dba_data_files
group by tablespace_name, substr(file_name,1,66), file_id
) a,
(select tablespace_name, file_id, round(sum(bytes/(1024*1024)),3) free
from sys.dba_free_space
group by tablespace_name, file_id
) b,
(select tablespace_name, initial_extent, next_extent, pct_increase from
dba_tablespaces) c
where a.file_id = b.file_id (+)
and a.tablespace_name = c.tablespace_name
and a.tablespace_name like upper('%&v_tablespaces%')
order by 1, substr(a.file_name, instr(a.file_name, '/', -1))
/
clear breaks
undefine v_tablespaces

--- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>
, Rodrigo Mufalani  escreveu
>
> Bom dia,
> 
> Select todas,essas,colunas,que_quer
> from dba_tablespaces
> where tablespace_name='A_TABLESPACE_QUE_VC_QUER';
> 
> 
> Atenciosamente,
> 
> Rodrigo Mufalani
> OCP 10g & 11g
> OCE RAC 10g R2
> mufal...@...
> http://mufalani.blogspot.com
> 
> 
> 
> > Mensagem Original:
> > Data: 08:51:42 03/08/2009
> > De: Carlos Pinto 
> > Assunto: RE: [oracle_br] SQL - TABLESPACE
> 
> > Basicamente era esta informacao.
> >
> >
> >
> >
> > Database
> >
> > Tablespace
> >
> > Megs Alloc
> >
> > Megs Free
> >
> > Megs Used
> >
> > Pct Free
> >
> > Pct Used
> >
> > Init Ext
> >
> > Next Ext
> >
> > Min Ext
> >
> > Max ext
> >
> >
> > TESTE
> >
> > TESTE
> >
> > 3176
> >
> > 45,88
> >
> > 3130,13
> >
> > 1,44
> >
> > 98,56
> >
> > 0,06
> >
> >
> >
> > 3176
> >
> > 3176
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Obrigado.
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>
[mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>
] Em
> > nome de Carlos Pinto
> > Enviada: segunda-feira, 3 de Agosto de 2009 12:43
> > Para: oracle_br@yahoogrupos.com.br
<mailto:oracle_br%40yahoogrupos.com.br> 
> > Assunto: [oracle_br] SQL - TABLESPACE
> >
> >
> >
> >
> >
> > Ola Amigos,
> >
> > Necessitava de um sql onde pudesse buscar toda esta informação de uma
> > determinada tablespace. É difícil?
> >
> > 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
> >
> >
> >
> >
> 
> 
> 
> 
> --
> Na Oi Internet você ganha ou ganha. Além de acesso grátis com
> qualidade, você pode ter contas ilimitadas de email com 1 giga cada uma,
> suporte grátis e muito mais. Baixe grátis o Discador Oi em
> http://www.oi.com.br/discador e comece a ganhar.
> 
> Agora, se o seu negócio é voar alto na internet,
> assine Oi Internet Banda Larga e ganhe o modem grátis. Clique em
> http://www.oi.com.br/bandalarga e aproveite essa moleza!
>





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



[oracle_br] Re: SQL - TABLESPACE

2009-08-03 Por tôpico jlchiappa
Vai precisar de um tantinho a mais, já que o colega quer infos que não estão na 
DBA_TABLESPACES, tal como espaço livre, e espaço em disco nos datafiles, terá 
que ser um JOIN entre DBA_TABLESPACES, DBA_FREE_SPACE e DBA_DATA_FILES, um 
exemplo possível para servir de base :

accept v_tablespaces CHAR prompt 'Tablespace(s) a Incluir, já contém %%, 
[ENTER] = todas:'
clear breaks
set pages 
column a1 heading 'Tablespace'  format a30
column a2 heading 'data File'   format a66
column a3 heading 'Total|Space' format 99.99
column a4 heading 'Free|Space'  format 99.99
column a5 heading 'Free|%'  format 999.99
break on a1 SKIP 1 on report
compute sum of a3 on a1
compute sum of a4 on a1
compute sum of a3 on report
compute sum of a4 on report
select a.tablespace_name a1, a.file_name a2, a.avail a3,
   nvl(b.free,0) a4, nvl(round(((free/avail)*100),2),0) a5,
   c.initial_extent, c.next_extent, c.pct_increase
  from (select  tablespace_name, substr(file_name,1,66) file_name,
 file_id, round(sum(bytes/(1024*1024)),3) avail
  from sys.dba_data_files
 group by tablespace_name, substr(file_name,1,66), file_id
   ) a,
   (select tablespace_name, file_id, round(sum(bytes/(1024*1024)),3) free
  from sys.dba_free_space
 group by tablespace_name, file_id
   ) b,
  (select tablespace_name, initial_extent, next_extent, pct_increase from 
dba_tablespaces) c
  where a.file_id = b.file_id (+)
and a.tablespace_name = c.tablespace_name
and a.tablespace_name like upper('%&v_tablespaces%')
  order by 1, substr(a.file_name, instr(a.file_name, '/', -1))
/
clear breaks
undefine v_tablespaces

--- Em oracle_br@yahoogrupos.com.br, Rodrigo Mufalani  escreveu
>
> Bom dia,
> 
> Select todas,essas,colunas,que_quer
> from dba_tablespaces
> where tablespace_name='A_TABLESPACE_QUE_VC_QUER';
> 
> 
> Atenciosamente,
> 
> Rodrigo Mufalani
> OCP 10g & 11g
> OCE RAC 10g R2
> mufal...@...
> http://mufalani.blogspot.com
> 
> 
> 
> > Mensagem Original:
> > Data: 08:51:42 03/08/2009
> > De: Carlos Pinto 
> > Assunto: RE: [oracle_br] SQL - TABLESPACE
> 
> > Basicamente era esta informacao.
> >
> >
> >
> >
> > Database
> >
> > Tablespace
> >
> > Megs Alloc
> >
> > Megs Free
> >
> > Megs Used
> >
> > Pct Free
> >
> > Pct Used
> >
> > Init Ext
> >
> > Next Ext
> >
> > Min Ext
> >
> > Max ext
> >
> >
> > TESTE
> >
> > TESTE
> >
> > 3176
> >
> > 45,88
> >
> > 3130,13
> >
> > 1,44
> >
> > 98,56
> >
> > 0,06
> >
> >
> >
> > 3176
> >
> > 3176
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Obrigado.
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
> > nome de Carlos Pinto
> > Enviada: segunda-feira, 3 de Agosto de 2009 12:43
> > Para: oracle_br@yahoogrupos.com.br
> > Assunto: [oracle_br] SQL - TABLESPACE
> >
> >
> >
> >
> >
> > Ola Amigos,
> >
> > Necessitava de um sql onde pudesse buscar toda esta informação de uma
> > determinada tablespace. É difícil?
> >
> > 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
> >
> >
> >
> >
> 
> 
> 
> 
> 
> Na Oi Internet você ganha ou ganha. Além de acesso grátis com
> qualidade, você pode ter contas ilimitadas de email com 1 giga cada uma,
> suporte grátis e muito mais. Baixe grátis o Discador Oi em
> http://www.oi.com.br/discador e comece a ganhar.
> 
> Agora, se o seu negócio é voar alto na internet,
> assine Oi Internet Banda Larga e ganhe o modem grátis. Clique em
> http://www.oi.com.br/bandalarga e aproveite essa moleza!
>




Re: [oracle_br] Re: SQL Profile

2009-07-16 Por tôpico Márcio Ricardo Alves da Silva
Ok Chiapaa, obrigado

[]'s.

Márcio.
- Original Message - 
  From: jlchiappa 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Thursday, July 16, 2009 8:37 AM
  Subject: [oracle_br] Re: SQL Profile


** Sempre **, sempre, o primeiro lugar a procurar é na Documentação Oracle 
(online em http://tahiti.oracle.com , escolha a versão exata do seu banco lá) 
uma simples pesquisa por sql profile na documentação online do 10gr2 jpa me 
trouxe :

  Oracle Database Search Results: sql profile
  Oracle Database 10g Release 2 (10.2) documentation All of Oracle.com

  SQL Profiles
  Performance Tuning Guide . Search this book . Hide this book . Contents . PDF
  Definition SQL Profile
  Performance Tuning Guide . Search this book . Hide this book . Contents . PDF
  Task Accepting a SQL Profile
  Performance Tuning Guide . Search this book . Hide this book . Contents . PDF
  Task Altering a SQL Profile
  Performance Tuning Guide . Search this book . Hide this book . Contents . PDF
  Task Dropping a SQL Profile
  Performance Tuning Guide . Search this book . Hide this book . Contents . PDF
  SQL Profiling
  Performance Tuning Guide . Search this book . Hide this book . Contents . PDF
  Figure 12-3 SQL Profiles APIs
  Performance Tuning Guide . Search this book . Hide this book . Contents . PDF
  DBA_SQL_PROFILES
  Reference . Search this book . Hide this book . Contents . PDF
  Task Managing SQL Profiles
  2 Day + Performance Tuning Guide . Search this book . Hide this book . 
Contents . PDF
  Concept SQL Profile Enhancements
  New Features Guide . Search this book . Hide this book . Contents . PDF

  ok ?? Para ** complementar ** os manuais (nunca substituir, mas como lietura 
COMPLEMENTAR), os bons sites de sempre quando se fala em Tuning e CBO (ie, 
http://asktom.oracle.com , http://www.jlcomp.demon.co.uk/ , 
http://jonathanlewis.wordpress.com , http://www.centrexcc.com/ , 
http://www.evdbt.com/ , http://www.trivadis.com/en.html , 
http://richardfoote.wordpress.com , http://blog.tanelpoder.com/ , entre outros) 
tem ** farto ** material, além do nosso amigo google , right ?

  []s

  Chiappa

  --- Em oracle_br@yahoogrupos.com.br, Márcio Ricardo Alves da Silva 
 escreveu
  >
  > Untitled DocumentOlá.
  > 
  > 
  > Estou utilizando o EM do 10.2.0.1, e algumas querys quando rodo o advisor, 
sugere impletar o SQL Profile, e em alguns casos diz que o benefício é de 80%. 
Alguém tem algum material, ou link que fale sobre o SQL Profile? Estou 
pesquisando e não estou achando nada, devo estar pesquisando errado.
  > 
  > Grato,
  > Márcio.
  > 
  > [As partes desta mensagem que não continham texto foram removidas]
  >



  

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



[oracle_br] Re: SQL Profile

2009-07-16 Por tôpico jlchiappa
** Sempre **, sempre, o primeiro lugar a procurar é na Documentação Oracle 
(online em http://tahiti.oracle.com , escolha a versão exata do seu banco lá)  
uma simples pesquisa por sql profile na documentação online do 10gr2 jpa me 
trouxe :

Oracle Database Search Results: sql profile
Oracle Database 10g Release 2 (10.2) documentation All of Oracle.com

SQL Profiles
Performance Tuning Guide • Search this book • Hide this book • Contents • PDF
Definition SQL Profile
Performance Tuning Guide • Search this book • Hide this book • Contents • PDF
Task Accepting a SQL Profile
Performance Tuning Guide • Search this book • Hide this book • Contents • PDF
Task Altering a SQL Profile
Performance Tuning Guide • Search this book • Hide this book • Contents • PDF
Task Dropping a SQL Profile
Performance Tuning Guide • Search this book • Hide this book • Contents • PDF
SQL Profiling
Performance Tuning Guide • Search this book • Hide this book • Contents • PDF
Figure 12-3 SQL Profiles APIs
Performance Tuning Guide • Search this book • Hide this book • Contents • PDF
DBA_SQL_PROFILES
Reference • Search this book • Hide this book • Contents • PDF
Task Managing SQL Profiles
2 Day + Performance Tuning Guide • Search this book • Hide this book • Contents 
• PDF
Concept SQL Profile Enhancements
New Features Guide • Search this book • Hide this book • Contents • PDF

ok ?? Para ** complementar ** os manuais (nunca substituir, mas como lietura 
COMPLEMENTAR), os bons sites de sempre quando se fala em Tuning e CBO (ie, 
http://asktom.oracle.com , http://www.jlcomp.demon.co.uk/ , 
http://jonathanlewis.wordpress.com , http://www.centrexcc.com/ , 
http://www.evdbt.com/ , http://www.trivadis.com/en.html , 
http://richardfoote.wordpress.com , http://blog.tanelpoder.com/ , entre outros) 
tem ** farto ** material, além do nosso amigo google , right ?

 []s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, Márcio Ricardo Alves da Silva 
 escreveu
>
> Untitled DocumentOlá.
> 
> 
> Estou utilizando o EM do 10.2.0.1, e algumas querys quando rodo o advisor, 
> sugere impletar o SQL Profile, e em alguns casos diz que o benefício é de 
> 80%. Alguém tem algum material, ou link que fale sobre o SQL Profile? Estou 
> pesquisando e não estou achando nada, devo estar pesquisando errado.
> 
> Grato,
> Márcio.
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Re: SQL Developer

2008-07-10 Por tôpico Heloisa da S Reis
Oi Alex é verdade eu não estou usando a ultima versão estou usando a 
1.0 Foi falta de atenção da minha parte, agradeço muito.

Obrigada

Heloisa

--- Em oracle_br@yahoogrupos.com.br, "Alexsandro Haag" 
<[EMAIL PROTECTED]> escreveu
>
> Qual é a sua "última versão"?
> 
> Eu utilizo a versão 1.5.1 e o code completion funciona sem 
problemas.
> 
> Em versões anteriores lembro que não funcionava.
> 
> Att.
> Alex
> 
> 
> --- Em oracle_br@yahoogrupos.com.br, "Heloisa da S Reis"
>  escreveu
> >
> > Bom dia a todos
> > 
> > Alguem sabe me dizer porque o SQL Developer ultima versão não 
aparece 
> > os campos da tabela apos o . quando utilizamos o alias ou apelido?
> > Por exemplo
> > Nome da Tabela Negociacao
> > 
> > Se eu colocar negociacao neg e fizer neg. não aparece nada
> > 
> > Se eu colocar negociacao e fizer negociacao. aparece os campos da 
> > tabela.
> > 
> > Alguem pode me ajudar?
> > 
> > Obrigada
> > 
> > Heloisa
> >
>




[oracle_br] Re: SQL Developer

2008-07-10 Por tôpico Alexsandro Haag
Qual é a sua "última versão"?

Eu utilizo a versão 1.5.1 e o code completion funciona sem problemas.

Em versões anteriores lembro que não funcionava.

Att.
Alex


--- Em oracle_br@yahoogrupos.com.br, "Heloisa da S Reis"
<[EMAIL PROTECTED]> escreveu
>
> Bom dia a todos
> 
> Alguem sabe me dizer porque o SQL Developer ultima versão não aparece 
> os campos da tabela apos o . quando utilizamos o alias ou apelido?
> Por exemplo
> Nome da Tabela Negociacao
> 
> Se eu colocar negociacao neg e fizer neg. não aparece nada
> 
> Se eu colocar negociacao e fizer negociacao. aparece os campos da 
> tabela.
> 
> Alguem pode me ajudar?
> 
> Obrigada
> 
> Heloisa
>




[oracle_br] Re: SQL/LOADER

2007-04-26 Por tôpico jlchiappa
verdade, o meu sistema aqui nos bancos prod é de telecom (são CDRs 
vindo dum captador mecânico ligado ao mainframe), é esse caso também, 
mas hoje em dia o SQL tem funções análíticas, CASE, subquery 
factoring, tanta coisa ,e ainda há a chance de vc chamar uma FUNÇÃO 
PL/SQL na query pralguma validação mais complexa), é bem menos RARO o 
caso em que não dá mesmo pra ser em SQL mas acho que podemos 
colocar aqui a mesma "regra geral" , o "mantra" repetido & aceito 
pelos experts : PRIMEIRO tentar em SQL apenas, se realmente não tem 
como em SEGUNDO lugar ir pra stored PL/SQL, se ainda assim não deu 
tentar java ou C dentro do banco, e em último caso aí sim usar a 
linguagem cliente .

[]s

  Chiappa
--- Em oracle_br@yahoogrupos.com.br, "FERNANDES Marco ASOFTTEK" 
<[EMAIL PROTECTED]> escreveu
>
> Grande Chiappa !
>  
> Concordo... se o banco for 9i ou superior e o tipo de 
validação "couber"
> numa cláusula where, com certeza SLQ puro resolve.
>  
> Já para outros casos o uso de trigger ainda seria desaconselhável !
>  
> Uma bela procedure, bem ajustada, que trate direitinho o que veio do
> TXT também funciona bem... e cá entre nós, normalmente estes
> arquivos vem como interface de sistemas do tipo Mainframe ou SAP ou
> XXX e normalmente quem gera o arquivo tá pouco se lixando pra quem
> vai usar (tem exceções). E piora um pouco se o sistema que gera o
> arquivo pode estar em S.O.s diferentes como já peguei o SAP gerando
> arquivo TXT no Unix e no Windows e as formatações de datas, campos
> numéricos (valores decimais), etc era uma verdadeira "mixórdia"... 
tinha
> de tudo um pouco ! pra tratar aqueles arquivos era quase 
microcirurgia !
>  
> Enfim, se der com SQL puro melhor ! mas se não der, a procedure bem
> "tunada" tbém é aconselhável.
>  
> Abraço,
> Marco.
> 
> 
> 
> From: oracle_br@yahoogrupos.com.br 
[mailto:[EMAIL PROTECTED] On Behalf Of PUB: jlchiappa
> Sent: quinta-feira, 26 de abril de 2007 13:28
> To: oracle_br@yahoogrupos.com.br
> Subject: [oracle_br] Re: SQL/LOADER
> 
> 
> 
> Na bem da verdade, o colega lá não dá detalhes, mas pelo jeito hoje 
> ele está carregando numa tabela "temporária" porque (imagino) há no 
> meio dos arqs texto registros que precisam ser validados, ou a 
tabela-
> destino está constantemente em uso/bloqueada, ou algum impeditivo 
do 
> tipo. O que eu recomendaria é , se o banco dele for 9i ou superior, 
> que ele *** NÂO *** tenha a tabela-temporária, e sim use o arquivo-
> texto como se fosse uma tabela via external tables, aí a carga 
seria 
> simplesmente :
> 
> insert /*+ APPEND */ into tabelarealdefinitiva 
> (select * from externaltableapontandoproarqdetexto
> WHERE condiçõesquevalidamosregistros);
> 
> 
> ==> pronto, alta performance, e ELIMINADAS as necessidades de 
> triggers, de espaço pra tabela temporária. procedure também 
> poderia ser usada, mas via de regra um SQL puro simples e direto é 
** 
> muito muito ** mais eficiente que PL/SQL.
> 
> []s
> 
> Chiappa
> 
> --- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%
40yahoogrupos.com.br> , "FERNANDES Marco A SOFTTEK" 
>  escreveu
> >
> > Luciano,
> > sinceramente, não deveria existir uma trigger para fazer esse 
> trabalho.
> > 
> > O correto é vc ter uma tabela temp sem muitas validações para
> > carregar os arquivos texto pra ela aí vc teria uma procedure 
pra
> > validar os dados e processar os dados copiando da tabela temp
> > para a tabela original (definitiva).
> > 
> > Grande abraço,
> > Marco.
> > 
> > 
> > 
> > From: oracle_br@yahoogrupos.com.br <mailto:oracle_br%
40yahoogrupos.com.br>  
> [mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%
40yahoogrupos.com.br> ] On Behalf Of PUB: Luciano 
> Lacerda
> > Sent: quinta-feira, 26 de abril de 2007 12:21
> > To: oracle_br@yahoogrupos.com.br <mailto:oracle_br%
40yahoogrupos.com.br> 
> > Subject: [oracle_br] SQL/LOADER
> > 
> > 
> > 
> > Boa tarde,
> > Estou com a seguinte dúvida sobre o sql/loader, queria saber qual 
a 
> melhor
> > forma para usar ele sem desabilitar uma trigger que fara a 
> tranferencia da
> > tabela temp para tabela original
> > 
> > -- 
> > Luciano Lacerda
> > ORACLE DBA/ATG
> > llacerda.dba@ <mailto:llacerda.dba%40gmail.com> 
> > lucianolacerda29@ <mailto:lucianolacerda29%40gmail.com> 
> > 
> > [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: SQL/LOADER

2007-04-26 Por tôpico FERNANDES Marco A SOFTTEK
Grande Chiappa !
 
Concordo... se o banco for 9i ou superior e o tipo de validação "couber"
numa cláusula where, com certeza SLQ puro resolve.
 
Já para outros casos o uso de trigger ainda seria desaconselhável !
 
Uma bela procedure, bem ajustada, que trate direitinho o que veio do
TXT também funciona bem... e cá entre nós, normalmente estes
arquivos vem como interface de sistemas do tipo Mainframe ou SAP ou
XXX e normalmente quem gera o arquivo tá pouco se lixando pra quem
vai usar (tem exceções). E piora um pouco se o sistema que gera o
arquivo pode estar em S.O.s diferentes como já peguei o SAP gerando
arquivo TXT no Unix e no Windows e as formatações de datas, campos
numéricos (valores decimais), etc era uma verdadeira "mixórdia"... tinha
de tudo um pouco ! pra tratar aqueles arquivos era quase microcirurgia !
 
Enfim, se der com SQL puro melhor ! mas se não der, a procedure bem
"tunada" tbém é aconselhável.
 
Abraço,
Marco.



From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of PUB: 
jlchiappa
Sent: quinta-feira, 26 de abril de 2007 13:28
To: oracle_br@yahoogrupos.com.br
Subject: [oracle_br] Re: SQL/LOADER



Na bem da verdade, o colega lá não dá detalhes, mas pelo jeito hoje 
ele está carregando numa tabela "temporária" porque (imagino) há no 
meio dos arqs texto registros que precisam ser validados, ou a tabela-
destino está constantemente em uso/bloqueada, ou algum impeditivo do 
tipo. O que eu recomendaria é , se o banco dele for 9i ou superior, 
que ele *** NÂO *** tenha a tabela-temporária, e sim use o arquivo-
texto como se fosse uma tabela via external tables, aí a carga seria 
simplesmente :

insert /*+ APPEND */ into tabelarealdefinitiva 
(select * from externaltableapontandoproarqdetexto
WHERE condiçõesquevalidamosregistros);


==> pronto, alta performance, e ELIMINADAS as necessidades de 
triggers, de espaço pra tabela temporária. procedure também 
poderia ser usada, mas via de regra um SQL puro simples e direto é ** 
muito muito ** mais eficiente que PL/SQL.

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> , 
"FERNANDES Marco A SOFTTEK" 
<[EMAIL PROTECTED]> escreveu
>
> Luciano,
> sinceramente, não deveria existir uma trigger para fazer esse 
trabalho.
> 
> O correto é vc ter uma tabela temp sem muitas validações para
> carregar os arquivos texto pra ela aí vc teria uma procedure pra
> validar os dados e processar os dados copiando da tabela temp
> para a tabela original (definitiva).
> 
> Grande abraço,
> Marco.
> 
> 
> 
> From: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>  
[mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> ] 
On Behalf Of PUB: Luciano 
Lacerda
> Sent: quinta-feira, 26 de abril de 2007 12:21
> To: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> 
> Subject: [oracle_br] SQL/LOADER
> 
> 
> 
> Boa tarde,
> Estou com a seguinte dúvida sobre o sql/loader, queria saber qual a 
melhor
> forma para usar ele sem desabilitar uma trigger que fara a 
tranferencia da
> tabela temp para tabela original
> 
> -- 
> Luciano Lacerda
> ORACLE DBA/ATG
> [EMAIL PROTECTED] <mailto:llacerda.dba%40gmail.com> 
> [EMAIL PROTECTED] <mailto:lucianolacerda29%40gmail.com> 
> 
> [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]



[oracle_br] Re: SQL/LOADER

2007-04-26 Por tôpico jlchiappa
Na bem da verdade, o colega lá não dá detalhes, mas pelo jeito hoje 
ele está carregando numa tabela "temporária" porque (imagino) há no 
meio dos arqs texto registros que precisam ser validados, ou a tabela-
destino está constantemente em uso/bloqueada, ou algum impeditivo do 
tipo. O que eu recomendaria é , se o banco dele for 9i ou superior, 
que ele *** NÂO *** tenha a tabela-temporária, e sim use o arquivo-
texto como se fosse uma tabela via external tables,  aí a carga seria 
simplesmente :

insert /*+ APPEND */ into tabelarealdefinitiva 
(select * from externaltableapontandoproarqdetexto
 WHERE condiçõesquevalidamosregistros);
 
 
 ==> pronto, alta performance, e ELIMINADAS as necessidades de 
triggers, de espaço pra tabela temporária. procedure também 
poderia ser usada, mas via de regra um SQL puro simples e direto é ** 
muito muito ** mais eficiente que PL/SQL.
 
 []s
 
  Chiappa
  
--- Em oracle_br@yahoogrupos.com.br, "FERNANDES Marco ASOFTTEK" 
<[EMAIL PROTECTED]> escreveu
>
> Luciano,
> sinceramente, não deveria existir uma trigger para fazer esse 
trabalho.
>  
> O correto é vc ter uma tabela temp sem muitas validações para
> carregar os arquivos texto pra ela aí vc teria uma procedure pra
> validar os dados e processar os dados copiando da tabela temp
> para a tabela original (definitiva).
>  
> Grande abraço,
> Marco.
> 
> 
> 
> From: oracle_br@yahoogrupos.com.br 
[mailto:[EMAIL PROTECTED] On Behalf Of PUB: Luciano 
Lacerda
> Sent: quinta-feira, 26 de abril de 2007 12:21
> To: oracle_br@yahoogrupos.com.br
> Subject: [oracle_br] SQL/LOADER
> 
> 
> 
> Boa tarde,
> Estou com a seguinte dúvida sobre o sql/loader, queria saber qual a 
melhor
> forma para usar ele sem desabilitar uma trigger que fara a 
tranferencia da
> tabela temp para tabela original
> 
> -- 
> Luciano Lacerda
> ORACLE DBA/ATG
> [EMAIL PROTECTED]  
> [EMAIL PROTECTED]  
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
>  
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Re: SQL via DB_LINK

2007-03-13 Por tôpico jlchiappa
Várias :

a) primeiro de tudo, absolutamente SEMPRE que se fala em SQLs
id~enticos executados de forma diferente : o plano de execução é o
mesmo em ambos os ambientes, qual é ele  ?? Se está usando CBO, as
estats (e TODOS os demais pré-reqs) estão OK nos DOIS bancos envolvidos ? 

b) a query em questão é um JOIN ??? Se sim, é distribuída (ie, parte
dos dados está "aqui", no banco onde vc a executa, e parte lá no bd
remoto) ? Veja vc , o CBO até tenta avaliar se a maior qtdade de regs
está "lá" ou "aqui", e cfrme o caso tentar executar a query no bd com
mais dados e enviar pela rede só os dados do outro bd que participa
menos, mas NEM SEMPRE isso dá pra ser avaliado direito - experimenta
como teste trazer os dados remotos pro bd local e executar sem dblink,
se der grande diferença pode ser isso o problema, vc o pode corrigir
via hint DRIVING_SITE

c) outra possibilidade é a questão dos metadados, se vc faz select
 from [EMAIL PROTECTED], NECESSARIAMENTE o bd terá que acessar o
dicionário de dados lá no bd remoto, o que no caso de rede
congestionada E bd super-ativo pode sim dar dif de performance... Pra
isso vc pode tentar ter uma VIEW PRIVADA LOCAL que faça o select from
[EMAIL PROTECTED], e no teu SQL principal vc bota no FROM a view

[]s

 Chiappa
--- Em oracle_br@yahoogrupos.com.br, "jroberto_pr"
<[EMAIL PROTECTED]> escreveu
>
> Boa Tarde.
> 
> Tenha uma query que quando executo em um banco termina com um excelente 
> custo e tempo. Porém quanto executo a mesma query utilizando Database 
> Link o processo nao termina.
> 
> Estoura a tablespace temporaria.
> 
> Alguem tem alguma sugestão?
>




[oracle_br] Re: SQL LOADER

2007-01-12 Por tôpico renatotschisar
Olá,

Eu utilizo o Loader via script para executá-lo na madrugada. No caso 
shell script. No seu caso vc pode utilizar arquivos .bat normalmente. 
Acredito que seja a maneira mais fácil.

Abraço,

Renato

--- Em oracle_br@yahoogrupos.com.br, Ademir Roque Maneira 
<[EMAIL PROTECTED]> escreveu
>
> Eu uso o Loader, com um programinha . bat no Win2000, utilizo ainda 
o 
> agendador de tarefas para executa-los de madrugada.
> 
> rflribeiro escreveu:
> >
> > O Loader é um client que roda de forma semelhante ao rman e o sql 
plus,
> > em linha de comando. Procure no manual de utilities da sua versão 
de
> > banco de dados.
> >
> > Reginaldo Ribeiro
> > skype: dbcom_it_experts
> > Mobile: 551192344290
> >
> > Rogerio Santos wrote:
> > >
> > > Bom dia a Todos
> > >
> > > Agradeço a Todos pois a primeira vez que toquei neste assunto 
tive
> > > boas resposta
> > >
> > > agora sei que o LOADER atente minha necessidade mais ainda não 
sei a
> > > melhor forma de usa-lo como devo proceder
> > >
> > > Fazer uma procedure com o Loader ou Fazer um programa com o 
LOADER ?
> > > Alguem tem algum exemplo de um dos dois modelos?
> > >
> > > Obrigado a todos e sucesso
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
>




[oracle_br] Re: SQL*LOADER

2006-12-13 Por tôpico jlchiappa
Colega, em Português sorry mas quase não há nada mesmo que valha a 
pena, a maioria esmagadora é mesmo ou ultra-superficial ou é uma 
tradução horrorosa, tipo traduzir "table" por "mesa" , não recomendo 
nenhum, de forma alguma, a não ser que a pessoa seja TOTALMENTE 
incapaz de leitura em Inglês : assim, a melhor coisa imho é mesmo se 
obter aquele nível mínimo de leitura em Inglês, sabe aquqle 
chamado "Inglês técnico" e ir pras fontes confiáveis, quais sejam : 
manuais Oracle (online e GRÁTIS em http://tahiti.oracle.com) - neles 
vc encontra os conceitos principais, que sem eles vc não chega a 
lugar nenhum -, e depois, como COMPLEMENTO, como fontes de exemplos e 
modos de utilização, vc pode usar os livros "Expert Oracle Database 
Architecture: 9i and 10g Programming Techniques and Solutions" e 
o "Effective Oracle by Design" , ambos de Thomas Kyte , neles vc vai 
achar cases e dicas tanto sobre o sql*loader (e a opção de External 
Table do banco 9i)  quanto para coisas periféricas MAS de ** extrema 
** utilidade pra grandes inserções, tais como direct-mode operations, 
dicas geração de undo/redo, configuração e utilização de Paralelismo, 
comando MERGE, bulk collect/array processing 
 De modo geral posso porém te adiantar que :
 
 a) sim, sql*loader (ou external tables no bd 9i, que é 
um "sql*loader interno ao banco") são mesmo a melhor opção pra carga 
a partir de arquivos : pra vc ter uma idéia, em modo paralelo e 
direto, numa máquina multi-processada, com montes de RAM e com bom 
sistema de I/O, na minha Produção aqui no cliente atual via 
sql*loader eu faço a carga de um arquivo de DEZENAS DE MILHÕES de 
linhas em 20 minutos, mais ou menos
 
 b) não, o loader NÃO gera triggers nem código algum, a função dele é 
ler um arquivo-texto E fazer INSERTs (apenas INSERTs!!) com os dados 
lidos, só : SE vc precisa de algo a mais, OU vc usa a opção de 
external tables (que te permite fazer SELECTs contra o arquivo de 
texto e permite fazer MERGE/UPDATEs além de INSERTs), OU carrega os 
dados numa tabela temporária e escreve uma rotina para os processar
 
 c) o loader é um programa executável EXTERNO AO BANCO, e em PL/SQL 
(a linguagem em que vc cria procedures) simplesmente NÃO HÁ um 
comando nativo pra rodar programas externos : dentro de procedure, OU 
vc faz SQLs diretos no arquivo-texto via extrenal tables, OU vc TEM 
que usar outras opções pra chamar o executável do loader , tais como 
Java procedures, external procedures, daemons ou jobs (no scheduler 
do 10g)
 
 []s
 
   Chiappa
   
--- Em oracle_br@yahoogrupos.com.br, Rogerio Santos <[EMAIL PROTECTED]> 
escreveu
>
> Bom dia a Todos
> 
> Gostaria de usar o SQL Loader, porem não consegui muito material a 
Respeito em português, gostaria de uma contribuição de vcs sobre isto 
quem poder me indicar um site ou ate mesmo um livro vou ficar muito 
grato.
> A ideia é saber se é possível com no oracle e " SQL*Loader "  cria 
procedure ou mesmo tigres para inserir muitos dados no banco e fazer 
alguns tratamentos. Vou chamar o loader de uma tigre e procedure.
> São muitos dados e teria que rodar de forma paralela, etc 
> A intenção inicial seria mesmo estudos o próximo passo seria a 
proposta e a verificação da funcionalidade.
> 
> Obrigado
> 
> 
> __
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




RE: [oracle_br] Re: SQL*Loader-704: Internal error: ulconnect

2006-11-17 Por tôpico Flavio Uyemura
Agradeço as recomendações enviadas, e a solução para o problema relatado 
foi, setar a variável TNS_ADMIN dentro do shell script que faz a chamada do 
SQL*Loader.

Abraços,
Flávio


>From: "jlchiappa" <[EMAIL PROTECTED]>
>Reply-To: oracle_br@yahoogrupos.com.br
>To: oracle_br@yahoogrupos.com.br
>Subject: [oracle_br] Re: SQL*Loader-704: Internal error: ulconnect
>Date: Fri, 10 Nov 2006 12:56:44 -
>
>O TNSPING serve apenas pra enviar um pacote pro listener, ele NÂO
>checa ambiente, nem nada, e isso ** cheira fortemente ** a erro na
>configuração do ambiente do segundo usuário : analise CUIDADOSAMENTE
>as variáveis de ambiente, tais como LD_LIBRARY_PATH, ORACLE_HOME,
>ORACLE_BASE, NLS_xxx, e PRINCIPALMENTE a PATH (é a coisa mais comum
>do mundo vc NÃO ter o BIN da home correta setado em primeiro lugar no
>PATH), vejam se alguma das vars não estão incorretas/faltantes ou
>apontando pra instância errada...
>  Feito isso, confira em quais grupos unix esse segundo usuário está.
>e cheque CUIDADOSAMENTE as permissões tanto nos diretórios Oracle
>quanto nos arquivos do Oracle, principalmente os executáveis onde o
>usuário temq que ter execute, e os arqs de config, tal como
>TNSNAMES.ORA e similares, tem que ter read, veja lá...
>
>  Quanto à TNS_ADMIN, não é obrigatório se vc não quiser manter um
>único TNSNAMES pra todas as oracle homes, se a var não estiver setada
>automaticamente o oracle*net vai procurar em
>$ORACLE_HOME/network/admin
>
>
>[]s
>
>  Chiappa
>
>===
>Participe do ENPO - Encontro de Profissionais Oracle 2006 !
>Informações e inscrições em www.enpo-br.org
>José Laurindo Chiappa, Palestrante ENPO-2006
>===
>
>--- Em oracle_br@yahoogrupos.com.br, "Flavio Uyemura" <[EMAIL PROTECTED]>
>escreveu
> >
> > Prezados,
> >
> > Mais algumas informações:
> >
> > a) Versão do Banco: Oracle 9i Enterprise Edition Release 9.2.0.6.0 -
>  64bit
> > Production.
> > b) Versão do S.O: SunOS 5.8.
> > c) Há 2 instâncias no mesmo servidor.
> > d) Executo o tnsping  com sucesso.
> >
> > Uma outra questão é que se a variável de ambiente TNS_ADMIN tem que
>ser
> > configurada mesmo em S.O Unix ?
> >
> > Abraços,
> > Flávio
> >
> >
> > >From: "Flavio Uyemura" <[EMAIL PROTECTED]>
> > >Reply-To: oracle_br@yahoogrupos.com.br
> > >To: oracle_br@yahoogrupos.com.br
> > >Subject: [oracle_br] SQL*Loader-704: Internal error: ulconnect
> > >Date: Thu, 09 Nov 2006 17:20:22 -0200
> > >
> > >Prezados,
> > >
> > >Tenho um shell script que faz a carga de alguns arquivos .txt para
>tabelas
> > >no Banco de Dados. Quando executo este shell com um determinado
>usuário não
> > >há problema, mas se executo com outro usuário ocorre o erro abaixo:
> > >
> > >SQL*Loader: Release 9.2.0.6.0 - Production on Thu Nov 9 14:51:48
>2006
> > >
> > >Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
> > >
> > >SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
> > >ORA-12154: TNS:could not resolve service name
> > >
> > >O pode estar acontecendo ?
> > >
> > >Grato,
> > >Flávio
> > >
> > >_
> > >O Windows Live Spaces é seu espaço na internet com fotos (500 por
>mês),
> > >blog
> > >e agora com rede social http://spaces.live.com/
> > >
> > >
> > >
> > >Sábado Agora: ENPO-BR 2006 - Encontro Nacional de Profissionais
>Oracle
> > >VISITE: http://www.enpo-br.org/ - Dia 11/11 "Vagas Limitadas"
> > >
> > >Este Grupo recebe o apoio da SQL Magazine -
>www.devmedia.com.br/sqlmagazine
> > >---
>---
> > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e
>de inteira
> > >responsabilidade de seus remetentes.
> > >Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> > >---
>---
> > >O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
> > >http://www.oraclebr.com.br/
> > >---
>

[oracle_br] Re: Sql Net e Sql Developer

2006-09-14 Por tôpico jlchiappa
vamos por partes aí : no SQL developer vc OU pode conectar com client 
Oracle (e portanto configurando TNSNAMES.ORA) , OU pode conectar via 
thin, ie, SEM ter coisa alguma instalada na sua máquina, basta ter 
acesso via rede ao servidor Oracle e a porta em questão - a 
exigência, sempre, é que no servidor Oracle vc TENHA um listener 
instalado, configurado e iniciado, ainda que seja tudo numa máquina 
só de testes. Então passo 1, tenha CERTEZA que vc tem um listener 
instalado e ativo na máquina, E ** imporatantíssimo **, que a porta 
citada nesse listener (e que o Java, o SQL developer é feito em 
Java!!) NÃO estejam sendo bloqueados pelo firewall/antivírus/etc da 
tua máquina...
 Muito bem, vc está com o banco ativo, com um listener ativo, o java 
e a porta tcp/ip usada pelo listener estão liberados, o mínimo 
necessário está presente. Entre no sqldeveloper, logo de cara vc vai 
ver uma aba Connections, se não ver vá no menu View e escolha a opção 
Connections. Clique com o botão direito do mouse o item Connections 
no tree control que há nessa aba, no pop menu que abrirá escolha New 
database Connection, na tela q abrirá em Connection name dê um nome 
qquer pra sua conexão (eu gosto de usar o padrão usuario_nomedobanco, 
aí se esta conexão será para o usuário CHIAPPA no bd PROD eu a 
chamaria de CHIAPPA_bdPROD, mas o nome é livre), em username indique 
o nome do usuário a ser usado pra conectar, em password a senha dele, 
e nas abas abaixo SE vc não tem cliente Oracle e TNSNAMES.ORA 
instalados e configurados escolha a aba Basic e informe hostname 
(pode ser localhost já que vc tá tudo na mesma máquina), a porta 
usada pelo listener e o SID ou o nome do serviço Oracle do teu banco. 
Se vc tem cliente Oracle e quer conectar com ele, escolha a aba TNS, 
que no list item Network alias já trará todas as opções disponíveis 
no TNSNAMES, escolha a que vc quer. daí clique em conectar, ele vai 
conectar no banco, é isso.


[]s

 Chiappa
 --- Em oracle_br@yahoogrupos.com.br, Marcos Verdade Vieito 
<[EMAIL PROTECTED]> escreveu
>
> 
> Bom dia,
>
>  Baixei no site da Oracle o Sql Developer.
>  Estou tentando conectar em um banco local que está instalado 
em minha máquina, mas ao digitar o usuário e senha o Sql Developer 
exibe uma mensagem de não foi possível conectar através no Sql Net.
>  Alguém sabe como faço para configurar o TNSNAMES.ORA ou outro 
arquivo para possa fazer a conexão local?
>
> Muito obrigado
>
>   Marcos
> 
> 
>   
> -
>  Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o 
discador agora! 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>







--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: 
http://www.oraclebr.com.br/
__
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine  
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

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

 





[oracle_br] Re: SQL Procedure que está executando...

2006-07-13 Por tôpico jlchiappa
O grant de DBA é muito privilegiado, mas NÃO É sinônimo de faz tudo : 
permissões em objetos internos do SYS como estes só o próprio SYS é 
que pode dar, então conecte como SYS e peça um GRANT SELECT ON 
nomedoobjeto TO nomedomeuusuario; pra cada uma das views/tabs 
citadas. Pra conectar como SYS, em sabendo a senha, vc entraria no 
sqlplus com 

sqlplus /nolog

e lá dentro pede um CONNECT SYS AS SYSDBA

[]s

 Chiappa
--- Em oracle_br@yahoogrupos.com.br, Junior Correia 
<[EMAIL PROTECTED]> escreveu
>
> O usuario que eu uso tem grant's de DBA, porém não tem privs para 
acessar essas tabs/views internas do banco. Não consegui.
>
>   Mesmo assim obrigado.
>
>   
> 
> jlchiappa <[EMAIL PROTECTED]> escreveu:
>   Ao menos até a versão 9i, que é a que uso mais no momento, isso 
não 
> fica registrado nas views do dicioñário de dados, apenas nas 
> tabs/views internas do banco. Vc as poderia consultar (EM estando 
> conectado como usuário que tenha os privs necessários) assim :
> 
> prompt  Currently Executing Packages 
> SELECT
>   substr(DECODE(o.kglobtyp,
> 7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE', 12, 'TRIGGER', 13,
> 'CLASS'),1,15)  "TYPE",
>   substr(o.kglnaown,1,30)  "OWNER",
>   substr(o.kglnaobj,1,30)  "NAME",
>   s.indx  "SID",
>   s.ksuseser  "SERIAL"
> FROM
>   sys.X$KGLOB  o,
>   sys.X$KGLPN  p,
>   sys.X$KSUSE  s
> WHERE
>   o.inst_id = USERENV('Instance') AND
>   p.inst_id = USERENV('Instance') AND
>   s.inst_id = USERENV('Instance') AND
>   o.kglhdpmd = 2 AND
>   o.kglobtyp IN (7, 8, 9, 12, 13) AND
>   p.kglpnhdl = o.kglhdadr AND
>   s.addr = p.kglpnses
> ORDER BY 1, 2, 3;
> 
> 
> []s
> 
> Chiappa
> --- Em oracle_br@yahoogrupos.com.br, Junior Correia 
> <[EMAIL PROTECTED]> escreveu
> >
> > Galera,
> >
> >   Estou estudando Oracle, e gostaria de saber como eu pego o nome 
> da procedure que está executando no momento? Qual a view e campo?
> >
> >   Eu consigo ver o SQL que está executando através desse script 
> abaixo, mas ele não traz o nome da procedure, só o sql que contem 
> dentro.
> >
> >   SELECT s.sid,
> > s.status,
> > s.process,
> > s.schemaname,
> > s.osuser,
> > a.sql_text,
> > p.program,
> > s.program,
> > s.action 
> > FROM v$session s,
> > v$sqlarea a,
> > v$process p
> > WHERE s.SQL_HASH_VALUE = a.HASH_VALUE
> > AND s.SQL_ADDRESS = a.ADDRESS
> > AND s.PADDR = p.ADDR
> > 
> >
> >
> > 
> >  
> > -
> >  Yahoo! Search
> >  Música para ver e ouvir: You're Beautiful, do James Blunt
> > 
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> 
> 
> 
> 
>  
> 
>   
> -
>  Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu 
celular. Registre seu aparelho agora!
> 
> [As partes desta mensagem que não continham texto foram removidas]
>







--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

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

 




Re: [oracle_br] Re: SQL Procedure que está executando...

2006-07-13 Por tôpico Junior Correia
O usuario que eu uso tem grant's de DBA, porém não tem privs para acessar essas 
tabs/views internas do banco. Não consegui.
   
  Mesmo assim obrigado.
   
  

jlchiappa <[EMAIL PROTECTED]> escreveu:
  Ao menos até a versão 9i, que é a que uso mais no momento, isso não 
fica registrado nas views do dicioñário de dados, apenas nas 
tabs/views internas do banco. Vc as poderia consultar (EM estando 
conectado como usuário que tenha os privs necessários) assim :

prompt  Currently Executing Packages 
SELECT
  substr(DECODE(o.kglobtyp,
7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE', 12, 'TRIGGER', 13,
'CLASS'),1,15)  "TYPE",
  substr(o.kglnaown,1,30)  "OWNER",
  substr(o.kglnaobj,1,30)  "NAME",
  s.indx  "SID",
  s.ksuseser  "SERIAL"
FROM
  sys.X$KGLOB  o,
  sys.X$KGLPN  p,
  sys.X$KSUSE  s
WHERE
  o.inst_id = USERENV('Instance') AND
  p.inst_id = USERENV('Instance') AND
  s.inst_id = USERENV('Instance') AND
  o.kglhdpmd = 2 AND
  o.kglobtyp IN (7, 8, 9, 12, 13) AND
  p.kglpnhdl = o.kglhdadr AND
  s.addr = p.kglpnses
ORDER BY 1, 2, 3;


[]s

Chiappa
--- Em oracle_br@yahoogrupos.com.br, Junior Correia 
<[EMAIL PROTECTED]> escreveu
>
> Galera,
>
>   Estou estudando Oracle, e gostaria de saber como eu pego o nome 
da procedure que está executando no momento? Qual a view e campo?
>
>   Eu consigo ver o SQL que está executando através desse script 
abaixo, mas ele não traz o nome da procedure, só o sql que contem 
dentro.
>
>   SELECT s.sid,
> s.status,
> s.process,
> s.schemaname,
> s.osuser,
> a.sql_text,
> p.program,
> s.program,
> s.action 
> FROM v$session s,
> v$sqlarea a,
> v$process p
> WHERE s.SQL_HASH_VALUE = a.HASH_VALUE
> AND s.SQL_ADDRESS = a.ADDRESS
> AND s.PADDR = p.ADDR
> 
>
>
> 
>  
> -
>  Yahoo! Search
>  Música para ver e ouvir: You're Beautiful, do James Blunt
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




 


-
 Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora!

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



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

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

 





[oracle_br] Re: SQL Procedure que está executando...

2006-07-12 Por tôpico jlchiappa
Ao menos até a versão 9i, que é a que uso mais no momento, isso não 
fica registrado nas views do dicioñário de dados, apenas nas 
tabs/views internas do banco. Vc as poderia consultar (EM estando 
conectado como usuário que tenha os privs necessários) assim :

prompt  Currently Executing Packages 
SELECT
  substr(DECODE(o.kglobtyp,
7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE', 12, 'TRIGGER', 13,
'CLASS'),1,15)  "TYPE",
  substr(o.kglnaown,1,30)  "OWNER",
  substr(o.kglnaobj,1,30)  "NAME",
  s.indx  "SID",
  s.ksuseser  "SERIAL"
FROM
  sys.X$KGLOB  o,
  sys.X$KGLPN  p,
  sys.X$KSUSE  s
WHERE
  o.inst_id = USERENV('Instance') AND
  p.inst_id = USERENV('Instance') AND
  s.inst_id = USERENV('Instance') AND
  o.kglhdpmd = 2 AND
  o.kglobtyp IN (7, 8, 9, 12, 13) AND
  p.kglpnhdl = o.kglhdadr AND
  s.addr = p.kglpnses
ORDER BY 1, 2, 3;


[]s

 Chiappa
--- Em oracle_br@yahoogrupos.com.br, Junior Correia 
<[EMAIL PROTECTED]> escreveu
>
> Galera,
>
>   Estou estudando Oracle, e gostaria de saber como eu pego o nome 
da procedure que está executando no momento? Qual a view e campo?
>
>   Eu consigo ver o SQL que está executando através desse script 
abaixo, mas ele não traz o nome da procedure, só o sql que contem 
dentro.
>
>   SELECT s.sid,
> s.status,
> s.process,
> s.schemaname,
> s.osuser,
> a.sql_text,
> p.program,
> s.program,
> s.action 
> FROM v$session s,
> v$sqlarea a,
> v$process p
> WHERE s.SQL_HASH_VALUE = a.HASH_VALUE
> AND s.SQL_ADDRESS = a.ADDRESS
> AND s.PADDR = p.ADDR
> 
>
>
> 
>   
> -
>  Yahoo! Search
>  Música para ver e ouvir: You're Beautiful, do James Blunt
> 
> [As partes desta mensagem que não continham texto foram removidas]
>






--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

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

 




[oracle_br] Re: SQL Usando bind retorna resultado errado.

2005-12-28 Por tôpico Marcio Portes
Bookmark Go to End 

Doc ID:  Note:3063008.8 
Subject:  Support Description of Bug 3063008 
Type:  PATCH 
Status:  PUBLISHED 
 Content Type:  TEXT/X-HTML 
Creation Date:  13-AUG-2003 
Last Revision Date:  19-JAN-2004 
 
 Click here for details of sections in this note.

Bug 3063008  BETWEEN :BIND1 AND :BIND2 selectivity may be wrong (or 
>=/<=)
 This note gives a brief overview of bug 3063008. 

Affects:
Product (Component) (Rdbms) 
Range of versions believed to be affected Versions >= 8 but < 10G  
Versions confirmed as being affected (None Specified) 
 
Platforms affected Generic (all / most platforms affected) 

Fixed:
This issue is fixed in 9.2.0.5 (Server Patch Set) 
10g Production Base Release 
 

Symptoms:
Performance of Query/ies affected 
Related To:
Optimizer 
Description


BETWEEN :BIND1 AND :BIND2 selectivity may be better
than equality selectivity leading to incorrect plan choice.


--
--
The full bug text (if published) can be seen at Bug 3063008
This link will not work for UNPUBLISHED bugs. 
--
--
 


--- Em oracle_br@yahoogrupos.com.br, Adriano da Silva Múfalo 
<[EMAIL PROTECTED]> escreveu
>
> Olá a todos !
> Estou com o seguinte problema:
> se eu executar o seguinte select:
> SELECT TCC.TCC_VALOR, CC.CC_NOME, T.*, EMP.EMP_NOME, TPD.TPD_MODELO,
> TPP.TPP_NOME,
> TPO.TPO_NOME, CRED.PLA_NOME AS CREDITO, DEB.PLA_NOME AS DEBITO,
> PORT.PLA_NOME AS PORTADOR, PAG.PLA_NOME AS PAGADOR
> FROM TITULO_CC TCC
> LEFT JOIN CCUSTO   CC   ON (TCC.CC_CODIGO  = CC.CC_CODIGO  )
> LEFT JOIN TITULO   TON (TCC.TIT_CODIGO = T.TIT_CODIGO  )
> LEFT JOIN EMPRESA  EMP  ON (T.EMP_CODIGO   = EMP.EMP_CODIGO)
> LEFT JOIN TPDOCTPD  ON (T.TPD_CODIGO   = TPD.TPD_CODIGO)
> LEFT JOIN TIPOPAGTOTPP  ON (T.TPP_CODIGO   = TPP.TPP_CODIGO)
> LEFT JOIN TIPOOPERACAO TPO  ON (T.TPO_CODIGO   = TPO.TPO_CODIGO)
> LEFT JOIN PLACON   CRED ON (T.TIT_CONCRED  = CRED.PLA_CODIGO)
> LEFT JOIN PLACON   DEB  ON (T.TIT_CONDEB   = DEB.PLA_CODIGO)
> LEFT JOIN PLACON   PAG  ON (T.TIT_BANPAG   = PAG.PLA_CODIGO)
> LEFT JOIN PLACON   PORT ON (T.TIT_BANPORT  = PORT.PLA_CODIGO)
> WHERE (T.TIT_RECPAG = 'P')
>  AND T.TIT_DTVENC BETWEEN  :DATAINI  AND :DATAFIM
> 
> sendo DATAINI=01/01/2005 e DATAFIM = 31/12/2005
> 
> retorna apenas duas linhas, se apenas as duas linhas onde 
TIT_DTVENC =
> '01/01/2005'
> mas, se mudar o where para
> 
> WHERE (T.TIT_RECPAG = 'P')
>  AND T.TIT_DTVENC BETWEEN  to_date('01/01/2005','dd/mm/')  AND
> to_date('31/12/2005','dd/mm/')
> 
> tenho o retorno correto.
> 
> Mas, se antes de executar o sql do primeiro caso, eu der um
> analyze table TITULO compute statistics;
> o resultado do SQL fica correto.
> 
> Estou usando o Oracle 9i (9.0.1).
> 
> Procurando um pouco no google, achei isso aqui:
> 
> 9205  3063008  BETWEEN :BIND1 AND :BIND2 selectivity may be wrong 
(or >=/<=)
> Alguém q tem acesso ao metalink poderia me passar este documento
> http://metalink.oracle.com/metalink/plsql/showdoc?
db=NOT&id=3063008.8
> para eu dar uma olhada se é realmente este bug q está em afetando o 
meu
> servidor ?
> 
> 
> Obrigado a todos.
> 
> 
>   
> 
>   
>   
> ___ 
> Yahoo! doce lar. Faça do Yahoo! sua homepage. 
> http://br.yahoo.com/homepageset.html
>






--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--_
Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423  
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

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

 




[oracle_br] Re: SQL Dinamico no Banco.

2005-08-10 Por tôpico jlchiappa
Sim : se for PL/SQL 8.x vc pode usar o comando EXECUTE IMMEDIATE pra 
isso, se não vc usa o DBMS_SQL, nos manuais de PL/SQL vc acha as 
sintaxes e alguns exemplos.

[]s

 Chiappa

--- Em oracle_br@yahoogrupos.com.br, Rodrigo Lether <[EMAIL PROTECTED]> 
escreveu
>   Olá Galera.
>   Existe a possibilidade de eu fazer um SQL substituindo suas 
partes por variavel para ficar dinamico nas minhas procedures do 
Banco. Ex:
>  
> Declare
>   v_campo varchar2(100);
>   v_aux integer default 1;
>   v_a varchar2(50);
>   v_b varchar2(50);
> 
> 
> Begin
>   if v_aux = 1 then
> v_campo := 'CAMPO1, CAMPO2 INTO V_A, V_B'
>   else
> v_campo := 'CAMPO3, CAMPO4 INTO V_A, V_B'
> 
>   end if;
>  
>   Select &V_CAMPO from TABELA where rownum = 1;´
>   
> End;
> /
>   O "&V_CAMPO" eu faço isso no Forms e da certo agora no PL/SQL não 
sei se pode fazer esse tipo de substituição. Alguem tem alguma 
dica ???
>  
> Obrigado,
> Rodrigo
> 
>  
> 
>   
> -
> Yahoo! Acesso Grátis: Internet rápida e grátis. Instale o discador 
agora!
> 
> [As partes desta mensagem que não continham texto foram removidas]




__

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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

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

 





[oracle_br] Re: SQL*LOADER - Existe alguma procedure que dispara um sql*loader

2005-07-25 Por tôpico jlchiappa
sql loader é um programa executável externo, então a sua pergunta na 
verdade é : como chamar um programa executável externo qquer a partir 
duma procedure ? A resposta é : via PL/SQL "puro", local, não é 
possível, as opções são : SE for banco 8i ou superior com java 
instalada vc cria uma java procedure pra isso, se for banco 8.x ou 
superior vc cria uma entrada para procedimentos external no listener e 
cria uma external procedure chamando um .DLL ou similar do seu sistema 
operacional que faça isso, e se for banco 7.x ou maior a opção é enviar 
os comandos pra uma programa-daemon externo  feito numa linguagem que 
possa conectar no banco e ficar residente, normalmente é pro*C 
recebendo os comandos via PIPEs. Procure em http://asktom.oracle.com 
que vc acha exemplos de todas as técnicas.

[]s

 Chiappa

--- Em oracle_br@yahoogrupos.com.br, César <[EMAIL PROTECTED]> escreveu
> 
> Pessoal
> 
>  
> 
> Como eu faço através de uma procedure para passar parametros para 
sql*loader e disparar ele ?
> 
> __
> Converse com seus amigos em tempo real com o Yahoo! Messenger 
> http://br.download.yahoo.com/messenger/ 
> 
> [As partes desta mensagem que não continham texto foram removidas]




__

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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

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

 




[oracle_br] Re: sql loader

2005-07-05 Por tôpico Kátia Claro

  Pessoal, obrigado pelo SQL * Loader.

  até +

  Kátia

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



__

Cancelar assinatura...: [EMAIL PROTECTED]
Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] 
Fernanda Damous [EMAIL PROTECTED] 
Alisson Aguiar [EMAIL PROTECTED]
__
http://br.groups.yahoo.com/group/oracle_br/ 
__

Sair da Lista...: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

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