Re: RES: [oracle_br] Item de texto pesquisa semelhante a lov
Pessoal, me desculpe, é forms 6i, oracle 8i release 8.1.7. O campo é text. Obrigado. Eu até já vi no forum algumas pessoas postando que não há meios de se criar um campo auto preenchimento. Na verdade é isso que estou precisando. [ ]s --- Em oracle_br@yahoogrupos.com.br, Fabio Santos [EMAIL PROTECTED] escreveu so faltou dizer se vc deseja em javascript, vbscript, vb, delphi, java, c++, c#, vb.net, asp.net, forms quantas mais llinguagens tem que acessam o oracle Brincadeira. mas, especifique qual a linguagem que você está utilizando e se isso está sendo digitado em uma combo ou um campo text... ou seja, clareie nossas idéias pois nao estamos do seu lado vendo sua dificuldade. abraços -Mensagem original- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Marcos Giovani Lagassi Enviada em: terça-feira, 29 de maio de 2007 16:11 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Item de texto pesquisa semelhante a lov Pessoal eu tenho um cadastro que o usuário tem que preenche-lo sempre que há uma nova ocorrencia, e gostaria de criar uma regra no momento em que o usuário começar a digitar um nome de cliente o mesmo inicia um filtro na base de dados com o nome que o usuário começa a digitar, finalidade de auxilia-lo, pois se no momento da inserção já existir esse nome o usuário não irá incluí-lo. Por exemplo nome : jose c nesse momento o item nome começa a mostrar os nomes que já existem na base de dados com esse combinação. Obrigado. [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] Erro Import
Marcio, Não fiz update! Vou dar um shutdown/startup no banco. Talvez possa ser algum processo perdido. Vlw. Raphael -Mensagem original- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Marcio Portes Enviada em: terça-feira, 29 de maio de 2007 21:04 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Erro Import Voce fez algum upgrade recente? para o patchset 7 por exemplo?? On 5/29/07, Phael [EMAIL PROTECTED] wrote: Boa tarde, Antes de recorrer a Oracle... deixa eu ver se alguém pode me ajudar! [EMAIL PROTECTED] imp system/xx fromuser=usuario1 touser=usuario2 tables=tabela1,tabela2, tabela3 file=/home/admin20070528.dmp Import: Release 9.2.0.8.0 - Production on Tue May 29 15:51:33 2007 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. IMP-00058: ORACLE error 3113 encountered ORA-03113: end-of-file on communication channelUsername: Obs: Oracle9i Enterprise Edition Release 9.2.0.8.0 Production Red Hat AS 3.0 32bits O arquivo DMP tem 21Gb. Format ext3. O export funciona sem problemas... e o import tbm funcionava e agora esta dando esse erro(só o import)!! Alguém sabe o que pode ser? Raphael [As partes desta mensagem que não continham texto foram removidas] -- Marcio Portes Material Tecnico em Portugues - http://mportes.blogspot.com Practical Learning Oracle - http://mportes.blogspot.com/2006/02/practical-learning-oracle.html [As partes desta mensagem que não continham texto foram removidas] Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure » Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php -- 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/ Links do Yahoo! Grupos
[oracle_br] Explain Plain - 10g diferente do 8i
Olá pessoal, Estou realizando alguns testes no 10g (10.2.0.1.0) e percebi que em algumas consultas o plano de execução é diferente do banco 8i (8.1.7.4.1 - Produção). O banco 10g está usando FULL TABLE SCAN, enquanto o banco 8i usa o INDEX UNIQUE SCAN UNIQUE. Os parâmetros estão iguais (quando se aplica) e as estatísticas estão sendo feitas com regularidade. Inclusive as estatísticas do 10g estão sendo feitas pelo DBMS_STATS.GATHER_SCHEMA_STATS e no 8i estão sendo feitas pelo ANALYZE. Alguém tem alguma sugestão? Obrigado, _ Augusto César Analista - DBA Oracle Montana Inteligência em Soluções Corporativas Tribunal Regional do Trabalho - 5ª Região _ MSN Messenger: converse com os seus amigos online. http://messenger.msn.com.br
[oracle_br] Avanço de linhas
Bom dia pessoal da lista, gostaria de saber se com o resultado de uma select seria possível avançar por exemplo, 4 linhas para cima e depois pegar as próximas 12 linhas. Espero ter sido claro. Obrigado pela ajuda Emerson Sanches Analista Programador [EMAIL PROTECTED] [EMAIL PROTECTED]
Re: [oracle_br] Erro Import
o export foi feito com que versão do exp? Tive problema com end-of-channel tentando subir um dump feito no 9i com client do 10g. On 5/30/07, Phael [EMAIL PROTECTED] wrote: Marcio, Não fiz update! Vou dar um shutdown/startup no banco. Talvez possa ser algum processo perdido. Vlw. Raphael -Mensagem original- De: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br [mailto: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br] Em nome de Marcio Portes Enviada em: terça-feira, 29 de maio de 2007 21:04 Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br Assunto: Re: [oracle_br] Erro Import Voce fez algum upgrade recente? para o patchset 7 por exemplo?? On 5/29/07, Phael [EMAIL PROTECTED] raphael%40usj.com.br wrote: Boa tarde, Antes de recorrer a Oracle... deixa eu ver se alguém pode me ajudar! [EMAIL PROTECTED] imp system/xx fromuser=usuario1 touser=usuario2 tables=tabela1,tabela2, tabela3 file=/home/admin20070528.dmp Import: Release 9.2.0.8.0 - Production on Tue May 29 15:51:33 2007 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. IMP-00058: ORACLE error 3113 encountered ORA-03113: end-of-file on communication channelUsername: Obs: Oracle9i Enterprise Edition Release 9.2.0.8.0 Production Red Hat AS 3.0 32bits O arquivo DMP tem 21Gb. Format ext3. O export funciona sem problemas... e o import tbm funcionava e agora esta dando esse erro(só o import)!! Alguém sabe o que pode ser? Raphael [As partes desta mensagem que não continham texto foram removidas] -- Marcio Portes Material Tecnico em Portugues - http://mportes.blogspot.com Practical Learning Oracle - http://mportes.blogspot.com/2006/02/practical-learning-oracle.html [As partes desta mensagem que não continham texto foram removidas] Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure » Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php -- -- 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/ -- Links do Yahoo! Grupos -- Marcio Portes Material Tecnico em Portugues - http://mportes.blogspot.com Practical Learning Oracle - http://mportes.blogspot.com/2006/02/practical-learning-oracle.html [As partes desta mensagem que não continham texto foram removidas] Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure » Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php -- 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/ 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] Avanço de linhas
Exemplo... mande um exemplo do que necessita. On 5/30/07, Emerson Sanches [EMAIL PROTECTED] wrote: Bom dia pessoal da lista, gostaria de saber se com o resultado de uma select seria possível avançar por exemplo, 4 linhas para cima e depois pegar as próximas 12 linhas. Espero ter sido claro. Obrigado pela ajuda Emerson Sanches Analista Programador [EMAIL PROTECTED] emerson_sanches%40yahoo.com.br [EMAIL PROTECTED] emerson%40suprens.com.br -- Marcio Portes Material Tecnico em Portugues - http://mportes.blogspot.com Practical Learning Oracle - http://mportes.blogspot.com/2006/02/practical-learning-oracle.html [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] foreign keys
Pessoal, alguém sabe me dizer se existe alguma tabela no oracle que guarde o histórico de habilitação/desabilitação de foreign keys? Precisava saber quando uma determinada foreign key foi desabilitada. Obrigado. Ricardo. [As partes desta mensagem que não continham texto foram removidas]
RES: RES: [oracle_br] Item de texto pesquisa semelhante a lov
Não conheço o forms... mas, existem várias formas de se fazer isso. se for uma base pequena, pode trazer a lista inteira e ir comparando com a lista. se for uma base grande nao faça isso hahahhahahahaha também pode criar um botão de busca na sua tela. onde ele digita algumas letras e verifica se o cliente ja existe. assim ele nao faria o cadastro. abraços -Mensagem original- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Marcos Giovani Lagassi Enviada em: quarta-feira, 30 de maio de 2007 07:44 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Item de texto pesquisa semelhante a lov Pessoal, me desculpe, é forms 6i, oracle 8i release 8.1.7. O campo é text. Obrigado. Eu até já vi no forum algumas pessoas postando que não há meios de se criar um campo auto preenchimento. Na verdade é isso que estou precisando. [ ]s --- Em [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br, Fabio Santos [EMAIL PROTECTED] escreveu so faltou dizer se vc deseja em javascript, vbscript, vb, delphi, java, c++, c#, vb.net, asp.net, forms quantas mais llinguagens tem que acessam o oracle Brincadeira. mas, especifique qual a linguagem que você está utilizando e se isso está sendo digitado em uma combo ou um campo text... ou seja, clareie nossas idéias pois nao estamos do seu lado vendo sua dificuldade. abraços -Mensagem original- De: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br] Em nome de Marcos Giovani Lagassi Enviada em: terça-feira, 29 de maio de 2007 16:11 Para: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br Assunto: [oracle_br] Item de texto pesquisa semelhante a lov Pessoal eu tenho um cadastro que o usuário tem que preenche-lo sempre que há uma nova ocorrencia, e gostaria de criar uma regra no momento em que o usuário começar a digitar um nome de cliente o mesmo inicia um filtro na base de dados com o nome que o usuário começa a digitar, finalidade de auxilia-lo, pois se no momento da inserção já existir esse nome o usuário não irá incluí-lo. Por exemplo nome : jose c nesse momento o item nome começa a mostrar os nomes que já existem na base de dados com esse combinação. Obrigado. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Atualiza estatisticas
Olá grupo! Gostaria de saber se posso rodar o comando que analisa estatística (exec dbms_utility analize_schema('nomeschema','COMPUTE') a qualquer hora do dia, no banco de produção. Att, Elaine Silva Você precisa ser a mudança que deseja ver no mundo. (Mahatma Gandhi)
RE: [oracle_br] Atualiza estatisticas
Olá Elaine. Não sou DBA e tenho pouca experiência nisso, mas acho pouco prudente rodar isso durante o dia quando existem usuários acessando. Funcionalmente não há problemas, mas o processo consome recursos do banco o que tornará lento os acessos dos demais usuários. Mais prudente é rodar em períodos com baixo consumo, usualmente de madrugada por um processo agendado. Outro detalhe, em alguns casos não é necessário usar sempre o analize compute... em **alguns casos** pode-se usar o analize estimate que é bem mais rápido e funciona bem... o que vejo os DBAs fazerem usualmente é rodar estimate durante a semana e compute no fim de semana... mas é preciso analisar cada caso (cada tabela e qual melhor estimativa). Vamos ver a opinião dos amigos DBAs, mas eu particularmente usaria os analizes individualmente por objeto para ter maior controle do que está sendo feito e pode-se fazer compute para alguns e estimate para outros de acordo com análise dos objetos. Mas enfim, não sei como funciona o pacote de utility para estatísticas. Abraço, Marco. From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of PUB: Elaine Silva Sent: quarta-feira, 30 de maio de 2007 10:26 To: oracle_br@yahoogrupos.com.br Subject: [oracle_br] Atualiza estatisticas Olá grupo! Gostaria de saber se posso rodar o comando que analisa estatística (exec dbms_utility analize_schema('nomeschema','COMPUTE') a qualquer hora do dia, no banco de produção. Att, Elaine Silva Você precisa ser a mudança que deseja ver no mundo. (Mahatma Gandhi) [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] licença banco de Homologação/Teste
Bom dia Senhores, Já ouví falar, mas não tenho uma fonte concreta tipo, o site da oracle, que não temos que pagar licença em um ambiente de desenvolvimento/homologação/Teste. Isso é confirmado? Tem algum documento dentro do site da oracle ou no metalink falando disso? Atenciosamente, /***/ /* Rodrigo Mufalani */ /* Oracle 10g Adm Certified Associate */ /***/ Aqui na Oi Internet você ganha ou ganha. Além de acesso grátis com qualidade, ganha contas ilimitadas de email com 1 giga cada uma. Ganha espaço ilimitado para hospedar sua página pessoal. Ganha flog, suporte grátis e muito mais. Baixe grátis o Discador em http://www.oi.com.br/discador e comece a ganhar. Agora, se o seu negócio é voar na internet sem pagar uma fortuna, assine Oi Internet banda larga e ganhe modem grátis. Clique em http://www.oi.com.br/bandalarga e aproveite essa moleza!
[oracle_br] Re: Parametro de entrada do tipo array na Procedure !!
Muito Obrigado Mestre Chiappa!! Sou grande admirador seu ja tem um tempo. Estou começando no oracle. Ja havia lido outro artigo seu sobre as tabelas externas.. só o que ocorre: Os arquivos .txt sao gerados sequencialmente com nomes distintos!! Desta forma nao tem como utilizar a GTT. Nao sei se conseguiremos alterar a aplicaçao para receber estes arquivos. De inicio estou tentando achar uma forma de criar um type fora da proc e passar apenas uma ( variavel := array ) como parametro da proc. Obrigado. --- Em oracle_br@yahoogrupos.com.br, jlchiappa [EMAIL PROTECTED] escreveu Ah, só outro detalhe : se vc não for usar a opção de external e ficar com a arquitetura atual, EVIDENTEMENTE, arays consomem RAM, tem limites práticos, pra grande volume é INSUPERÁVEL a opção de se ter uma GLOBAL TEMPORARY TABLE sendo preenchida pelo tal oci e fazer INSERT appends , merges e quetais nas tabelas reais com select from GTT - pra isso basta que a tal oci conecte em modo dedicado (sem pool) e mantenha a conexão, isso é tranquilo numa rotina de carga, imagino eu. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, jlchiappa jlchiappa@ escreveu Bom, respondendo à sua pergunta, pra começo de conversa vc não diz a versao de banco, mas desde a 8i um stored PL/SQL pode receber como parâmetro qquer datatype SQL, inclusive definidos pelo usuário ** e ** o PL/SQL desde essa versão aceita coleções desses datatypes, tranquilamente vc poderia ter um datatype record com o seu formato de registro E ter uma table of desse cara, http://asktom.oracle.com/pls/asktom/f? p=100:11:0P11_QUESTION_ID:208012348074#4448954729709 tem exemplo e discussão a respeito. Noto porém que SE a sua for uma versão de banco com Suporte (ie, 9i e acima), vc NÃO NECESSARIAMENTE precisaria dessa rotina extra, vc tranquilamente poderia ter uma external table e fazer o INSERT/UPDATE (ou até mesmo o novo comando MERGE!!) lendo *** diretamente *** do arquivo texto - essa opção do 9i de fazer SELECT dum arquivo- texto (external table) nunca deixa de me surpreender em performance, se vc não a considerou recomendo experimentar, seria algo tipo : BEGIN loop if dbms_applicaton_info.get_client_info.. = 'STOP' then exit; end if; procquebuscanomedearq; -- pode ser external function , java, etc alter table externaltable nnn; -- mudar nome do arq a ler insert /*+ APPEND */ into tabelareal (select * from externaltableapontandoproarquivo); -- ou MERGE, se quiser end loop; END; []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Asley mineiro_foa@ escreveu Pessoal, alguem pode me ajudar?! Recebo um arquivo .txt que atraves de uma OCI (c++) é carregada p/ oracle - De 1 em 1 segundo esta OCI recebe um arquivo .txt Depois de carregado os dados, temos uma proc para que faz um insert e update para outras tabelas!! O problema é, em vez de passar apenas uma linha na proc passar já várias linhas!! Do jeito q está a proc perde muito tempo executando apenas uma linha qdo é executada!! CREATE OR REPLACE procedure insere_daf ( pcodigodaf historicodaf.codigodaf%type, pdatasistema number, pdatagps number, pdataequipamento number, pvelocidade historicodaf.velocidade%type, pproahistoricodaf.proa%type, ptiporespostahistoricodaf.tiporesposta%type, pestado historicodaf.estado%type, pcodigoobjetohistoricodaf.codigoobjeto%type, pposicaoxnumber, pposicaoynumber ) is vposicaohistoricodaf.posicao%type; vdatasistema historicodaf.datasistema%type; vdatagps historicodaf.datagps%type; vdataequipamento historicodaf.dataequipamento%type; vcodigohistorico historicodaf.codigohistorico%type; begin ... end; / Se alguem poder me dá uma luz.. Atenciosamente, Asley
[oracle_br] Parametros de storage ao criar tabelas com JDeveloper
Caros colegas, como estão? Uso com muito sucesso o JDeveloper para criar meus modelos de dados e normalmente para criar os objetos no banco. Porém, últimamente estou precisando customizar os parametros de storage dos meus objetos, como por ex: tabespaces de índices diferente da tablespace de dados. Vocês sabem se existe alguma opcão ou até mesmo um plug-in que permita o JDeveloper especificar para qual tablespace e outros parametros de storage ? Fiz uma breve pesquisa no site da Oracle e Metalink mas não encontrei nada sobre isso. Seria muito bom poder contar com uma ferramenta mais completa na hora de criar o bancos de dados. No meu caso o JDeveloper tem se mostrado excelente, principalmente por trabalhar tão bem com o CVS, mas falta poder alterar esses detalhes. Obrigado pessoal! Abs, Vinícius [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: Parametro de entrada do tipo array na Procedure !!
Colega, a tabela GTT não tem *** NADA VEZES NADA *** a ver com os nomes dos arquivos, ok ? A minha sugestão sobre ela era que vc tivesse uma GTT criada com a estrutura do seu registro, e o programa OCI faria um INSERT nela e chamaria a procedure SEM ARGUMENTO ALGUM, a procedure leria a GTT normalmente, sendo até possível na procedure vc fazer INSERT /*+ APPEND */ tabelareal (select * from GTT); ok ? Arrays são muito bons para volumes ** PEQUENOS **, tal como eu disse a hora que eles crescem muito FATALMENTE cedo ou tarde vc esbarra nalguma limitação do PL/SQL, ou da RAM do servidor, ou coisas do tipo... O que tem a ver com o nome dos arquivos é a EXTERNAL TABLE, que é TOTALMENTE OUTRA COISA, ela é uma objeto que permite vc fazer SELECT DIRETAMENTE DE UM ARQUIVO-TEXTO, ok ? Com ela a procedure seria INSERT /*+ APPEND */ tabelareal (select * from externaltableapontandoproarquivotexto), neste caso pra que vc possa a cada vez fazer SELECT dum arquivo-texto com nome diferente, a cada vez vc faria um ALTER TABLE nomedaexternaltable LOCATION , é isso, como eu tinha dito. Essas opções PODEM não só te facilitar em muito a programação como também te dar uma melhoria boa em performance em muitos casos, fica por sua conta as avaliar, se não as conhece estude o manual Concepts, o SQL Reference e o de desenvolvedores, que vc acha ref, sintaxe e exemplos. E é claro, o livro mais recente do Tom Kyte não é nada mau pra se ter e estudar, todas as técnicas que citei também estão bem discutidas lá. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Asley [EMAIL PROTECTED] escreveu Muito Obrigado Mestre Chiappa!! Sou grande admirador seu ja tem um tempo. Estou começando no oracle. Ja havia lido outro artigo seu sobre as tabelas externas.. só o que ocorre: Os arquivos .txt sao gerados sequencialmente com nomes distintos!! Desta forma nao tem como utilizar a GTT. Nao sei se conseguiremos alterar a aplicaçao para receber estes arquivos. De inicio estou tentando achar uma forma de criar um type fora da proc e passar apenas uma ( variavel := array ) como parametro da proc. Obrigado. --- Em oracle_br@yahoogrupos.com.br, jlchiappa jlchiappa@ escreveu Ah, só outro detalhe : se vc não for usar a opção de external e ficar com a arquitetura atual, EVIDENTEMENTE, arays consomem RAM, tem limites práticos, pra grande volume é INSUPERÁVEL a opção de se ter uma GLOBAL TEMPORARY TABLE sendo preenchida pelo tal oci e fazer INSERT appends , merges e quetais nas tabelas reais com select from GTT - pra isso basta que a tal oci conecte em modo dedicado (sem pool) e mantenha a conexão, isso é tranquilo numa rotina de carga, imagino eu. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, jlchiappa jlchiappa@ escreveu Bom, respondendo à sua pergunta, pra começo de conversa vc não diz a versao de banco, mas desde a 8i um stored PL/SQL pode receber como parâmetro qquer datatype SQL, inclusive definidos pelo usuário ** e ** o PL/SQL desde essa versão aceita coleções desses datatypes, tranquilamente vc poderia ter um datatype record com o seu formato de registro E ter uma table of desse cara, http://asktom.oracle.com/pls/asktom/f? p=100:11:0P11_QUESTION_ID:208012348074#4448954729709 tem exemplo e discussão a respeito. Noto porém que SE a sua for uma versão de banco com Suporte (ie, 9i e acima), vc NÃO NECESSARIAMENTE precisaria dessa rotina extra, vc tranquilamente poderia ter uma external table e fazer o INSERT/UPDATE (ou até mesmo o novo comando MERGE!!) lendo *** diretamente *** do arquivo texto - essa opção do 9i de fazer SELECT dum arquivo- texto (external table) nunca deixa de me surpreender em performance, se vc não a considerou recomendo experimentar, seria algo tipo : BEGIN loop if dbms_applicaton_info.get_client_info.. = 'STOP' then exit; end if; procquebuscanomedearq; -- pode ser external function , java, etc alter table externaltable nnn; -- mudar nome do arq a ler insert /*+ APPEND */ into tabelareal (select * from externaltableapontandoproarquivo); -- ou MERGE, se quiser end loop; END; []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Asley mineiro_foa@ escreveu Pessoal, alguem pode me ajudar?! Recebo um arquivo .txt que atraves de uma OCI (c++) é carregada p/ oracle - De 1 em 1 segundo esta OCI recebe um arquivo .txt Depois de carregado os dados, temos uma proc para que faz um insert e update para outras tabelas!! O problema é, em vez de passar apenas uma linha na proc passar já várias linhas!! Do jeito q está a proc perde muito tempo executando apenas uma linha qdo é executada!! CREATE OR REPLACE procedure insere_daf ( pcodigodaf
Re: [oracle_br] Re: Parametro de entrada do tipo array na Procedure !!
Chiappa, Fiquei interessado no livro do Tom. Qual o título? Grato, Marcos Em 30/05/07, jlchiappa [EMAIL PROTECTED] escreveu: Colega, a tabela GTT não tem *** NADA VEZES NADA *** a ver com os nomes dos arquivos, ok ? A minha sugestão sobre ela era que vc tivesse uma GTT criada com a estrutura do seu registro, e o programa OCI faria um INSERT nela e chamaria a procedure SEM ARGUMENTO ALGUM, a procedure leria a GTT normalmente, sendo até possível na procedure vc fazer INSERT /*+ APPEND */ tabelareal (select * from GTT); ok ? Arrays são muito bons para volumes ** PEQUENOS **, tal como eu disse a hora que eles crescem muito FATALMENTE cedo ou tarde vc esbarra nalguma limitação do PL/SQL, ou da RAM do servidor, ou coisas do tipo... O que tem a ver com o nome dos arquivos é a EXTERNAL TABLE, que é TOTALMENTE OUTRA COISA, ela é uma objeto que permite vc fazer SELECT DIRETAMENTE DE UM ARQUIVO-TEXTO, ok ? Com ela a procedure seria INSERT /*+ APPEND */ tabelareal (select * from externaltableapontandoproarquivotexto), neste caso pra que vc possa a cada vez fazer SELECT dum arquivo-texto com nome diferente, a cada vez vc faria um ALTER TABLE nomedaexternaltable LOCATION , é isso, como eu tinha dito. Essas opções PODEM não só te facilitar em muito a programação como também te dar uma melhoria boa em performance em muitos casos, fica por sua conta as avaliar, se não as conhece estude o manual Concepts, o SQL Reference e o de desenvolvedores, que vc acha ref, sintaxe e exemplos. E é claro, o livro mais recente do Tom Kyte não é nada mau pra se ter e estudar, todas as técnicas que citei também estão bem discutidas lá. []s Chiappa --- Em oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br, Asley [EMAIL PROTECTED] escreveu Muito Obrigado Mestre Chiappa!! Sou grande admirador seu ja tem um tempo. Estou começando no oracle. Ja havia lido outro artigo seu sobre as tabelas externas.. só o que ocorre: Os arquivos .txt sao gerados sequencialmente com nomes distintos!! Desta forma nao tem como utilizar a GTT. Nao sei se conseguiremos alterar a aplicaçao para receber estes arquivos. De inicio estou tentando achar uma forma de criar um type fora da proc e passar apenas uma ( variavel := array ) como parametro da proc. Obrigado. --- Em oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br, jlchiappa jlchiappa@ escreveu Ah, só outro detalhe : se vc não for usar a opção de external e ficar com a arquitetura atual, EVIDENTEMENTE, arays consomem RAM, tem limites práticos, pra grande volume é INSUPERÁVEL a opção de se ter uma GLOBAL TEMPORARY TABLE sendo preenchida pelo tal oci e fazer INSERT appends , merges e quetais nas tabelas reais com select from GTT - pra isso basta que a tal oci conecte em modo dedicado (sem pool) e mantenha a conexão, isso é tranquilo numa rotina de carga, imagino eu. []s Chiappa --- Em oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br, jlchiappa jlchiappa@ escreveu Bom, respondendo à sua pergunta, pra começo de conversa vc não diz a versao de banco, mas desde a 8i um stored PL/SQL pode receber como parâmetro qquer datatype SQL, inclusive definidos pelo usuário ** e ** o PL/SQL desde essa versão aceita coleções desses datatypes, tranquilamente vc poderia ter um datatype record com o seu formato de registro E ter uma table of desse cara, http://asktom.oracle.com/pls/asktom/f? p=100:11:0P11_QUESTION_ID:208012348074#4448954729709 tem exemplo e discussão a respeito. Noto porém que SE a sua for uma versão de banco com Suporte (ie, 9i e acima), vc NÃO NECESSARIAMENTE precisaria dessa rotina extra, vc tranquilamente poderia ter uma external table e fazer o INSERT/UPDATE (ou até mesmo o novo comando MERGE!!) lendo *** diretamente *** do arquivo texto - essa opção do 9i de fazer SELECT dum arquivo- texto (external table) nunca deixa de me surpreender em performance, se vc não a considerou recomendo experimentar, seria algo tipo : BEGIN loop if dbms_applicaton_info.get_client_info.. = 'STOP' then exit; end if; procquebuscanomedearq; -- pode ser external function , java, etc alter table externaltable nnn; -- mudar nome do arq a ler insert /*+ APPEND */ into tabelareal (select * from externaltableapontandoproarquivo); -- ou MERGE, se quiser end loop; END; []s Chiappa --- Em oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br, Asley mineiro_foa@ escreveu Pessoal, alguem pode me ajudar?! Recebo um arquivo .txt que atraves de uma OCI (c++) é carregada p/ oracle - De 1 em 1 segundo esta OCI recebe um arquivo .txt Depois de carregado os dados, temos uma proc para que faz um insert e update para outras tabelas!! O problema é, em vez de passar
[oracle_br] Re: Parametro de entrada do tipo array na Procedure !!
É o Effective Oracle by Design, mas o outro livro recente dele (Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions) faz uma excelente dobradinha, eu recomendo que vc adquira ambos. Só torno a frisar, eles são muito bons mas *** NÃO SÃO substitutos dos manuais, os ler SEM ter estudado os manuais Oracle muito certamente não vai de dar um bom retorno do seu investimento, é os manuais primeiro e os livros depois, como COMPLEMENTO. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Marcos Soares [EMAIL PROTECTED] escreveu Chiappa, Fiquei interessado no livro do Tom. Qual o título? Grato, Marcos Em 30/05/07, jlchiappa [EMAIL PROTECTED] escreveu: Colega, a tabela GTT não tem *** NADA VEZES NADA *** a ver com os nomes dos arquivos, ok ? A minha sugestão sobre ela era que vc tivesse uma GTT criada com a estrutura do seu registro, e o programa OCI faria um INSERT nela e chamaria a procedure SEM ARGUMENTO ALGUM, a procedure leria a GTT normalmente, sendo até possível na procedure vc fazer INSERT /*+ APPEND */ tabelareal (select * from GTT); ok ? Arrays são muito bons para volumes ** PEQUENOS **, tal como eu disse a hora que eles crescem muito FATALMENTE cedo ou tarde vc esbarra nalguma limitação do PL/SQL, ou da RAM do servidor, ou coisas do tipo... O que tem a ver com o nome dos arquivos é a EXTERNAL TABLE, que é TOTALMENTE OUTRA COISA, ela é uma objeto que permite vc fazer SELECT DIRETAMENTE DE UM ARQUIVO-TEXTO, ok ? Com ela a procedure seria INSERT /*+ APPEND */ tabelareal (select * from externaltableapontandoproarquivotexto), neste caso pra que vc possa a cada vez fazer SELECT dum arquivo-texto com nome diferente, a cada vez vc faria um ALTER TABLE nomedaexternaltable LOCATION , é isso, como eu tinha dito. Essas opções PODEM não só te facilitar em muito a programação como também te dar uma melhoria boa em performance em muitos casos, fica por sua conta as avaliar, se não as conhece estude o manual Concepts, o SQL Reference e o de desenvolvedores, que vc acha ref, sintaxe e exemplos. E é claro, o livro mais recente do Tom Kyte não é nada mau pra se ter e estudar, todas as técnicas que citei também estão bem discutidas lá. []s Chiappa --- Em oracle_br@yahoogrupos.com.br oracle_br% 40yahoogrupos.com.br, Asley mineiro_foa@ escreveu Muito Obrigado Mestre Chiappa!! Sou grande admirador seu ja tem um tempo. Estou começando no oracle. Ja havia lido outro artigo seu sobre as tabelas externas.. só o que ocorre: Os arquivos .txt sao gerados sequencialmente com nomes distintos!! Desta forma nao tem como utilizar a GTT. Nao sei se conseguiremos alterar a aplicaçao para receber estes arquivos. De inicio estou tentando achar uma forma de criar um type fora da proc e passar apenas uma ( variavel := array ) como parametro da proc. Obrigado. --- Em oracle_br@yahoogrupos.com.br oracle_br% 40yahoogrupos.com.br, jlchiappa jlchiappa@ escreveu Ah, só outro detalhe : se vc não for usar a opção de external e ficar com a arquitetura atual, EVIDENTEMENTE, arays consomem RAM, tem limites práticos, pra grande volume é INSUPERÁVEL a opção de se ter uma GLOBAL TEMPORARY TABLE sendo preenchida pelo tal oci e fazer INSERT appends , merges e quetais nas tabelas reais com select from GTT - pra isso basta que a tal oci conecte em modo dedicado (sem pool) e mantenha a conexão, isso é tranquilo numa rotina de carga, imagino eu. []s Chiappa --- Em oracle_br@yahoogrupos.com.br oracle_br% 40yahoogrupos.com.br, jlchiappa jlchiappa@ escreveu Bom, respondendo à sua pergunta, pra começo de conversa vc não diz a versao de banco, mas desde a 8i um stored PL/SQL pode receber como parâmetro qquer datatype SQL, inclusive definidos pelo usuário ** e ** o PL/SQL desde essa versão aceita coleções desses datatypes, tranquilamente vc poderia ter um datatype record com o seu formato de registro E ter uma table of desse cara, http://asktom.oracle.com/pls/asktom/f? p=100:11:0P11_QUESTION_ID:208012348074#4448954729709 tem exemplo e discussão a respeito. Noto porém que SE a sua for uma versão de banco com Suporte (ie, 9i e acima), vc NÃO NECESSARIAMENTE precisaria dessa rotina extra, vc tranquilamente poderia ter uma external table e fazer o INSERT/UPDATE (ou até mesmo o novo comando MERGE!!) lendo *** diretamente *** do arquivo texto - essa opção do 9i de fazer SELECT dum arquivo- texto (external table) nunca deixa de me surpreender em performance, se vc não a considerou recomendo experimentar, seria algo tipo : BEGIN loop if dbms_applicaton_info.get_client_info.. = 'STOP' then exit; end if; procquebuscanomedearq; -- pode ser
Re: [oracle_br] licença banco de Homologação/Teste
Rodrigo Até onde sei, ambientes de desenvolvimento, testes e homologação também devem pagar licença de uso (da mesma forma que um ambiente de produção). O que é livre de licença (e que corresponde aos produtos disponíveis para download no site da Oracle - OTN), é a instalação apenas para teste de um protótipo de aplicação na máquina do desenvolvedor (o que fica bem longe de um servidor de desenvolvimento para valer). Costuma-se interpretar essa permissão para teste de protótipo, também, como a possibilidade de baixar o produto para teste e auto-estudo individual (sem incorrer em pirataria). [ ] André Em 30/05/07, Rodrigo Mufalani [EMAIL PROTECTED] escreveu: Bom dia Senhores, Já ouví falar, mas não tenho uma fonte concreta tipo, o site da oracle, que não temos que pagar licença em um ambiente de desenvolvimento/homologação/Teste. Isso é confirmado? Tem algum documento dentro do site da oracle ou no metalink falando disso? Atenciosamente, /***/ /* Rodrigo Mufalani */ /* Oracle 10g Adm Certified Associate */ /***/ -- Aqui na Oi Internet você ganha ou ganha. Além de acesso grátis com qualidade, ganha contas ilimitadas de email com 1 giga cada uma. Ganha espaço ilimitado para hospedar sua página pessoal. Ganha flog, suporte grátis e muito mais. Baixe grátis o Discador em http://www.oi.com.br/discador e comece a ganhar. Agora, se o seu negócio é voar na internet sem pagar uma fortuna, assine Oi Internet banda larga e ganhe 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]
Re: [oracle_br] [OFF-TOPIC] Emails da comunidade caindo no Spam do Gmail
Tá parecendo picuinha entre o Google e o Yahoo ! Em 30/05/07, Andre Santos [EMAIL PROTECTED] escreveu: Leandro Não são todos do Yahoo, pelo menos, não aqui. [ ] André Em 29/05/07, LEANDRO SOUZA RAMOS [EMAIL PROTECTED]leandrohubo%40gmail.com escreveu: Parece ser todos do YahooGrupos... []'s LEANDRO Em 29/05/07, Marcio Arcoverde [EMAIL PROTECTED]arcoverde%40gmail.comarcoverde%40gmail.com escreveu: Não é bug do gmail. Pode ser que você tenha marcado como span sem querer, ou outros usuários marcaram como span e ele passou a jogar tudo na caixa de span. Basta ir lá e marcar como NotSpan que não vai mais pra essa caixa. On 5/25/07, Cyro [EMAIL PROTECTED] cyrocunha%40gmail.comcyrocunha%40gmail.comcyrocunha% 40gmail.com wrote: Ta acontecendo a mesma coisa comigo. Deve ser bug no gmail, antes não acontecia isso. On 5/24/07, Rogério Lacerda [EMAIL PROTECTED]rogerio.lacerda%40gmail.com rogerio.lacerda%40gmail.com rogerio.lacerda%40gmail.com rogerio.lacerda%40gmail.com wrote: Bom dia pessoa, Alguns emails do grupo estão caindo da pasta de Spam do Gmail, fiquem espertos. Desculpem o OT. Abraços -- Att, Rogério Freisleben Lacerda [As partes desta mensagem que não continham texto foram removidas] -- [ ]´s Cyro [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: licença banco de Homologação/Teste
De forma alguma, a fonte de onde vc ouviu isso te contou a história pela metade, ou simplesmente omitiu mesmo : se vc consultar a fonte REAL (ie, http://www.oracle.com/corporate/pricing/index.html , é a política da matriz mas é basicamente o mesmo nos outros países) , aí vc encontra o documento oficial http://www.oracle.com/corporate/pricing/databaselicensing.pdf , que diz LITERALMENTE : Typical Database Software Environments Production Environment Backups/Failover/Standby Environments Test Environment Development Environment Why are there different environments? Today's software environments are complex, particularly with the integration of the web, the proliferation of corporate extranets, and the increased usage of corporate self-service applications. To ensure data integrity and security, companies often utilize multiple database instances to manage their application development environments. Database Environments As a general rule, Oracle's pricing practices do not restrict the number of database instances a customer installs on a server, nor do they differentiate between single server and networked environments. Multiple environments may be installed on the same server. All users of all environments must be properly licensed. Development Environment: Customers may use Oracle Full Use licenses in a development environment. Customers also may download Oracle technology products from the Oracle Technology Network (OTN) at http://otn.oracle.com/software/. In order to download an Oracle product from OTN, customers must signify their agreement to the terms of the OTN Development License. This limited license gives the user the right to develop, but not to deploy, applications using the licensed products. It also limits the use of the downloaded product to one person, and limits installation of the product to one server. Customers may not use products licensed under the OTN Development License in connection with any classroom activity, internal data processing operations, or any other commercial or production use purposes. The OTN Development License is a limited license, and is not part of the Oracle License and Services Agreement (OLSA). If a customer wants to use products licensed under an OTN Development License for any purposes other than the limited development rights granted by that license, including deployment of an application developed under an OTN Development License, he will need to contact Oracle, or an authorized Oracle reseller, to obtain the appropriate licenses. == em resumo o textoa cima especifica que OU vc usa um produto corretamente licenciado (aí não há restrição), OU vc pode baixar uma versão do produto no technet, com essa versão vc pode DESENVOLVER/programar/testar (develop) mas NÃO PODE PRODUZIR um produto que será vendido (deploy). No Contrato que vc concorda quando baixa essa versão no technet é mais claramente ainda especificado , é considerado desenvolvimento/teste quando vc está usando o produto baixado com dados NÃO SENDO DE PRODUÇÃO, e os programas que vc está criando NÂO SERÂO vendidos nem usados por usuários finais - assim, se vc é um desenvolvedor que obviamente vai vender e/ou fornecer a sua aplicação a algum cliente/usuário teu, vc até pode usar um banco não- licenciado/baixado enquanto está MODELANDO, está em TESTES, mas a hora que vc querer usar dados ** reais ** de Produção pra fazer uma homologação, ou a hora que for compilar/criar uma versão real e definitiva do teu software, licença é exigida SIM, ambas as tarefas TEM QUE serem feitas num banco licenciado normalmente. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Rodrigo Mufalani [EMAIL PROTECTED] escreveu Bom dia Senhores, Já ouví falar, mas não tenho uma fonte concreta tipo, o site da oracle, que não temos que pagar licença em um ambiente de desenvolvimento/homologação/Teste. Isso é confirmado? Tem algum documento dentro do site da oracle ou no metalink falando disso? Atenciosamente, /***/ /* Rodrigo Mufalani */ /* Oracle 10g Adm Certified Associate */ /***/ Aqui na Oi Internet você ganha ou ganha. Além de acesso grátis com qualidade, ganha contas ilimitadas de email com 1 giga cada uma. Ganha espaço ilimitado para hospedar sua página pessoal. Ganha flog, suporte grátis e muito mais. Baixe grátis o Discador em http://www.oi.com.br/discador e comece a ganhar. Agora, se o seu negócio é voar na internet sem pagar uma fortuna, assine Oi Internet banda larga e ganhe modem grátis. Clique em http://www.oi.com.br/bandalarga e aproveite essa moleza!
[oracle_br] Re: Explain Plain - 10g diferente do 8i
É óbvio que pode sim mudar, o 10g é um GRANDE SALTO em relação ao 8i, ** muitas ** features mudaram e/ou foram introduzidas no 10g e podem influenciar. Num lista rápida eu poderia citar : a. o DBMS_STATS.GATHER_SCHEMA_STATS *** não faz *** o mesmo que o ANALYZE TABLE, ** principalmente ** se vc não adiciona o FOR ALL COLUMNS/FOR COLUMNS nnn no final do analyze (que é quem cria histogramas), veja a doc dele pra vc ver o que mudou, mas de cara já digo que o GATHER_SCHEMA no default faz um MONTE de automações tentando adivinhar tamanho de histogramas e colunas a aplicar b. novos conceitos de CBO - no 10g por default já vem ligada a coleta de estatísticas do sistema (ie, referente ao hardware, tal como velocidade de I/O e RAM), o que não existia no 8i, taí outra ENORME fonte de diferenças em alguns casos c. novas features de banco - entre outras o banco 10g já não deixa (são parâmetros depreciados) vc desligar hash, traz novos algoritmos de sort e de grouping, SE vc não desligar ele vêm com um job que tenta coletar estats sozinho, tem NOVAS maneiras de se alocar RAM pro banco e pras sessões, tem mudança no comportamento de nested queries TODAS essas coisas podem dar diferença do 8i pro 10g, e elas estão todas documentadas nas notas do metalink : Upgrading from 9i to 10g - Potential Query Tuning Related Issues, nro 295819.1 , Why are my queries slow after upgrading my database? , nro 160089.1 , Query with unchanged execution plan is slower after database upgrade, nro 223806.1 , e nas notas Top 9i Parameters Affecting Performance , nro 223299.1 , Upgrading from 8.1.X to 9.X - Potential Query Tuning , nro 258167.1 , Upgrading from 8.1.X to 9.X , nro 258945.1. Eu citei as 9i porque, EVIDENTEMENTE, quase todas as difs do 8i pro 9i também se mantém, mesmo pulando a versão 9i vc AINDA tem que ver o que mudou dela do 8i - até os manuais de new features e funcionalidades depreciadas , vc TERÀ QUE ler o do 9ir1, depois o do 9ir2, antes de ler o do 10g. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Augusto Cesar [EMAIL PROTECTED] escreveu Olá pessoal, Estou realizando alguns testes no 10g (10.2.0.1.0) e percebi que em algumas consultas o plano de execução é diferente do banco 8i (8.1.7.4.1 - Produção). O banco 10g está usando FULL TABLE SCAN, enquanto o banco 8i usa o INDEX UNIQUE SCAN UNIQUE. Os parâmetros estão iguais (quando se aplica) e as estatísticas estão sendo feitas com regularidade. Inclusive as estatísticas do 10g estão sendo feitas pelo DBMS_STATS.GATHER_SCHEMA_STATS e no 8i estão sendo feitas pelo ANALYZE. Alguém tem alguma sugestão? Obrigado, _ Augusto César Analista - DBA Oracle Montana Inteligência em Soluções Corporativas Tribunal Regional do Trabalho - 5ª Região _ MSN Messenger: converse com os seus amigos online. http://messenger.msn.com.br
Res: [oracle_br] Re: licença banco de Homologa ção/Teste
Chiappa, Acho que tem um lance desses quando se é parceiro da oracle. Eu mesmo trabalhei numa empresa que não era cobrado a licença para desenvolvimento. Mas ai é aquilo, depende do nivel de parceria, contratos, etc. Abs, Nelson - Mensagem original De: jlchiappa [EMAIL PROTECTED] Para: oracle_br@yahoogrupos.com.br Enviadas: Quarta-feira, 30 de Maio de 2007 12:18:24 Assunto: [oracle_br] Re: licença banco de Homologação/Teste De forma alguma, a fonte de onde vc ouviu isso te contou a história pela metade, ou simplesmente omitiu mesmo : se vc consultar a fonte REAL (ie, http://www.oracle. com/corporate/ pricing/index. html , é a política da matriz mas é basicamente o mesmo nos outros países) , aí vc encontra o documento oficial http://www.oracle. com/corporate/ pricing/database licensing. pdf , que diz LITERALMENTE : Typical Database Software Environments Production Environment Backups/Failover/ Standby Environments Test Environment Development Environment Why are there different environments? Today's software environments are complex, particularly with the integration of the web, the proliferation of corporate extranets, and the increased usage of corporate self-service applications. To ensure data integrity and security, companies often utilize multiple database instances to manage their application development environments. Database Environments As a general rule, Oracle's pricing practices do not restrict the number of database instances a customer installs on a server, nor do they differentiate between single server and networked environments. Multiple environments may be installed on the same server. All users of all environments must be properly licensed. Development Environment: Customers may use Oracle Full Use licenses in a development environment. Customers also may download Oracle technology products from the Oracle Technology Network (OTN) at http://otn.oracle. com/software/ . In order to download an Oracle product from OTN, customers must signify their agreement to the terms of the OTN Development License. This limited license gives the user the right to develop, but not to deploy, applications using the licensed products. It also limits the use of the downloaded product to one person, and limits installation of the product to one server. Customers may not use products licensed under the OTN Development License in connection with any classroom activity, internal data processing operations, or any other commercial or production use purposes. The OTN Development License is a limited license, and is not part of the Oracle License and Services Agreement (OLSA). If a customer wants to use products licensed under an OTN Development License for any purposes other than the limited development rights granted by that license, including deployment of an application developed under an OTN Development License, he will need to contact Oracle, or an authorized Oracle reseller, to obtain the appropriate licenses. == em resumo o textoa cima especifica que OU vc usa um produto corretamente licenciado (aí não há restrição), OU vc pode baixar uma versão do produto no technet, com essa versão vc pode DESENVOLVER/ programar/ testar (develop) mas NÃO PODE PRODUZIR um produto que será vendido (deploy). No Contrato que vc concorda quando baixa essa versão no technet é mais claramente ainda especificado , é considerado desenvolvimento/ teste quando vc está usando o produto baixado com dados NÃO SENDO DE PRODUÇÃO, e os programas que vc está criando NÂO SERÂO vendidos nem usados por usuários finais - assim, se vc é um desenvolvedor que obviamente vai vender e/ou fornecer a sua aplicação a algum cliente/usuário teu, vc até pode usar um banco não- licenciado/baixado enquanto está MODELANDO, está em TESTES, mas a hora que vc querer usar dados ** reais ** de Produção pra fazer uma homologação, ou a hora que for compilar/criar uma versão real e definitiva do teu software, licença é exigida SIM, ambas as tarefas TEM QUE serem feitas num banco licenciado normalmente. []s Chiappa --- Em [EMAIL PROTECTED] os.com.br, Rodrigo Mufalani [EMAIL PROTECTED] . escreveu Bom dia Senhores, Já ouví falar, mas não tenho uma fonte concreta tipo, o site da oracle, que não temos que pagar licença em um ambiente de desenvolvimento/ homologação/ Teste. Isso é confirmado? Tem algum documento dentro do site da oracle ou no metalink falando disso? Atenciosamente, /*** * * **/ /* Rodrigo Mufalani */ /* Oracle 10g Adm Certified Associate */ /*** * * **/ - - - - - - Aqui na Oi Internet você ganha ou ganha. Além de acesso grátis com qualidade, ganha contas ilimitadas de email com 1 giga cada uma. Ganha espaço ilimitado para hospedar sua página pessoal. Ganha flog, suporte grátis e muito mais. Baixe grátis o Discador em http://www.oi.
Res: [oracle_br] Re: licença banco de Homologação/Teste
Isso são exceções,aqui a gente está falando pra usuários/empresas comuns e mortais, e de qquer maneira pra ser partner a empresa ** tem que ** ter pago/comprado produtos Oracle... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Nelson Cartaxo [EMAIL PROTECTED] escreveu Chiappa, Acho que tem um lance desses quando se é parceiro da oracle. Eu mesmo trabalhei numa empresa que não era cobrado a licença para desenvolvimento. Mas ai é aquilo, depende do nivel de parceria, contratos, etc. Abs, Nelson - Mensagem original De: jlchiappa [EMAIL PROTECTED] Para: oracle_br@yahoogrupos.com.br Enviadas: Quarta-feira, 30 de Maio de 2007 12:18:24 Assunto: [oracle_br] Re: licença banco de Homologação/Teste De forma alguma, a fonte de onde vc ouviu isso te contou a história pela metade, ou simplesmente omitiu mesmo : se vc consultar a fonte REAL (ie, http://www.oracle. com/corporate/ pricing/index. html , é a política da matriz mas é basicamente o mesmo nos outros países) , aí vc encontra o documento oficial http://www.oracle. com/corporate/ pricing/database licensing. pdf , que diz LITERALMENTE : Typical Database Software Environments Production Environment Backups/Failover/ Standby Environments Test Environment Development Environment Why are there different environments? Today's software environments are complex, particularly with the integration of the web, the proliferation of corporate extranets, and the increased usage of corporate self-service applications. To ensure data integrity and security, companies often utilize multiple database instances to manage their application development environments. Database Environments As a general rule, Oracle's pricing practices do not restrict the number of database instances a customer installs on a server, nor do they differentiate between single server and networked environments. Multiple environments may be installed on the same server. All users of all environments must be properly licensed. Development Environment: Customers may use Oracle Full Use licenses in a development environment. Customers also may download Oracle technology products from the Oracle Technology Network (OTN) at http://otn.oracle. com/software/ . In order to download an Oracle product from OTN, customers must signify their agreement to the terms of the OTN Development License. This limited license gives the user the right to develop, but not to deploy, applications using the licensed products. It also limits the use of the downloaded product to one person, and limits installation of the product to one server. Customers may not use products licensed under the OTN Development License in connection with any classroom activity, internal data processing operations, or any other commercial or production use purposes. The OTN Development License is a limited license, and is not part of the Oracle License and Services Agreement (OLSA). If a customer wants to use products licensed under an OTN Development License for any purposes other than the limited development rights granted by that license, including deployment of an application developed under an OTN Development License, he will need to contact Oracle, or an authorized Oracle reseller, to obtain the appropriate licenses. == em resumo o textoa cima especifica que OU vc usa um produto corretamente licenciado (aí não há restrição), OU vc pode baixar uma versão do produto no technet, com essa versão vc pode DESENVOLVER/ programar/ testar (develop) mas NÃO PODE PRODUZIR um produto que será vendido (deploy). No Contrato que vc concorda quando baixa essa versão no technet é mais claramente ainda especificado , é considerado desenvolvimento/ teste quando vc está usando o produto baixado com dados NÃO SENDO DE PRODUÇÃO, e os programas que vc está criando NÂO SERÂO vendidos nem usados por usuários finais - assim, se vc é um desenvolvedor que obviamente vai vender e/ou fornecer a sua aplicação a algum cliente/usuário teu, vc até pode usar um banco não- licenciado/baixado enquanto está MODELANDO, está em TESTES, mas a hora que vc querer usar dados ** reais ** de Produção pra fazer uma homologação, ou a hora que for compilar/criar uma versão real e definitiva do teu software, licença é exigida SIM, ambas as tarefas TEM QUE serem feitas num banco licenciado normalmente. []s Chiappa --- Em [EMAIL PROTECTED] os.com.br, Rodrigo Mufalani mufalani@ . escreveu Bom dia Senhores, Já ouví falar, mas não tenho uma fonte concreta tipo, o site da oracle, que não temos que pagar licença em um ambiente de desenvolvimento/ homologação/ Teste. Isso é confirmado? Tem algum documento dentro do site da oracle ou no metalink falando disso? Atenciosamente, /*** * * **/ /* Rodrigo Mufalani */ /* Oracle 10g Adm Certified Associate */
[oracle_br] Re: Atualiza estatisticas
Poder vc até pode, mas : a. fatalmente coleta de estatísticas é algo que exige grandes I/Os, a tabela tem que ser lida pra que os dados possam ser interpretados , E além disso há algum gasto de CPU pro banco interpretar os dados e b. dbms_utility é a versão mais PRÉ-HISTÓRICA, antiga e não- recomendada para se coletar estatísticas, é coisda da versão 8.0.x, num banco moderno se recomenda enfaticamente coletar-se via DBMS_STATS == assim a sua resposta é : em tese vc até pode, MAS como isso pode interferir em performance vc deveria fazer num horário fora de pico, E fazer usando a DBMS_STATS. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Elaine Silva [EMAIL PROTECTED] escreveu Olá grupo! Gostaria de saber se posso rodar o comando que analisa estatística (exec dbms_utility analize_schema('nomeschema','COMPUTE') a qualquer hora do dia, no banco de produção. Att, Elaine Silva Você precisa ser a mudança que deseja ver no mundo. (Mahatma Gandhi)
[oracle_br] Item de texto pesquisa semelhante a lov
Pessoal, me desculpe, é forms 6i, oracle 8i release 8.1.7. O campo é text. Obrigado. Eu até já vi no forum algumas pessoas postando que não há meios de se criar um campo auto preenchimento. Na verdade é isso que estou precisando. [ ]s --- Em [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br, Fabio Santos santos@ escreveu so faltou dizer se vc deseja em javascript, vbscript, vb, delphi, java, c++, c#, vb.net, asp.net, forms quantas mais llinguagens tem que acessam o oracle Brincadeira. mas, especifique qual a linguagem que você está utilizando e se isso está sendo digitado em uma combo ou um campo text... ou seja, clareie nossas idéias pois nao estamos do seu lado vendo sua dificuldade. abraços -Mensagem original- De: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br] Em nome de Marcos Giovani Lagassi Enviada em: terça-feira, 29 de maio de 2007 16:11 Para: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br Assunto: [oracle_br] Item de texto pesquisa semelhante a lov Pessoal eu tenho um cadastro que o usuário tem que preenche-lo sempre que há uma nova ocorrencia, e gostaria de criar uma regra no momento em que o usuário começar a digitar um nome de cliente o mesmo inicia um filtro na base de dados com o nome que o usuário começa a digitar, finalidade de auxilia-lo, pois se no momento da inserção já existir esse nome o usuário não irá incluí-lo. Por exemplo nome : jose c nesse momento o item nome começa a mostrar os nomes que já existem na base de dados com esse combinação. Obrigado. [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: Item de texto pesquisa semelhante a lov
Marcos, é ** claro ** que há como vc preencher um item no Forms, quem falou que não dá só pode estar omitindo a verdade - talvez quis dizer que não há como fazer sem programação, o que aí sim é normalmente correto, mas dá SIM pra fazer Tudo depende de QUANDO vc quer que esse cara seja preenchido, SE for depois duma query ou duma alteração vc poderia usar uma trigger post-query ou post-change, SE foi assim que o usuário pediu pra inserir novo registro vc colocaria a tua lógica numa trigger de criação de registro, aí vai, é isso... O que vc não conseguirá fazer facilmente é uma lógica tipo, ENQUANTO A PESSOA está digitando vc quer que alguma coisa acontecça (lov seja aberta, o que for), isso é DIFÍCIL de fazer porque o Forms ** não tem ** trigger que dispare enquanto o usuário está digitando um campo, só há triggers q disparam antes de entrar no campo e depois que tentou sair dele []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Marcos Giovani Lagassi [EMAIL PROTECTED] escreveu Pessoal, me desculpe, é forms 6i, oracle 8i release 8.1.7. O campo é text. Obrigado. Eu até já vi no forum algumas pessoas postando que não há meios de se criar um campo auto preenchimento. Na verdade é isso que estou precisando. [ ]s --- Em [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br, Fabio Santos santos@ escreveu so faltou dizer se vc deseja em javascript, vbscript, vb, delphi, java, c++, c#, vb.net, asp.net, forms quantas mais llinguagens tem que acessam o oracle Brincadeira. mas, especifique qual a linguagem que você está utilizando e se isso está sendo digitado em uma combo ou um campo text... ou seja, clareie nossas idéias pois nao estamos do seu lado vendo sua dificuldade. abraços -Mensagem original- De: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:oracle_br% 40yahoogrupos.com.br os.com.br] Em nome de Marcos Giovani Lagassi Enviada em: terça-feira, 29 de maio de 2007 16:11 Para: [EMAIL PROTECTED] mailto:oracle_br% 40yahoogrupos.com.br os.com.br Assunto: [oracle_br] Item de texto pesquisa semelhante a lov Pessoal eu tenho um cadastro que o usuário tem que preenche-lo sempre que há uma nova ocorrencia, e gostaria de criar uma regra no momento em que o usuário começar a digitar um nome de cliente o mesmo inicia um filtro na base de dados com o nome que o usuário começa a digitar, finalidade de auxilia-lo, pois se no momento da inserção já existir esse nome o usuário não irá incluí-lo. Por exemplo nome : jose c nesse momento o item nome começa a mostrar os nomes que já existem na base de dados com esse combinação. Obrigado. [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: Parametro de entrada do tipo array na Procedure !!
Putzz.. perfeito!! Agora entendi!! Origado Chiappa. --- Em oracle_br@yahoogrupos.com.br, jlchiappa [EMAIL PROTECTED] escreveu Colega, a tabela GTT não tem *** NADA VEZES NADA *** a ver com os nomes dos arquivos, ok ? A minha sugestão sobre ela era que vc tivesse uma GTT criada com a estrutura do seu registro, e o programa OCI faria um INSERT nela e chamaria a procedure SEM ARGUMENTO ALGUM, a procedure leria a GTT normalmente, sendo até possível na procedure vc fazer INSERT /*+ APPEND */ tabelareal (select * from GTT); ok ? Arrays são muito bons para volumes ** PEQUENOS **, tal como eu disse a hora que eles crescem muito FATALMENTE cedo ou tarde vc esbarra nalguma limitação do PL/SQL, ou da RAM do servidor, ou coisas do tipo... O que tem a ver com o nome dos arquivos é a EXTERNAL TABLE, que é TOTALMENTE OUTRA COISA, ela é uma objeto que permite vc fazer SELECT DIRETAMENTE DE UM ARQUIVO-TEXTO, ok ? Com ela a procedure seria INSERT /*+ APPEND */ tabelareal (select * from externaltableapontandoproarquivotexto), neste caso pra que vc possa a cada vez fazer SELECT dum arquivo-texto com nome diferente, a cada vez vc faria um ALTER TABLE nomedaexternaltable LOCATION , é isso, como eu tinha dito. Essas opções PODEM não só te facilitar em muito a programação como também te dar uma melhoria boa em performance em muitos casos, fica por sua conta as avaliar, se não as conhece estude o manual Concepts, o SQL Reference e o de desenvolvedores, que vc acha ref, sintaxe e exemplos. E é claro, o livro mais recente do Tom Kyte não é nada mau pra se ter e estudar, todas as técnicas que citei também estão bem discutidas lá. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Asley mineiro_foa@ escreveu Muito Obrigado Mestre Chiappa!! Sou grande admirador seu ja tem um tempo. Estou começando no oracle. Ja havia lido outro artigo seu sobre as tabelas externas.. só o que ocorre: Os arquivos .txt sao gerados sequencialmente com nomes distintos!! Desta forma nao tem como utilizar a GTT. Nao sei se conseguiremos alterar a aplicaçao para receber estes arquivos. De inicio estou tentando achar uma forma de criar um type fora da proc e passar apenas uma ( variavel := array ) como parametro da proc. Obrigado. --- Em oracle_br@yahoogrupos.com.br, jlchiappa jlchiappa@ escreveu Ah, só outro detalhe : se vc não for usar a opção de external e ficar com a arquitetura atual, EVIDENTEMENTE, arays consomem RAM, tem limites práticos, pra grande volume é INSUPERÁVEL a opção de se ter uma GLOBAL TEMPORARY TABLE sendo preenchida pelo tal oci e fazer INSERT appends , merges e quetais nas tabelas reais com select from GTT - pra isso basta que a tal oci conecte em modo dedicado (sem pool) e mantenha a conexão, isso é tranquilo numa rotina de carga, imagino eu. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, jlchiappa jlchiappa@ escreveu Bom, respondendo à sua pergunta, pra começo de conversa vc não diz a versao de banco, mas desde a 8i um stored PL/SQL pode receber como parâmetro qquer datatype SQL, inclusive definidos pelo usuário ** e ** o PL/SQL desde essa versão aceita coleções desses datatypes, tranquilamente vc poderia ter um datatype record com o seu formato de registro E ter uma table of desse cara, http://asktom.oracle.com/pls/asktom/f? p=100:11:0P11_QUESTION_ID:208012348074#4448954729709 tem exemplo e discussão a respeito. Noto porém que SE a sua for uma versão de banco com Suporte (ie, 9i e acima), vc NÃO NECESSARIAMENTE precisaria dessa rotina extra, vc tranquilamente poderia ter uma external table e fazer o INSERT/UPDATE (ou até mesmo o novo comando MERGE!!) lendo *** diretamente *** do arquivo texto - essa opção do 9i de fazer SELECT dum arquivo- texto (external table) nunca deixa de me surpreender em performance, se vc não a considerou recomendo experimentar, seria algo tipo : BEGIN loop if dbms_applicaton_info.get_client_info.. = 'STOP' then exit; end if; procquebuscanomedearq; -- pode ser external function , java, etc alter table externaltable nnn; -- mudar nome do arq a ler insert /*+ APPEND */ into tabelareal (select * from externaltableapontandoproarquivo); -- ou MERGE, se quiser end loop; END; []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Asley mineiro_foa@ escreveu Pessoal, alguem pode me ajudar?! Recebo um arquivo .txt que atraves de uma OCI (c++) é carregada p/ oracle - De 1 em 1 segundo esta OCI recebe um arquivo .txt Depois de carregado os dados, temos uma proc para que faz um insert e update para outras tabelas!!
Re: [oracle_br] [OFF-TOPIC] Emails da comunidade caindo no Spam do Gmail
Ademir Se não me engano, o anti-spam do Google usa alguma tecnologia tipo IA que vai aprendendo a reconhecer mensagens de spam conforme nós vamos denunciando (botão Denunciar spam do Gmail). Esse tipo de tecnologia funciona bem, se vai sendo alimentada corretamente... mas, mesmo assim, está sujeita a falhas. Com tem chegado muito spam para os grupos (com as tags que caracterizam os grupos, tipo [oracle_br], [usuarios_oracle], etc.), a probabilidade do anti-spam identificar como prováveis spams é maior. :^( [ ] André Em 30/05/07, Ademir Roque Maneira [EMAIL PROTECTED] escreveu: Tá parecendo picuinha entre o Google e o Yahoo ! Em 30/05/07, Andre Santos [EMAIL PROTECTED]andre.psantos.ti%40gmail.com escreveu: Leandro Não são todos do Yahoo, pelo menos, não aqui. [ ] André Em 29/05/07, LEANDRO SOUZA RAMOS [EMAIL PROTECTED]leandrohubo%40gmail.com leandrohubo%40gmail.com escreveu: Parece ser todos do YahooGrupos... []'s LEANDRO Em 29/05/07, Marcio Arcoverde [EMAIL PROTECTED]arcoverde%40gmail.com arcoverde%40gmail.comarcoverde%40gmail.com escreveu: Não é bug do gmail. Pode ser que você tenha marcado como span sem querer, ou outros usuários marcaram como span e ele passou a jogar tudo na caixa de span. Basta ir lá e marcar como NotSpan que não vai mais pra essa caixa. On 5/25/07, Cyro [EMAIL PROTECTED] cyrocunha%40gmail.comcyrocunha%40gmail.comcyrocunha% 40gmail.comcyrocunha% 40gmail.com wrote: Ta acontecendo a mesma coisa comigo. Deve ser bug no gmail, antes não acontecia isso. On 5/24/07, Rogério Lacerda [EMAIL PROTECTED]rogerio.lacerda%40gmail.com rogerio.lacerda%40gmail.com rogerio.lacerda%40gmail.com rogerio.lacerda%40gmail.com rogerio.lacerda%40gmail.com wrote: Bom dia pessoa, Alguns emails do grupo estão caindo da pasta de Spam do Gmail, fiquem espertos. Desculpem o OT. Abraços -- Att, Rogério Freisleben Lacerda [As partes desta mensagem que não continham texto foram removidas] -- [ ]´s Cyro [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Ajuda
Caros, Por favor me ajudem. Estou precisando criar uma procedure ou package que receber um determinado parametro e retorne um select. Qual a melhor opção? Como eu faço? Desculpe pela pergunta é que estou iniciando. Obrigado, Marcio __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: Item de texto pesquisa semelhante a lov
Chiappa é isso mesmo que estou precisando, no momento em que o usuário estiver digitando fazendo esse auto complementar. Mas mesmo assim obrigado pela sua ajuda. Vou queimar mais alguns neurônios para ver o que consigo fazer. [ ]s --- Em oracle_br@yahoogrupos.com.br, jlchiappa [EMAIL PROTECTED] escreveu Marcos, é ** claro ** que há como vc preencher um item no Forms, quem falou que não dá só pode estar omitindo a verdade - talvez quis dizer que não há como fazer sem programação, o que aí sim é normalmente correto, mas dá SIM pra fazer Tudo depende de QUANDO vc quer que esse cara seja preenchido, SE for depois duma query ou duma alteração vc poderia usar uma trigger post-query ou post-change, SE foi assim que o usuário pediu pra inserir novo registro vc colocaria a tua lógica numa trigger de criação de registro, aí vai, é isso... O que vc não conseguirá fazer facilmente é uma lógica tipo, ENQUANTO A PESSOA está digitando vc quer que alguma coisa acontecça (lov seja aberta, o que for), isso é DIFÍCIL de fazer porque o Forms ** não tem ** trigger que dispare enquanto o usuário está digitando um campo, só há triggers q disparam antes de entrar no campo e depois que tentou sair dele []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Marcos Giovani Lagassi mlagassi@ escreveu Pessoal, me desculpe, é forms 6i, oracle 8i release 8.1.7. O campo é text. Obrigado. Eu até já vi no forum algumas pessoas postando que não há meios de se criar um campo auto preenchimento. Na verdade é isso que estou precisando. [ ]s --- Em [EMAIL PROTECTED] mailto:oracle_br% 40yahoogrupos.com.br os.com.br, Fabio Santos santos@ escreveu so faltou dizer se vc deseja em javascript, vbscript, vb, delphi, java, c++, c#, vb.net, asp.net, forms quantas mais llinguagens tem que acessam o oracle Brincadeira. mas, especifique qual a linguagem que você está utilizando e se isso está sendo digitado em uma combo ou um campo text... ou seja, clareie nossas idéias pois nao estamos do seu lado vendo sua dificuldade. abraços -Mensagem original- De: [EMAIL PROTECTED] mailto:oracle_br% 40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:oracle_br% 40yahoogrupos.com.br os.com.br] Em nome de Marcos Giovani Lagassi Enviada em: terça-feira, 29 de maio de 2007 16:11 Para: [EMAIL PROTECTED] mailto:oracle_br% 40yahoogrupos.com.br os.com.br Assunto: [oracle_br] Item de texto pesquisa semelhante a lov Pessoal eu tenho um cadastro que o usuário tem que preenche- lo sempre que há uma nova ocorrencia, e gostaria de criar uma regra no momento em que o usuário começar a digitar um nome de cliente o mesmo inicia um filtro na base de dados com o nome que o usuário começa a digitar, finalidade de auxilia-lo, pois se no momento da inserção já existir esse nome o usuário não irá incluí-lo. Por exemplo nome : jose c nesse momento o item nome começa a mostrar os nomes que já existem na base de dados com esse combinação. Obrigado. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Problema com Function
Senhores da lista, boa tarde. me deparei hoje com um problema, que nunca tinha visto. criei uma function, e nela passo alguns parametros, dentro da function defini um cursor e um select para o mesmo, acontece o seguinte, qdo eu chamo essa function, passando os parametros normais, o select só retorna null, qdo fixo os dados no select, ele encontra e o result set vem com dados. abaixo está o código da function: create or replace function fn_valor_ap(v_num_ap in ap_valores.num_ap%TYPE, v_cod_empresa in ap_valores.cod_empresa%TYPE, v_valor_ap in ap_valores.valor%TYPE) return number is result number; oper varchar2(1); Valor Number; Codigo Number; cursor cur1 is select ap_valores.valor, ap_valores.cod_tip_val from ap_valores where ap_valores.cod_empresa = v_cod_empresa --// aqui se fica '01' ele acha dados and ap_valores.num_ap = v_num_ap --// aqui se fica 15846 ele acha dados and ap_valores.ies_versao_atual = 'S'; begin result := v_valor_ap; open cur1; loop fetch cur1 into valor, codigo; exit when cur1%notFound; select ies_alt_val_pag into oper from tipo_valor where tipo_valor.cod_tip_val = codigo and tipo_valor.cod_empresa = v_cod_empresa; if oper = '+' then result := result + valor; else result := result - valor; end if; end loop; return(result); EXCEPTION WHEN OTHERS THEN RETURN(NULL); end fn_valor_ap; Alguém teria idéia do que se passa?, obrigado por qquer ajuda. - - - - - - - - - - - [ ]'s Wilson Ribeiro [EMAIL PROTECTED] [As partes desta mensagem que não continham texto foram removidas]
RE: [oracle_br] Problema com Function
Wilson, você deve passar os valores dos parâmetros para o cursor também. Tenta assim: cursor cur1 (v_cod_empresa in varchar, v_num_ap in number) is select ap_valores.valor, ap_valores.cod_tip_val from ap_valores where ap_valores.cod_empresa = v_cod_empresa --// aqui se fica '01' ele acha dados and ap_valores.num_ap = v_num_ap --// aqui se fica 15846 ele acha dados and ap_valores.ies_versao_atual = 'S'; open cur1 (v_cod_empresa, v_num_ap); . Espero ter ajudado. //Neto _ From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of Wilson Ribeiro Sent: quarta-feira, 30 de maio de 2007 16:50 To: oracle_br@yahoogrupos.com.br Subject: [oracle_br] Problema com Function Senhores da lista, boa tarde. me deparei hoje com um problema, que nunca tinha visto. criei uma function, e nela passo alguns parametros, dentro da function defini um cursor e um select para o mesmo, acontece o seguinte, qdo eu chamo essa function, passando os parametros normais, o select só retorna null, qdo fixo os dados no select, ele encontra e o result set vem com dados. abaixo está o código da function: create or replace function fn_valor_ap(v_num_ap in ap_valores.num_ap%TYPE, v_cod_empresa in ap_valores.cod_empresa%TYPE, v_valor_ap in ap_valores.valor%TYPE) return number is result number; oper varchar2(1); Valor Number; Codigo Number; cursor cur1 is select ap_valores.valor, ap_valores.cod_tip_val from ap_valores where ap_valores.cod_empresa = v_cod_empresa --// aqui se fica '01' ele acha dados and ap_valores.num_ap = v_num_ap --// aqui se fica 15846 ele acha dados and ap_valores.ies_versao_atual = 'S'; begin result := v_valor_ap; open cur1; loop fetch cur1 into valor, codigo; exit when cur1%notFound; select ies_alt_val_pag into oper from tipo_valor where tipo_valor.cod_tip_val = codigo and tipo_valor.cod_empresa = v_cod_empresa; if oper = '+' then result := result + valor; else result := result - valor; end if; end loop; return(result); EXCEPTION WHEN OTHERS THEN RETURN(NULL); end fn_valor_ap; Alguém teria idéia do que se passa?, obrigado por qquer ajuda. - - - - - - - - - - - [ ]'s Wilson Ribeiro [EMAIL PROTECTED] mailto:cpd%40gmengenharia.com.br com.br [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Problema com Function
Caro Wilson, Levantando uma hipótese, visto que os tipos das colunas não estão explícitos: No comentário do cursor você diz que passando '01' para cod_empresa funciona a contento. Não ocorre de você, na chamada da função, passar 01 de forma numérica (ou mesmo 1) e a conversão para VARCHAR introduzir '1' como cod_empresa? Espero ter ajudado att Cristofer Em 30/05/07, Wilson Ribeiro [EMAIL PROTECTED] escreveu: Senhores da lista, boa tarde. me deparei hoje com um problema, que nunca tinha visto. criei uma function, e nela passo alguns parametros, dentro da function defini um cursor e um select para o mesmo, acontece o seguinte, qdo eu chamo essa function, passando os parametros normais, o select só retorna null, qdo fixo os dados no select, ele encontra e o result set vem com dados. abaixo está o código da function: create or replace function fn_valor_ap(v_num_ap in ap_valores.num_ap%TYPE, v_cod_empresa in ap_valores.cod_empresa%TYPE, v_valor_ap in ap_valores.valor%TYPE) return number is result number; oper varchar2(1); Valor Number; Codigo Number; cursor cur1 is select ap_valores.valor, ap_valores.cod_tip_val from ap_valores where ap_valores.cod_empresa = v_cod_empresa --// aqui se fica '01' ele acha dados and ap_valores.num_ap = v_num_ap --// aqui se fica 15846 ele acha dados and ap_valores.ies_versao_atual = 'S'; begin result := v_valor_ap; open cur1; loop fetch cur1 into valor, codigo; exit when cur1%notFound; select ies_alt_val_pag into oper from tipo_valor where tipo_valor.cod_tip_val = codigo and tipo_valor.cod_empresa = v_cod_empresa; if oper = '+' then result := result + valor; else result := result - valor; end if; end loop; return(result); EXCEPTION WHEN OTHERS THEN RETURN(NULL); end fn_valor_ap; Alguém teria idéia do que se passa?, obrigado por qquer ajuda. - - - - - - - - - - - [ ]'s Wilson Ribeiro [EMAIL PROTECTED] cpd%40gmengenharia.com.br [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Erro ORA-01652
Caros, boa noite. Hoje, tive um erro ORA-01652 na tablespace temp. Este erro aconteceu 3x numa aplicação que executa a query de hora em hora. Minha tablespace tem 4 Gb e meus dados do banco +- 60 Gb. Gostaria da opinião dos colegas de como calcular o tamanho de minha tablespace temp para que este erro não aconteça novamente, ou verificar as possíveis causas que geram o erro, uma vez que não é frequente. Utilizo o Oracle 9.2.0.3 em HP-UX 11.00. Qualquer sugestão será bem-vinda. Agradeço a todos a atenção, Carlim __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] UTL_SMTP
Olá pessoal, Vejam se conseguem me ajudar pois já procurei com o meu amigo google e nada encontrei. Tenho uma procedure oracle que envia email através do UTL_SMTP. Utilizo essa mesma procedure em vários servidores clientes. Porém em um novo cliente estou tendo erro na linha : UTL_SMTP.MAIL(v_conexao, v_remetente); ERRO: ORA-29279: SMTP permanent error: 501 Bad address syntax O conteudo da variavel v_remetente está correto que é [EMAIL PROTECTED]. A v_conexao eu imagino que esteja correta. Visto que passa pelas linhas v_conexao := UTL_SMTP.open_connection(v_hostemail, 25); e UTL_SMTP.HELO(v_conexao, v_hostemail); Fico no aguardo de qualquer dica pois estou a 2 dias tentando resolver e nada. Abaixo segue a procedure completa: == PROCEDURE enviar_email(i_remetente varchar2, i_destinatario VARCHAR2 , i_importance INTEGER, i_text CLOB, i_assunto VARCHAR2) RETURN INTEGER AS --variável que armazenará o endereço do servidor smtp v_hostemail VARCHAR2(40) := '192.168.0.1'; --variável de conexão com o servidor v_conexao UTL_SMTP.CONNECTION; v_tipoemail VARCHAR2(100) := 'text/html'; PROCEDURE send_header(io_conexao IN OUT UTL_SMTP.CONNECTION , i_name VARCHAR2, i_header VARCHAR2) AS BEGIN UTL_SMTP.write_data(io_conexao, i_name || ': ' || i_header || UTL_TCP.CRLF); END; BEGIN --Agora, iremos abrir o objeto Conexão v_conexao := UTL_SMTP.open_connection(v_hostemail, 25); --Procedimento para iniciar E-mail. UTL_SMTP.HELO(v_conexao, v_hostemail); --Procedimento para preencher o campo DE: do E-mail. (Remetente) UTL_SMTP.MAIL(v_conexao, v_remetente); --Procedimento para preencher o campo PARA: do E-mail (Destinatário) UTL_SMTP.RCPT(v_conexao, v_destinatario); --Procedimento para criar o Corpo do E-mail UTL_SMTP.open_data(v_conexao); send_header(v_conexao, 'From', v_remetente); send_header(v_conexao, 'To', v_destinatario); send_header(v_conexao, 'Subject', i_assunto); send_header(v_conexao, 'Content-Type', v_tipoemail); UTL_SMTP.write_data(v_conexao, i_text); UTL_SMTP.close_data(v_conexao); --Procedimento para encerrar o e-mail. UTL_SMTP.quit(v_conexao); END; == Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production PL/SQL Release 9.2.0.7.0 - Production CORE9.2.0.7.0 Production TNS for 32-bit Windows: Version 9.2.0.7.0 - Production NLSRTL Version 9.2.0.7.0 - Production Abraços, Fabio Santos MSN: [EMAIL PROTECTED] Tel (47) 9601-4524 -- Estúdio Interativo http://www.estudiointerativo.com [EMAIL PROTECTED] Tel: (47) 3028-8821 (21) 4063-8634
Re: [oracle_br] Problema com Function
Eu tenho!! NUNCA USE EXCETION WHEN OTHERS Voce está mascarando seu erro!!! Tire isso e rode a function para saber qual erro REALMENTE acontece! E, se tiver um tempinho, leia http://mportes.blogspot.com/2005/07/boas-prticas-de-programao-when-others.html On 5/30/07, Wilson Ribeiro [EMAIL PROTECTED] wrote: Senhores da lista, boa tarde. me deparei hoje com um problema, que nunca tinha visto. criei uma function, e nela passo alguns parametros, dentro da function defini um cursor e um select para o mesmo, acontece o seguinte, qdo eu chamo essa function, passando os parametros normais, o select só retorna null, qdo fixo os dados no select, ele encontra e o result set vem com dados. abaixo está o código da function: create or replace function fn_valor_ap(v_num_ap in ap_valores.num_ap%TYPE, v_cod_empresa in ap_valores.cod_empresa%TYPE, v_valor_ap in ap_valores.valor%TYPE) return number is result number; oper varchar2(1); Valor Number; Codigo Number; cursor cur1 is select ap_valores.valor, ap_valores.cod_tip_val from ap_valores where ap_valores.cod_empresa = v_cod_empresa --// aqui se fica '01' ele acha dados and ap_valores.num_ap = v_num_ap --// aqui se fica 15846 ele acha dados and ap_valores.ies_versao_atual = 'S'; begin result := v_valor_ap; open cur1; loop fetch cur1 into valor, codigo; exit when cur1%notFound; select ies_alt_val_pag into oper from tipo_valor where tipo_valor.cod_tip_val = codigo and tipo_valor.cod_empresa = v_cod_empresa; if oper = '+' then result := result + valor; else result := result - valor; end if; end loop; return(result); EXCEPTION WHEN OTHERS THEN RETURN(NULL); end fn_valor_ap; Alguém teria idéia do que se passa?, obrigado por qquer ajuda. - - - - - - - - - - - [ ]'s Wilson Ribeiro [EMAIL PROTECTED] cpd%40gmengenharia.com.br [As partes desta mensagem que não continham texto foram removidas] -- Marcio Portes Material Tecnico em Portugues - http://mportes.blogspot.com Practical Learning Oracle - http://mportes.blogspot.com/2006/02/practical-learning-oracle.html [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Ajuda
Um exemplo seria: http://mportes.blogspot.com/2005/12/retornando-ref-cursor.html On 5/30/07, Márcio Vilariño [EMAIL PROTECTED] wrote: Caros, Por favor me ajudem. Estou precisando criar uma procedure ou package que receber um determinado parametro e retorne um select. Qual a melhor opção? Como eu faço? Desculpe pela pergunta é que estou iniciando. Obrigado, Marcio __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] -- Marcio Portes Material Tecnico em Portugues - http://mportes.blogspot.com Practical Learning Oracle - http://mportes.blogspot.com/2006/02/practical-learning-oracle.html [As partes desta mensagem que não continham texto foram removidas]