Re: [oracle_br] Re: Fechando e abrindo cursor

2017-02-10 Por tôpico Roberto Warstat ro.wars...@gmail.com [oracle_br]
Muito obrigado à ajuda de vocês.
Foi interessante para aprender mais um pouco sobre o banco e ter subsídio
para falar com o meu gerente.

Abraço,
Roberto

Em 9 de fevereiro de 2017 18:45, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> Sim, mas olha o resto da frase (ênfase com *s minha) :
>
> "Earlier releases of Oracle Database default to manual undo management
> mode. To change to automatic undo management, you must first create an undo
> tablespace and then change the *** UNDO_MANAGEMENT initialization parameter
> *** to AUTO."
>
> Com esse resto da frase fica Claro imho que ele está se referindo ao **
> PARÂMETRO ** UNDO_MANAGEMENT O que eles podiam ter deixado mais claro é
> que a referência ao manual de Migration é simplesmente para
> Apontar/Referenciar eventuais side effects da mudança, mas o procedimento
> técnico para mudar é Apenas e Tão Somente esse mesmo indicado, ie, cria uma
> tablespace de UNDO e muda o parâmetro de UNDO_MANAGEMENT, só isso 
>
>  E no caso, mesmo não tenho uma instalação 9i por perto (E também  não
> tendo um DBCA 9i pra criar um banco 9i) a Documentação das versões antigas
> tá bonitinha lá aqruivada no site da Oracle, sendo que eu até dei a URL :
> nela (como eu fiz) vc consultaria e veria que existe SIM os dois
> procedimentos técnicos indicados para passar a usar AUTOMATIC UNDO, ie, a
> criação de tablespace de UNDO e a mudança do parãmetro
>
>  []s
>
>Chiappa
> 
>


Re: [oracle_br] Re: Fechando e abrindo cursor

2017-02-09 Por tôpico Roberto Warstat ro.wars...@gmail.com [oracle_br]
Retomando o assunto, sim, esse script é como se fosse a aplicação de um
PATCH. O nosso problema é que dizemos para os clientes como eles devem
proceder, mas eles fazem do jeito deles e quando algo dá errado, nós é que
temos que dar um jeito.

Estamos analisando de recomendar para os clientes que eles ativem o
gerenciamento automático de UNDO - não podemos exigir, pois cada cliente
tem a sua política e alguns são subordinados à matriz lá fora, sendo que
eles não tem poder de decisão.
Foi dito aqui que desde a versão 9i existe o gerencimento automático de
UNDO, mas lendo o Guia de Administração do 11.1 (
https://docs.oracle.com/cd/B28359_01/server.111/b28310/undo002.htm#ADMIN10180)
consta o seguinte,

*Earlier releases of Oracle Database default to manual undo management
mode. To change to automatic undo management, you must first create an undo
tablespace and then change the UNDO_MANAGEMENT initialization parameter to
AUTO. If your Oracle Database is release 9i or later and you want to change
to automatic undo management, see Oracle Database Upgrade Guide for
instructions.*

Pelo que entendo, se estiver em uma versão 9i ou 10g é necessário fazer o
upgrade para o 11g.
Seria isso mesmo ou a minha interpretação foi errada?

[]´s
Roberto

Em 7 de fevereiro de 2017 08:28, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> Sim, certamente se vc está fazendo a leitura com COMMIT parcial (o melhor
> seria COMMIT por *** TEMPO **, ie, COMMIT a cada X minutos cfrme
> https://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_
> QUESTION_ID:4951966319022 mas enfim) sim, vc diminui Enormemente a chance
> de UNDO necessário para consistência do SELCT não estar mais presente, não
> faz sentido vc além disso fechar e reabrir Cursor EVIDENTEMENTE, como
> eu disse e a esta altura está mais que claro, vc está 'comprando' essa
> menor chance de ORA-1555 a um ALTO CUSTO para a performance (vide o mesmo
> link que indiquei) mas tá... Uma Recomendação que eu faria é que vc tenha
> um DBA *** experiente ** , que tenha usado até o 9i, te ajudando nessa
> tarefa E que imponha uma mínima Exigência de tamanho de UNDO pros seus
> clientes, E também de configuração  : desde o 9i (9iR2 iirc) já existe **
> sim ** a possibilidade de UNDO automático, de UNDO_RETENTION...
>
>  Eu ** acho ** que da mesma maneira que outras softhouses exigem X Gbs de
> RAM , Y Gbs livres em disco, etc, pra usarem seus sistemas, vcs deveriam
> Pensar nisso também...
>
>  []s
>
>Chiappa
>
> OBS : é importante FRISAR que vc só obtém ORA-1555 ** se ** há Outras
> Transações concorrendo/usando UNDO - pelo que entendi esse script é tipo
> aplicação de um PATCH (ie, algo EVENTUAL e não-frequente), então nada
> impede que vcs Exijam dos clientes que eles rodem isso no horário de MENOR
> concorrência (talvez à noite, tipo), de modo a ter AINDA MAIS UMA camada de
> segurança contra ORA-1555
> 
>


Re: [oracle_br] Re: Fechando e abrindo cursor

2017-02-06 Por tôpico Roberto Warstat ro.wars...@gmail.com [oracle_br]
Muito obrigado pelas respostas.

Esse script é utilizado para fazer a criação/alteração de colunas e popular
elas com os seus defaults. Como podemos somos uma desenvolvedora de
sistemas, as tabelas podem ter os seus mais variados tamanhos, desde
algumas linhas linhas até milhares de linhas. Posto isso, o script em si
tem basicamente 3 áreas:
- criação da coluna na tabela com o seu tipo de dados e tamanho;
- caso tenha default, popula a coluna com o valor default;
- se a coluna não permitir null, faz o alter table necessário.

Essa mínima parte que passei, fica na segunda seção (popula coluna) onde
basicamente é criado um cursor para ler toda a tabela e ir fazendo o update
da coluna com o seu valor default. Para isso é usado bulk collect, com
commit a cada 50.000 registros. Esse fechamento e abertura de cursor é
feito a cada 2 milhões de registros.
Como a aplicação desses scripts é feita pelos clientes, não podemos ficar
mexendo na área de UNDO.

A minha missão agora está sendo otimizar esse script visando o uso da
criação de coluna otimizado para Oracle 11g e posteriores, e melhorando o
quê for possível para o uso no Oracle 10g e anteriores (sim, ainda temos ao
menos um cliente usando Oracle 9).

Eu imaginei que não haveria necessidade desse fechamento e reabertura do
cursor, salvo em situações aonde a área de undo seja pequena para a
quantidade de linhas a serem processadas.

Agora, como eu poderia evitar o estouro da undo no caso de estar
atualizando milhares de linhas? O BULK COLLECT com o COMMIT não iria evitar
esse estouro?

Abraço,
Roberto

Em 6 de fevereiro de 2017 19:53, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> Bem, não sabemos se tem execução multi-usuário nessa parada, mas sim, é
> verdade que no RDBMS Oracle a consistência de dados é feita com o SCN exato
> do instante em que o SQL começou : então se o tal cursor C_TABLE foi aberto
> e começou a processar em 06/02/2017 às 10h:15m:25s digamos, EVIDENTEMENTE
> ele vai enxergar os dados e os vai processar EXATAMENTE COMO ESTAVAM em
> 06/02/2017 às 10h:15m:25s : isso é uma das maiores e Melhores
> características do RDBMS Oracle, se as em 06/02/2017 às 10h:15m:26s foram
> deletados dados e a transação foi comitado, AINDA ASSIM o cursor VAI
> enxergar os dados como estavam em 06/02/2017 às 10h:15m:25s  - isso é
> Inestimável para por exemplo extratos do tipo bancário, onde vc TEM que
> enxergar os dados precisamente como estavam quando o SQL começou,
> Independente das outras operações que eventualmente estejam sendo feitas
>   E sim, tecnicamente falando se um cursor for fechado e reaberto
> EVIDENTEMENTE a query a ele associada vai ser re-executada, portanto VAI
> ganhar um novo SCN, que será o SCN da re-abertura, sim, e portanto VAI
> passar a "enxergar" os dados como estavam no novo SCN
> PORÉM, nem de longe isso faz sentido, pois há ENORMES chances de
> simplesmente essa rotina jogar a INTEGRIDADE DE DADOS lógica pela janela :
> digamos que nesse intervalo o mesmo registro que foi lido e inserido sofreu
> um DELETE e COMMIT, com a reabertura simplesmente o registro não vai
> aparecer pro CURSOR e portanto o INSERT vai estar "inválido"... E coisas do
> tipo : então a rotina que vai usar uma técnica do tipo TEM que estar
> preparada para fazer validações do tipo : como isso não é simples nem fácil
> de fazer, via de regra a recomendação é que realmente se o objetivo é se
> fazer uma DATA INGESTION, ie, a fonte de dados deve ser constantemente
> consultada para recebermos registros a INSERIR ou ATUALIZAR, o correto é vc
> ter a informação de DATA e HORA em que o registro chegou, deixar o cursor
> processar até o fim  e vc ter a rotina de carga sendo executada em
> intervalos curtos, e NÂO a mesma instância de execução ficar constantemente
> resetando a query...
>  E sim também, um efeito colateral de vc re-setar SCN fechando e reabrindo
> o Cursor é que UNDO RECORDS de SCNs anteriores são liberados/remarcados
> como não usados, sim : mas novamente, não faz sentido se arriscar à
> inconsistência de dados com isso, hoje em dia com os recursos modernos (não
> apenas o gerenciamento automático de UNDO mas a Possibilidade de **
> múltiplas ** tablespace de UNDO, o conceito de UNDO_RETENTION que é por
> TEMPO, etc) ficou impróprio imho
>
> []s
>
>   Chiappa
> 
>


[oracle_br] Fechando e abrindo cursor

2017-02-03 Por tôpico Roberto Warstat ro.wars...@gmail.com [oracle_br]
Estou dando manutenção em um script da empresa e lá pelas tantas me
apareceu o seguinte,

IF CURSOR_COUNTER >= CURSOR_FREQUENCE THEN
CLOSE C_TABLE;
OPEN C_TABLE;
CURSOR_COUNTER := 0;
END IF;

Ou seja, se o contador de resgitros atualizados do cursor passar um
determinado valor, ele irá fechar o cursor e abrir novamente, zerando o
contador.
Esse cursor é usado para atualziar o valor de campso em tabela, de forma
dinamica.

Essa estrutura deve ter sido feita na época do Oracle 9, e assim continua
até hoje.
Existe a real necessidade de se fazer isso?

Abraço,
Roberto


Re: [oracle_br] Re: Permissão para a package DBMS_D B_VERSION

2016-06-16 Por tôpico Roberto Warstat ro.wars...@gmail.com [oracle_br]
Chiappa, muito obrigado pelas considerações.

[]´s
Roberto

Em 14 de junho de 2016 10:50, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> ok, sua necessidade parece ser bem específica, vc quer saber a versão e o
> release apenas, porque (imagino) vc encontrou nos seus clientes com versão
> x / release y uma lentidão/problema qualquer relacionado à DDL , E vc sabe
> que esses clientes não resolveram e nem vão resolver o problema local deles
> (seja aplicando patch específico, seja coletando estatisticas nas tabelas
> internas, enfim, seja o que for - não é algo geral e genérico, mas sim algo
> Específico nesses releases / versões Desses clientes) : sendo isso sim, não
> há a necessidade de se obter os detalhes, imagino, então sim a package vai
> te atender, inclusive como vc viu ela pode ser usada em diretivas de
> compilação PL/SQL, que é aonde vc a planeja usar, sem necessidade de
> nenhuma lógica extra, sim...
>  As minhas necessidades como DBA normalmente são mais específicas, preciso
> obter ** detalhes ** do ambiente, o que a package não dá - como não é o seu
> caso, pode usar tranquilo, creio eu...
>
>  []s
>
>Chiappa
> 
>


Re: [oracle_br] Re: Permissão para a package DBMS_DB_VERSION

2016-06-13 Por tôpico Roberto Warstat ro.wars...@gmail.com [oracle_br]
Muito obrigado Chiappa.

Trabalho em uma fornecedora de software, e as nossas correções devem ser
executadas em vários clientes, com diferentes versões do Oracle. Como temos
um sistema para o registro das correções, temos um modelo de script para
criação de colunas, onde fazemos o replace dos campos relativos à tabela,
nome da coluna, tipo de dado, valor default e se aceita nulo ou não.
Esse modelo segue o padrão:
- cria a coluna no tamanho e tipo de dado definido;
- popula a coluna com o valor default definido;
- seta o valor default na coluna;
- altera a coluna para null ou not null.

Cada item desses é um bloco PL/SQL com tratamento de erro à parte.

De uns tempos para cá, os técnicos começaram a sinalizar da lentidão em
aplicar correções nos clientes, em razão dessa estrutura. Conversando com
um dba hoje, ele sugeriu fazer os scripts serem executados de acordo com a
versão do banco (usando a DBMS_DB_VERSION e CONDITIONAL COMPILATION
https://oracle-base.com/articles/10g/conditional-compilation-10gr2).
Acredito que usando esses dois recursos eu consiga melhorar a performance
dos scripts, sem aumentar a complexidade com criação de variáveis, selects
e afins.

Abraço,
Roberto

Em 13 de junho de 2016 19:55, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
>
> http://www.techrepublic.com/article/check-out-this-easy-way-to-find-oracle-version-information/
> diz que foi na 9iR2, mas confesso que não tinha usado isso ainda, pois
> sempre usei a V$VERSION ...
>
>  No caso, não tinha neste momento um banco anterior ao 10g para testar mas
> em princípio ambas não exigem nenhuma permissão especial :
>
> => crio um usuário rale, que só tem direito de abrir sessão :
>
> SYS@O10GR2:SQL> create user x identified by y;
>
> User X criado.
>
> SYS@O10GR2:SQL> grant create session to x;
>
> Grant bem-sucedido.
>
> => conecto com esse usuário e faço consultas com ambas as fontes :
>
> X@O10GR2:SQL> SET SERVEROUTPUT ON
> X@O10GR2:SQL> EXEC DBMS_OUTPUT.PUT_LINE ('Versão:' ||
> DBMS_DB_VERSION.VERSION || ',Rel.:' || DBMS_DB_VERSION.RELEASE);
> Versão:10,Rel.:2
>
> Procedimento PL/SQL concluído com sucesso.
>
> X@O10GR2:SQL> select * from v$version;
>
> BANNER
> 
> Oracle Database 10g Release 10.2.0.5.0 - 64bit Production
> PL/SQL Release 10.2.0.5.0 - Production
> CORE10.2.0.5.0  Production
> TNS for 64-bit Windows: Version 10.2.0.5.0 - Production
> NLSRTL Version 10.2.0.5.0 - Production
>
> X@O10GR2:SQL>
>
> ===> Cfrme acima demonstrado, a V$VERSION traz *** muito mais informação
> ***, Inclusive patchset (4o dígito) e patch level (5o conjunto de números)
> além de via de regra mostrar também SO, wordsize, então EU particularmente
> a prefiro...
>
> []s
>
>   Chiappa
> 
>


[oracle_br] Permissão para a package DBMS_DB_VERSION

2016-06-13 Por tôpico Roberto Warstat ro.wars...@gmail.com [oracle_br]
Pessoal,

Estava vendo a package DBMS_DB_VERSION e achei bem interessante para os
propósitos que tenho em mente -
http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_dbver.htm#CCHHJAGH

Pergunto, é necessário ter algum grant específico para ela? E a partir de
qual versão ela está disponível?

Abraço,
Roberto Warstat


Re: [oracle_br] A partir de qual banco está disponível o ALTER TABLE para renomear tabelas?

2014-05-14 Por tôpico Roberto Warstat ro.wars...@gmail.com [oracle_br]
Pessoal,

Muito obrigado pela ajuda de vocês. Com isso já consegui ter subsídios para
falar com o meu chefe.

Abraço,
Roberto Warstat


Em 14 de maio de 2014 09:29, Andre Santos andre.psantos...@gmail.com[oracle_br]
 escreveu:

>
>
> Roberto
>
> Para a 9.2 (9i Release 2), a documentação confirma:
>
> http://docs.oracle.com/cd/B10500_01/server.920/a96540/statements_32a.htm#2054899
>
> De qualquer forma, o comando RENAME sei que é bem antigo.
>
> [ ]
>
> André
>
>
>
> Em 14 de maio de 2014 09:16, Roberto Warstat ro.wars...@gmail.com[oracle_br]
>  escreveu:
>
>>
>>
>> Pessoal,
>>
>> Estou precisando renomear uma tabela no sistema. Para isso pensei em usar
>> o comando
>> ALTER TABLE table_old_name RENAME TO table_new_name;
>>
>> A minha dúvida é se esse comando está disponível a partir da versão 9i,
>> em razão de clientes que possuímos com essa versão do banco.
>>
>> Abraço,
>> Roberto Warstat
>>
>>
>  
>


[oracle_br] A partir de qual banco está disponível o ALTER TABLE para renomear tabelas?

2014-05-14 Por tôpico Roberto Warstat ro.wars...@gmail.com [oracle_br]
Pessoal,

Estou precisando renomear uma tabela no sistema. Para isso pensei em usar o
comando
ALTER TABLE table_old_name RENAME TO table_new_name;

A minha dúvida é se esse comando está disponível a partir da versão 9i, em
razão de clientes que possuímos com essa versão do banco.

Abraço,
Roberto Warstat


Re: [oracle_br] Re: Erro intermitente na execução de PL/SQL

2014-04-30 Por tôpico Roberto Warstat
Eu sei que fica difícil para vocês me ajudarem simplesmente com o quê eu
passei. Mas infelizmente, é o que eu tenho também.
A minha decisão já era de colocar o debug em algumas rotinas e ir
acompanhando o quê está acontecendo. Mas, uma coisa que me deixa com uma
pulga atrás da orelha, é que um dia desses compilamos os objetos na mão,
via PL/SQL Developer. O erro parou de ocorrer naquele dia, mas no dia
seguinte, ou 2 dias depois, ele voltou a ocorrer.
Não posso discordar do Milton de que as chances de ser problema com o
desenvolvimento são enormes, mas vamos combinar de que um cenário aonde o
erro pára depois de uma compilação e retorna após alguns dias aponta muito
para algo no banco.

Agradeço a ajuda de todos.

Abraço,
Roberto Warstat


Em 30 de abril de 2014 12:23, Roland Martins escreveu:

>
>
> Aproveite e dê uma checada no tipo de conexão com o banco, que versões,
> que drivers, etc.
>   Em Quarta-feira, 30 de Abril de 2014 12:19, Milton Bastos Henriquis Jr.
>  escreveu:
>
>  Roberto
>
> Tem 99% de chances do erro ser do programador (Visual Basic).
>
> Se a procedure funciona normalmente rodando direto no banco, parece muito
> provável que há algo errado ao executar
> essas procedures pelo VB.
> TEM que debugar e conferir quais os valores EXATOS dos parâmetros que
> estão sendo passado ao chamar a procedure.
>
> As vezes vc pensa que tá passando um valor, mas tá passando oo - ou de
> repente não tá nem passando algum dos valores.
> As vezes também vc pensa que está passando uma data num formato, mas o
> banco está recebendo num formato diferente.
>
> Enfim... pra nós aqui completamente as cegas, sem saber o que está
> acontecendo e sem ver esses erros fica realmente
> quase impossível, vira apenas um exercício de adivinhação. Mas por
> experiências anteriores tudo leva a crer que seja isso
> que citei acima.
>
> Faça o debug, confira os valores!
>
>
> Em 30 de abril de 2014 11:37, Roberto Warstat escreveu:
>
>
>  Ederson,
> A questão é que não tenho nenhum erro ORA. Os erros que me refiro é da
> aplicação não estar se comportando da maneira adequada.
> Conforme postei inicialmente, o problema ocorre quando executo os
> processos via front-end, que é feito em Visual Basic 6. Se executo via
> PL/SQL Developer, não tenho problemas.
>
> Abraço,
> Roberto Warstat
>
>
> Em 30 de abril de 2014 11:34,  escreveu:
>
>
>  Bom dia,
>
> Vamos lá: vc precisa colocar no texto da mensagem: os erros ORA, o número
> do erro e a mensagem com argumentos (se houver). Não coloque arquivo
> anexado pois o grupo não recebe anexos.
>
> Lembre-se que os erros que não começam com ORA- (FRM-, REP- e alguns
> mais), são mensagens da sua ferramenta de programação e devem ser debugados
> junto ao desenvolvedor da mesma.
>
> Aproveite para informar se no ALERT.log deste banco, está registrando
> algum erro durante a execução do processo que vc está verificando.
>
> Informe também se vc está usando alguma GUI como All Around PL/SQL
> Developer, Oracle Sql Developer, Toad/Squirrel etc e se já ligou o modo
> debug da ferramenta para entrar passo-a-passo em cada rotina até a
> apresentação do erro.
>
> Ederson Elias
> DBA Oracle - http://br.linkedin.com/pub/ederson-elias/24/8b/8b0
>  Labor improbus omnia vincit
>
>
>
>
>
>
>


Re: [oracle_br] Re: Erro intermitente na execução de PL/SQL

2014-04-30 Por tôpico Roberto Warstat
Ederson,
A questão é que não tenho nenhum erro ORA. Os erros que me refiro é da
aplicação não estar se comportando da maneira adequada.
Conforme postei inicialmente, o problema ocorre quando executo os processos
via front-end, que é feito em Visual Basic 6. Se executo via PL/SQL
Developer, não tenho problemas.

Abraço,
Roberto Warstat


Em 30 de abril de 2014 11:34,  escreveu:

>
>
> Bom dia,
>
> Vamos lá: vc precisa colocar no texto da mensagem: os erros ORA, o número
> do erro e a mensagem com argumentos (se houver). Não coloque arquivo
> anexado pois o grupo não recebe anexos.
>
> Lembre-se que os erros que não começam com ORA- (FRM-, REP- e alguns
> mais), são mensagens da sua ferramenta de programação e devem ser debugados
> junto ao desenvolvedor da mesma.
>
> Aproveite para informar se no ALERT.log deste banco, está registrando
> algum erro durante a execução do processo que vc está verificando.
>
> Informe também se vc está usando alguma GUI como All Around PL/SQL
> Developer, Oracle Sql Developer, Toad/Squirrel etc e se já ligou o modo
> debug da ferramenta para entrar passo-a-passo em cada rotina até a
> apresentação do erro.
>
> Ederson Elias
> DBA Oracle - http://br.linkedin.com/pub/ederson-elias/24/8b/8b0
>  Labor improbus omnia vincit
>
>  
>


[oracle_br] Erro intermitente na execução de PL/SQL

2014-04-30 Por tôpico Roberto Warstat
Bom dia pessoal,

Ambiente
Servidor: Oracle Linux Server release 6.5
Oracle: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit
Production
With the Partitioning, OLAP, Data Mining and Real Application Testing
options

Alguns processos do sistema começaram a apresentar erros: em alguns não é
feito tudo o quê deveria ser feito, em outros é gerado erro. Esses
problewmas são intermitentes e nem sempre ocorrem durante todo o dia. O
interessante é que se eu executar esses processos diretamente no banco,
através do PL/SQL Developer, não ocorre nenhum erro. O sistema é feito em
Visual Basic 6.
Uma solução temporária que encontramos é compilar os objetos, mas isso não
quer dizer que no dia seguinte o problema não volte a ocorrer.

Alguma idéia do quê poderia ser visto para tentar achar a causa?

Abraço,
Roberto Warstat


Re: [oracle_br] Executar arquivo

2014-03-14 Por tôpico Roberto Warstat
Milton,
Para essa sua solução funcionar tenho que ter o Office na máquina, correto?
E para isso o Oracle tem que estar sendo executado em um servidor Windows.

[]´s
Roberto


Em 14 de março de 2014 11:53, Milton Bastos Henriquis Jr. <
miltonbas...@gmail.com> escreveu:

>
>
> Bruno, dá pra vc fazer o seguinte:
>
>  - Pesquise primeiro como Executar comandos do sistema operacional via
> PL/SQL;
>
>  - Após descobrir isso, mande executar o Excel e o arquivo que deseja
> abrir. Exemplo:
>
> C:\Program Files\Microsoft Office\Office15>EXCEL d:\temp\teste.xls
>
>
> Acabei de testar o executável aqui e funcionou (no meu caso tenho o Office
> 2013 innstalado).
>
>
>
>
>
> Em 14 de março de 2014 11:44, Bruno N. Barboza 
> escreveu:
>
>
>>
>> Entendi...
>>
>> Mas eu digo abrir/executar um arquivo.
>> No caso seria um arquivo EXCEL
>>
>> Obrigado
>>
>>
>> Em 14 de março de 2014 11:40, Andre Machado 
>> escreveu:
>>
>>
>>>
>>> arquivos de texto sim, eh preciso criar um diretorio no oracle, depois
>>> ler ele assim
>>>
>>>
>>> declare
>>> utl_openutl_file.file_type;
>>> linha_w varchar2(4000)
>>>
>>> begin
>>>   utl_open   := utl_file.fopen('nome_diretorio', vs_nome_arq, 'r');
>>>
>>>   While 1 = 1 loop
>>>
>>>begin
>>> utl_file.get_line(utl_open, linha_w);
>>>exception when no_data_found then
>>>  exit;
>>>
>>> --trata linha
>>>end;
>>> end loop
>>> end
>>>
>>>
>>> Em 14 de março de 2014 11:34, Bruno N. Barboza <
>>> bruno.n.barb...@gmail.com> escreveu:
>>>
>>>

 Bom dia galera,

 Alguém sabe se é possível abrir um arquivo via PL/SQL?

 Ex: Abrir um arquivo de EXCEL via PL/SQL

 Obrigado

 --
 Att,
 Bruno N. Barboza

>>>
>>>
>>>
>>> --
>>> ___
>>> André Machado
>>>
>>>
>>
>>
>> --
>> Att,
>> Bruno N. Barboza
>>
>>
>  
>


Re: [oracle_br] Executar arquivo

2014-03-14 Por tôpico Roberto Warstat
Arquivos do tipo xls não é possível. Mas se quiser, pode salvar a planilha
como texto e abrir via o PL/SQL.

[]´s
Roberto


Em 14 de março de 2014 11:44, Bruno N. Barboza
escreveu:

>
>
> Entendi...
>
> Mas eu digo abrir/executar um arquivo.
> No caso seria um arquivo EXCEL
>
> Obrigado
>
>
> Em 14 de março de 2014 11:40, Andre Machado escreveu:
>
>
>>
>> arquivos de texto sim, eh preciso criar um diretorio no oracle, depois
>> ler ele assim
>>
>>
>> declare
>> utl_openutl_file.file_type;
>> linha_w varchar2(4000)
>>
>> begin
>>   utl_open   := utl_file.fopen('nome_diretorio', vs_nome_arq, 'r');
>>
>>   While 1 = 1 loop
>>
>>begin
>> utl_file.get_line(utl_open, linha_w);
>>exception when no_data_found then
>>  exit;
>>
>> --trata linha
>>end;
>> end loop
>> end
>>
>>
>> Em 14 de março de 2014 11:34, Bruno N. Barboza > > escreveu:
>>
>>
>>>
>>> Bom dia galera,
>>>
>>> Alguém sabe se é possível abrir um arquivo via PL/SQL?
>>>
>>> Ex: Abrir um arquivo de EXCEL via PL/SQL
>>>
>>> Obrigado
>>>
>>> --
>>> Att,
>>> Bruno N. Barboza
>>>
>>
>>
>>
>> --
>> ___
>> André Machado
>>
>>
>
>
> --
> Att,
> Bruno N. Barboza
>
>  
>


Re: [oracle_br] PL/SQL Developer + 64 bits

2014-02-13 Por tôpico Roberto Warstat
Milton,

Retirado da página do Pl/SQL Developer -
http://www.allroundautomations.com/plsqldev.html

*System requirements*
PL/SQL Developer will run on Windows 2000, XP, 2003, 2008, Vista, Windows 7
and Windows 8. The supported Oracle Server versions are 7.x, 8.x, 8i, 9i,
10g, 11g and 12c on any platform. To connect to an Oracle database, PL/SQL
Developer requires a 32-bit SQL*Net, Net 8, Net 9, Net 10, Net 11 or Net 12
version.

Ou seja, não tem jeito, tem que ter um client de 32 bits.

Abraço,
Roberto


Em 13 de fevereiro de 2014 12:48, Milton Bastos Henriquis Jr. <
miltonbas...@gmail.com> escreveu:

>
>
> Olá pessoal!
>
> Dei uma pesquisada no Google agora e não encontrei nenhuma novidade em
> relação a incompatibilidade entre o PL/SQL Developer e os clients 64 bits
> do Oracle Database.
>
> Será que por acaso algum colega saberia de algum workaround pra funcionar?
>
> Não pretendo instalar o client 32 bits só pra poder usar o PL/SQL
> Developer.
>
> Meu ambiente (servidor):
> Windows 8.1 64 bits
> Oracle server 11.2.0.1  64bits
> PLSQLDEV 10.0.5.1710
>
> O PL está instalado no próprio servidor (é apenas uma base de
> desenvolvimento).
>
> Será que existe alguma maneira de funcionar sem precisar instalar um
> client 32 bits?
>
> Encontrei um post num blog com o mesmo problema:
>
>
> http://brunoantognolli.wordpress.com/2013/06/04/pl-sql-developer-initialization-error-could-not-load-oci-dll/
>
>
>
>  
>


Re: [oracle_br] Criação automática de índices

2013-12-19 Por tôpico Roberto Warstat
André,

Me desculpe, mas cometi um erro ao responder a tua pergunta.
Quando estava fazendo os testes dessa criação de índices, achei que havia
criado uma FK com a claúsula USING INDEX, mas na realidade foi uma UK. Por
isso a minha resposta errônea.

Abraço,
Roberto


Em 19 de dezembro de 2013 09:55, Andre Santos
escreveu:

>
>
> Roberto
>
> Por favor, pode passar um exemplo de USING INDEX (...) com FK?
>
> [ ]
>
> André
>
>
>
> Em 18 de dezembro de 2013 19:56, Roberto Warstat 
> escreveu:
>
>
>>
>> André,
>>
>> A sintaxe "USING INDEX (..)" pode ser utilizada para FK também.
>>
>> Abraços,
>> Roberto Warstat
>>
>> Em 18/12/2013 13:59, Andre Santos escreveu:
>>
>>
>> Pessoal
>>
>>  Só um comentário... a sintaxe "USING INDEX (...)", só é válida para
>> UNIQUE ou PRIMARY KEY, correto?
>>  Nunca vi esse uso com FK (ou qualquer outro tipo de constraint).
>>
>>  Roberto, para Foreign Keys, se for desejado, o índice deve ser criado
>> separadamente (comando CREATE INDEX).
>>
>> Eu geralmente crio, mas antes avalio se já existe algum índice que
>> atenda: ou seja, cujas primeiras colunas da chave do índice coincidam com a
>> FK.
>>  Se já existir, não é necessário criar um outro só para a FK.
>>
>>  [ ]'s
>>
>>  André Santos
>>
>>
>>
>> Em 18 de dezembro de 2013 14:36,  escreveu:
>>
>>>
>>>
>>> Bom… para não haver confusão.
>>>
>>>  Segue um resumo.
>>>
>>>
>>>  Roberto,
>>>
>>>  O Oracle NÃO CRIA um índice em FK (Foreign Key) quando se cria o seu
>>> modelo físico no banco de dados, OK! O índice é criado AUTOMATICAMENTE
>>> somente quando se trata de uma PK (Primary Key) ou UK (Unique), conforme o
>>> Fabio Prado comentou. Esse é o padrão do Oracle 6 até 12c e ponto!
>>>
>>>  Porém, a observação do Ederson também está 100% correta nos dois
>>> pontos que ele citou.
>>>
>>>  Primeiro, geralmente se cria ÍNDICES em FK para evitar LOCKS, retirar
>>> CONTENÇÃO e fornecer acesso rápido aos dados quando se tem algum predicado
>>> na sua instrução SQL, WHERE coluna = ‘alguma coisa’;, isso é padrão SQL92,
>>> SQL2003, ANSI-SQL.. então.. tb disponível desde Oracle 8i… MAS, você deve
>>> mencionar EXPLICITAMENTE a utilização do índice em sua FK.
>>>
>>>  Segundo, a criação desse índice é feito a parte em outras instruções
>>> SQL, não sendo implícita do banco de dados!
>>>
>>>  Assim se resume melhor todas as explicações, que foram 100% corretas.
>>>
>>>  E tente matar esse mito na sua empresa, pq quem falou isso, não sabe
>>> que está agilizando uma instrução SQL e praticamente matando o banco de
>>> dados.
>>>
>>>  Abraços,
>>> Rodrigo Almeida
>>>
>>>
>>>  Em 18/12/2013, à(s) 11:22, ederson200...@yahoo.com.br escreveu:
>>>
>>>Correção:
>>>
>>> No texto onde se lê:
>>>
>>> --> Criar o indice em bairro.cli_cod_bairro, pode agilizar as pesquisas
>>> em cima de um "where cli_cod_bairro =", mas não é obrigatório.
>>>
>>>
>>>  O correto é:
>>>
>>> --> Criar o indice em CLIENTE.cli_cod_bairro, pode agilizar as pesquisas
>>> em cima de um "where cli_cod_bairro =", mas não é obrigatório.
>>>
>>> Meu multitask está falhando hj.
>>>
>>>
>>>
>>
>>
>  
>


Re: [oracle_br] Criação automática de índices

2013-12-18 Por tôpico Roberto Warstat













Re: [oracle_br] Criação automática de índices

2013-12-18 Por tôpico Roberto Warstat
Pessoal,

Muito obrigado pelas explicações.
Eu tinha em mente que o Oracle não criava índices automaticamente, salvo no
caso de PK´s e UK´s. Mas, tinha que tirar a dúvida, até mesmo para poder
mostrar a opinião de outros para quem vem com essa conversa.

Abraços,
Roberto


Em 18 de dezembro de 2013 13:36,  escreveu:

>
>
> Bom… para não haver confusão.
>
> Segue um resumo.
>
>
> Roberto,
>
> O Oracle NÃO CRIA um índice em FK (Foreign Key) quando se cria o seu
> modelo físico no banco de dados, OK! O índice é criado AUTOMATICAMENTE
> somente quando se trata de uma PK (Primary Key) ou UK (Unique), conforme o
> Fabio Prado comentou. Esse é o padrão do Oracle 6 até 12c e ponto!
>
> Porém, a observação do Ederson também está 100% correta nos dois pontos
> que ele citou.
>
> Primeiro, geralmente se cria ÍNDICES em FK para evitar LOCKS, retirar
> CONTENÇÃO e fornecer acesso rápido aos dados quando se tem algum predicado
> na sua instrução SQL, WHERE coluna = ‘alguma coisa’;, isso é padrão SQL92,
> SQL2003, ANSI-SQL.. então.. tb disponível desde Oracle 8i… MAS, você deve
> mencionar EXPLICITAMENTE a utilização do índice em sua FK.
>
> Segundo, a criação desse índice é feito a parte em outras instruções SQL,
> não sendo implícita do banco de dados!
>
> Assim se resume melhor todas as explicações, que foram 100% corretas.
>
> E tente matar esse mito na sua empresa, pq quem falou isso, não sabe que
> está agilizando uma instrução SQL e praticamente matando o banco de dados.
>
> Abraços,
> Rodrigo Almeida
>
>
> Em 18/12/2013, à(s) 11:22, ederson200...@yahoo.com.br escreveu:
>
> Correção:
>
> No texto onde se lê:
>
> --> Criar o indice em bairro.cli_cod_bairro, pode agilizar as pesquisas em
> cima de um "where cli_cod_bairro =", mas não é obrigatório.
>
>
> O correto é:
>
> --> Criar o indice em CLIENTE.cli_cod_bairro, pode agilizar as pesquisas
> em cima de um "where cli_cod_bairro =", mas não é obrigatório.
>
> Meu multitask está falhando hj.
>
>
>  
>


Re: [oracle_br] Criação automática de índices

2013-12-18 Por tôpico Roberto Warstat
Fábio,

Muito obrigado pela resposta.

Att.,
Roberto Warstat


Em 18 de dezembro de 2013 10:00, Fabio Prado  escreveu:

>
>
> No Oracle em qq versao indices nao sao criados automaticamebte em FKs.
> Eles soh sao criados automaticamente em PKs e UKs ok?
>
> Abs
>
> Fabio Prado
> www.fabioprado.net
> Em 18/12/2013 10:49, "Roberto Warstat"  escreveu:
>
>
>>
>> Pessoal,
>>
>> A questão é a seguinte: de acordo com a crença popular na empresa, em um
>> banco Oracle 10G (no caso estamos com o 10.2.0.5), ao criarmos uma FK ele
>> automaticamente criaria um índice. E seguindo essa mesma crença, em um
>> banco 11G isso não aconteceria.Fiz o teste de criação de uma FK em um banco
>> 10.2.0.5 e um 11.2.0.3 e em ambos o resultado foi o mesmo, o índice não foi
>> criado automaticamente.
>> Tem alguma situação aonde ao criar uma FK no Oracle 10 seja criado
>> automaticamente um índice? Considerando que a criação da FK é feita a
>> partir do script abaixo
>> alter table syn_revisao_kit add constraint srk_cps_fk foreign key
>> (cps_id) references ciap_periodo_saldo (id);
>>
>> Grato,
>> Roberto Warstat
>>
>>
>


[oracle_br] Criação automática de índices

2013-12-18 Por tôpico Roberto Warstat
Pessoal,

A questão é a seguinte: de acordo com a crença popular na empresa, em um
banco Oracle 10G (no caso estamos com o 10.2.0.5), ao criarmos uma FK ele
automaticamente criaria um índice. E seguindo essa mesma crença, em um
banco 11G isso não aconteceria.Fiz o teste de criação de uma FK em um banco
10.2.0.5 e um 11.2.0.3 e em ambos o resultado foi o mesmo, o índice não foi
criado automaticamente.
Tem alguma situação aonde ao criar uma FK no Oracle 10 seja criado
automaticamente um índice? Considerando que a criação da FK é feita a
partir do script abaixo
alter table syn_revisao_kit add constraint srk_cps_fk foreign key (cps_id)
references ciap_periodo_saldo (id);

Grato,
Roberto Warstat


Re: [oracle_br] Debugar função

2013-10-30 Por tôpico Roberto Warstat
Jales,

O usuário com o qual tu está conectado tem privilégio de debug? Se não
tiver, dê o devido privilégio e reconecte no TOAD.

Abraço,
Roberto


Em 30 de outubro de 2013 13:25, Milton Bastos Henriquis Jr. <
miltonbas...@gmail.com> escreveu:

> **
>
>
> Sim, pelo TOAD dá pra debugar sim.
>
> Sua versão do Toad é FULL?
>
>
> 2013/10/30 Jales Jose Moraes 
>
>> **
>>
>>
>> Pessoal alguém sabe como debugar uma function no TOAD? No menu, as
>> funções de DEBUG não se habilitam. Preciso debugar uma função
>> com parâmetros.
>>
>>
>  
>


[oracle_br] Perda de conexão com o banco Oracle

2013-09-18 Por tôpico Roberto Warstat
Cenário:

Servidor
Red Hat Enterprise Linux Server release 5.6 (Tikanga)
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

Client
Windows 7 Professinal 64 bit
Oracle client 11.2.0.1.0
PL/SQL Developer 9.0.6.1665

Estou usando vpn para me conectar à empresa e ao banco de dados. Está
ocorendo que se me conecto no banco via o PL/SQL Developer, ou via a nossa
aplicação, depois de um tempo sem usar (não sei precisar o tempo exato)
eu perco a conexão com o Oracle. Isso ocorre somente com esse banco. A vpn
não cai, e se eu estiver conectado via ssh no servidor do banco, também não
perco a conexão.
Se eu estiver conectado a qualquer outro banco da empresa, não perco a
conexão. Se estiver local na empresa, também não tenho problemas.
Alguma idéia da onde posso começar a procurar aonde está o problema, pois a
infra já disse que não tem problema algum no servidor, nem no banco.

Abraço,
Roberto Warstat


Re: [oracle_br] Re: Número não sendo mostrado corretamente

2013-08-16 Por tôpico Roberto Warstat
Agradeço imensamente a ajuda de vocês. Realmente era só uma questão de
visualização.
Digo que eu também achava isso, mas fiquei intrigado por que quando eu
inseria até 9 dígitos na parte inteira a parte decimal era mostrada
corretamente, e acima de 9 dígitos na parte inteira era arrendondado.

[]´s
Roberto


Em 16 de agosto de 2013 11:40, J. Laurindo Chiappa
escreveu:

> **
>
>
> Com quase Absoluta certeza, podemos dizer que é questão de CONFIGURAÇÃO aí
> da tua tool cliente PL/SQL Developer : ** todas ** tem alguma maneira de vc
> configurar a Exibição O exemplo em sqlplus :
>
> scott@o10gr2:SQL>create table tmp_cci (qtd number(20,6));
>
> Tabela criada.
>
> scott@o10gr2:SQL>insert into tmp_cci values (123456789123.123456);
>
> 1 linha criada.
>
> scott@o10gr2:SQL>commit;
>
> Commit concluÝdo.
>
> scott@o10gr2:SQL>select * from tmp_cci;
>
> QTD
> --
> 1,2346E+11
>
> scott@o10gr2:SQL>set numwidth 21
> scott@o10gr2:SQL>/
>
> QTD
> -
> 123456789123,123456
>
> scott@o10gr2:SQL>set numformat 999G999G999G999D99
> scott@o10gr2:SQL>/
>
> QTD
> ---
> 123.456.789.123,123456
>
> okdoc ?? Então CONSULTE a Documentação da sua tool (e os Fóruns, usuários,
> etc) para saber qual a maneira de a configurar  Isso varia : algumas
> (como o SQL developer, por exemplo) vc pode configurar no menu de Options,
> outras vc configura criando variáveis de ambiente NLS, algumas é via
> arquivo de config... Veja aí qual é o caso da sua
>
> []s
>
> Chiappa
>
> --- Em oracle_br@yahoogrupos.com.br, Roberto Warstat 
> escreveu
>
> >
> > Pessoal,
> >
> > A situação é a seguinte:
> >
> > Crio uma tabela conforme abaixo
> > create table tmp_cci (qtd number(20,6));
> >
> > e insiro um registro
> > insert into tmp_cci values (123456789123.123456);
> > commit;
> >
> > ao consultar o valor, a parte decimal está errada
> > select * from tmp_cci
> >
> > QTD
> > --
> > 123456789123,123001
> >
> > mas, se a parte inteira do valor tiver até 9 dígitos, a parte decimal é
> > msotrada corretamente
> > update tmp_cci
> > set qtd = 123456789.123456;
> > commit;
> >
> > select * from tmp_cci;
> > QTD
> > --
> > 123456789,123456
> >
> > Estou usando Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 em
> > Red Hat.
> > Do lado client é PL/SQL Developer 9.06
> >
> > Obrigado,
> > Roberto
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>  
>


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





--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

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

<*> Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

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




[oracle_br] Número não sendo mostrado corretamente

2013-08-16 Por tôpico Roberto Warstat
Pessoal,

A situação é a seguinte:

Crio uma tabela conforme abaixo
create table tmp_cci (qtd number(20,6));

e insiro um registro
insert into tmp_cci values (123456789123.123456);
commit;

ao consultar o valor, a parte decimal está errada
select * from tmp_cci

   QTD
--
   123456789123,123001

mas, se a parte inteira do valor tiver até 9 dígitos, a parte decimal é
msotrada corretamente
update tmp_cci
set qtd = 123456789.123456;
commit;

select * from tmp_cci;
   QTD
--
  123456789,123456

Estou usando Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 em
Red Hat.
Do lado client é PL/SQL Developer 9.06

Obrigado,
Roberto


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



Re: [oracle_br] Re: Duvida

2013-02-11 Por tôpico Roberto Warstat
Gabriel,

Coloca todo o teu código modificado. Só uma parte é difícil, pois não 
sabemos o quê foi substituído pelo quê.

[]´s
Roberto

Em 11/02/2013 22:35, gabriel Tomaz escreveu:
>
>
> Uma das alterações que fiz foi colocar um while mas também não deu 
> certo, se alguém pode ajudar
>
> BEGINWHILE L_cont < Length(L_VFRASE)+ 100 
> LOOPDBMS_OUTPUT.put_line('Frase é maior que 100 caracteres'); WHILE 
> L_VFRASE > 100 LOOPIF L_VFRASE := INSTR( L_VFRASE,' ');
> > To: oracle_br@yahoogrupos.com.br 
> > From: gabriel_tom...@hotmail.com 
> > Date: Tue, 12 Feb 2013 00:20:08 +
> > Subject: RE: [oracle_br] Re: Duvida
> >
> >
> > Eu fiz algumas alterações no codigo mas não deu certo.Se alguém pode 
> me ajudar
> > O erro que aparece e o mesmo.
> >
> > To: oracle_br@yahoogrupos.com.br 
> > From: ro.wars...@gmail.com 
> > Date: Mon, 11 Feb 2013 21:02:32 -0200
> > Subject: Re: [oracle_br] Re: Duvida
> >
> >
> > Como eu havia falado em alguma mensagem lá atrás, o IF serve para 
> testar
> >
> > valores e decidir qual caminho a ser seguido. Sugiro que procure pela
> >
> > documentação sobre IF e ajuste esse que está erro.
> >
> > Nota que o segundo IF que tu fez está certo.
> >
> >
> >
> > []´s
> >
> > Roberto
> >
> >
> >
> > Em 11/02/2013 20:56, gabriel Tomaz escreveu:
> >
> > >
> >
> > >
> >
> > > O erro estar dando no Primeiro " IF" onde estar em negrito.
> >
> > > O erro e o seguinte:
> >
> > > ORA-06550:linha 15, coluna 61:PLS-00103: Encontrato o símbolo";"
> >
> > > quando um dos seguites símbolos era esperado:
> >
> > > .(*%_=-+ at is mod remainder not rem then< > or!+=or~=>=<=<>and or
> >
> > > like like2_like4_likec_between||multiset member
> >
> > > SUBMULTISET_ORA-06550:linha34,coluna5:PLS-00103:encontrado o
> >
> > > símbolo"IF" quando um dos seguintes símbolos esra esperado:loop
> >
> > > DECLAREL_VFRASE VARCHAR2(240) := '&Digite uma Frase.';L_VFRASE_TEST
> >
> > > VARCHAR2(240);L_VFRASE_NOVO VARCHAR2(240);L_VQBR_LINHA
> >
> > > VARCAHAR2(240);L_VALOR_NOVO VARCAHAR2(240);L_TESTE_QBR
> >
> > > VARCAHAR2(240);L_FRA_CERT VARCAHAR2(240);L_FRASE
> >
> > > VARCAHAR2(240);L_VFRASE_TEST1 VARCHAR2(240);BEGINWHILE L_VFRASE > 100
> >
> > > LOOPIF DBMS_OUTPUT.put_line('Frase é maior que 100
> >
> > > caracteres');L_VFRASE := INSTR( L_VFRASE,' ');L_VFRASE_TEST :=
> >
> > > L_VFRASE + L_VFRASE_TEST;L_VFRASE_TEST := 0;L_VQBRLINHA := L_VFRASE +
> >
> > > L_valor_novo;L_VQBRLINHA := -1;L_TESTE_QBR :=
> >
> > > SUBSTR(NL_FRA_CERT,NL_valor_novo);L_FRASE :=
> >
> > > SUBSTR(L_FRA_CERT,L_VALOR_NOVO +LENGTH(L_FRA_CERT));IF L_VQBRLINHA 
> <10
> >
> > > thenL_L_TESTE_QBR := 
> CONCAT(concat(L_VFRASE_TEST1,''),L_TESTE_QBR);END
> >
> > > IF;dbms_output.put_line(L_VFRASE);dbms_output.put_line
> >
> > > (L_TESTE_QBR);dbms_output.put_line
> >
> > > (L_FRASE);dbms_output.put_line(L_VQBRLINHA);END IF;END LOOP;END;
> >
> > > To: oracle_br@yahoogrupos.com.br 
> 
> >
> > > From: ro.wars...@gmail.com 
> >
> > > Date: Mon, 11 Feb 2013 20:37:04 -0200
> >
> > > Subject: Re: [oracle_br] Re: Duvida
> >
> >
> > > Gabriel,
> >
> > > O grupo não aceita anexos.
> >
> >
> > > Cola o teu código aqui - FORMATADO - e coloca também a mensagem de 
> erro.
> >
> >
> > > []´s
> > > Roberto
>


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



Re: [oracle_br] Re: Duvida

2013-02-11 Por tôpico Roberto Warstat
Como eu havia falado em alguma mensagem lá atrás, o IF serve para testar 
valores e decidir qual caminho a ser seguido. Sugiro que procure pela 
documentação sobre IF e ajuste esse que está erro.
Nota que o segundo IF que tu fez está certo.

[]´s
Roberto

Em 11/02/2013 20:56, gabriel Tomaz escreveu:
>
>
> O erro estar dando no Primeiro " IF" onde estar em negrito.
> O erro e o seguinte:
> ORA-06550:linha 15, coluna 61:PLS-00103: Encontrato o símbolo";" 
> quando um dos seguites símbolos era esperado:
> .(*%_=-+ at is mod remainder not rem then< > or!+=or~=>=<=<>and or 
> like like2_like4_likec_between||multiset member 
> SUBMULTISET_ORA-06550:linha34,coluna5:PLS-00103:encontrado o 
> símbolo"IF" quando um dos seguintes símbolos esra esperado:loop
> DECLAREL_VFRASE VARCHAR2(240) := '&Digite uma Frase.';L_VFRASE_TEST 
> VARCHAR2(240);L_VFRASE_NOVO VARCHAR2(240);L_VQBR_LINHA 
> VARCAHAR2(240);L_VALOR_NOVO VARCAHAR2(240);L_TESTE_QBR 
> VARCAHAR2(240);L_FRA_CERT VARCAHAR2(240);L_FRASE 
> VARCAHAR2(240);L_VFRASE_TEST1 VARCHAR2(240);BEGINWHILE L_VFRASE > 100 
> LOOPIF DBMS_OUTPUT.put_line('Frase é maior que 100 
> caracteres');L_VFRASE := INSTR( L_VFRASE,' ');L_VFRASE_TEST := 
> L_VFRASE + L_VFRASE_TEST;L_VFRASE_TEST := 0;L_VQBRLINHA := L_VFRASE + 
> L_valor_novo;L_VQBRLINHA := -1;L_TESTE_QBR := 
> SUBSTR(NL_FRA_CERT,NL_valor_novo);L_FRASE := 
> SUBSTR(L_FRA_CERT,L_VALOR_NOVO +LENGTH(L_FRA_CERT));IF L_VQBRLINHA <10 
> thenL_L_TESTE_QBR := CONCAT(concat(L_VFRASE_TEST1,''),L_TESTE_QBR);END 
> IF;dbms_output.put_line(L_VFRASE);dbms_output.put_line 
> (L_TESTE_QBR);dbms_output.put_line 
> (L_FRASE);dbms_output.put_line(L_VQBRLINHA);END IF;END LOOP;END;
> To: oracle_br@yahoogrupos.com.br 
> From: ro.wars...@gmail.com 
> Date: Mon, 11 Feb 2013 20:37:04 -0200
> Subject: Re: [oracle_br] Re: Duvida
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Gabriel,
>
>
>
> O grupo não aceita anexos.
>
> Cola o teu código aqui - FORMATADO - e coloca também a mensagem de erro.
>
>
>
> []´s
>
> Roberto
>
>
>



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



Re: [oracle_br] Re: Duvida

2013-02-11 Por tôpico Roberto Warstat
Sugestão, antes de tenta executa no SQL*Plus, coloca o teu programa em um
editor tipo bloco de notas e verifica ele. Aí vai começar a aparecer os
erros.
Usa a identação para melhorar a leitura do programa.

[]´s
Roberto


Em 11 de fevereiro de 2013 14:54, gabriel Tomaz
escreveu:

>
> Qual seria o tipo de dados correto?
>
> To: oracle_br@yahoogrupos.com.br
> From: ro.wars...@gmail.com
> Date: Mon, 11 Feb 2013 14:47:57 -0200
> Subject: Re: [oracle_br] Re: Duvida
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>   Gabriel,
>
>
>
> Antes de mais nada, esse teu código está funcionando?
>
> Dando uma olhada aqui eu reparei que:
>
> - a declaração das
>
> variáveis L_VQBRLINHA, L_valor_novo, L_TESTE_QBR, L_FRA_cert e L_frase
>
> estão incorretas - o tipo de dados foi escrito errado;
>
> - está faltando END LOOP e END IF;
>
>
>
> Corrige esse itens, executa o teu programa e se tiver dúvida posta de novo,
>
> com o programa funcionando, como está sendo a saída e como tu
>
> gostaria\entende que deveria ser.
>
>
>
> []´s
>
> Roberto
>
>
>
> Em 11 de fevereiro de 2013 14:42, gabriel Tomaz
>
> gabriel_tom...@hotmail.com>escreveu:
>
>
>
> >
>
> > Com base no uso da SUBSTR alguém poderia validar ou aperfeiçoar o código
>
> > ou da dicas para melhorar.
>
> >
>
> > DECLARE
>
> > L_VFRASE  VARCHAR2(240) := '&Digite uma Frase.';L_VFRASE_TEST
>
> > VARCHAR2(240);L_VFRASE_NOVO VARCHAR2(240);L_VQBRLINHA
>
> > VARCAHR2(240);L_valor_novo  VARCAHR2(240);L_TESTE_QBR
>
> > VARCAHR2(240);L_FRA_certVARCAHR2(240);L_frase
>
> > VARCAHR2(240);L_VFRASE_TEST1VARCHAR2(240);
>
> >
>
> > BEGIN
>
> > FOR L_VFRASE > 100 LOOPIF DBMS_OUTPUT.put_line('Frase é maior que 100
>
> > caracteres');L_VFRASE  := INSTR( L_VFRASE,' ');L_VFRASE_TEST
>
> >   := L_VFRASE + L_VFRASE_TEST;L_VFRASE_TEST := 0;L_VQBRLINHA
>
> > :=  L_VFRASE + L_valor_novo;L_VQBRLINHA   :=
>
> >  -1;L_TESTE_QBR   := SUBSTR(L_FRA_CERT,L_valor_novo);L_FRASE
>
> > := SUBSTR(L_FRA_CERT,L_VALOR_NOVO + LENGTH(L_FRA_CERT));
>
> > IF L_VQBRLINHA <10 then
>
> > L_L_TESTE_QBR := (CONCAT(L_VFRASE_TEST1,''),L_TESTE_QBR);
>
> > END IF:dbms_output.put_line(L_VFRASE);dbms_output.put_line
>
> > (L_TESTE_QBR);dbms_output.put_line (L_FRASE);
>
> > dbms_output.put_line(L_VQBRLINHA);
>
> > END;
>
> > CC: oracle_br@yahoogrupos.com.br
>
> > To: oracle_br@yahoogrupos.com.br
>
> > From: alisson...@yahoo.com.br
>
> > Date: Mon, 11 Feb 2013 13:24:44 -0200
>
> > Subject: Re: [oracle_br] Re: Duvida
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >   Select subtr('teste',0,1) from dual;
>
> >
>
> >
>
> >
>
> > Nesse caso o resultado seria a letra 't'
>
> >
>
> >
>
> >
>
> > Enviado via iPhone Alisson Luz
>
> >
>
> >
>
> >
>
> > Em 11/02/2013, às 13:56, gabriel Tomaz gabriel_tom...@hotmail.com>
>
> > escreveu:
>
> >
>
> >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > > Estou dando uma lida aqui. Alguém teria algum exemplo dessa função
> SUBTR
>
> > ?No exemplo que digitei abaixo esta correto meu raciocínio?
>
> >
>
> > > To: oracle_br@yahoogrupos.com.br
>
> >
>
> > > From: jlchia...@yahoo.com.br
>
> >
>
> > > Date: Mon, 11 Feb 2013 14:47:54 +
>
> >
>
> > > Subject: [oracle_br] Re: Duvida
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >Bom, não vou me meter a codificar na prática (não serei
>
> > desmancha-prazeres tirando a sua alegria) mas : Imaginando que o limite
> da
>
> > linha é de 100 caracteres, E QUE o sql*plus já foi configurado com SET
>
> > LINESIZE 100, temos que :
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> > >  - se a linha é de 100 caracteres e a qtdade de colunas está definida
> na
>
> > variável V_QTD_COL (digamos), aí 100 / V_QTD_COL te dá o tamanho de cada
>
> > coluna em caracteres , são pedaços desse tamanho da string original que
> vc
>
> > vai ter que extrair
>
> >
>
> > >
>
> >
>
> > >  - o principal comando para vc extrair uma substring a partir de uma
>
> > string maior é o SUBSTR, consulte a Documentação para vc aprender o uso
> dele
>
> >
>
> > >
>
> >
>
> > >  - não há um "comando" para quebrar linhas no PL/SQL, nem na package
>
> > DBMS_OUTPUT (que é o que vc está usando) : o que vc vai ter que fazer é
> OU
>
> > inserir na string a ser exibida o(s) caracteres de controle que sinalizam
>
> > end of line (se o seu sistema operacional for Windows eles são CHR(13) ||
>
> > CHR(10) , enquanto no Linux/Unix é só o CHR(13)
>
> >
>
> > >
>
> >
>
> > > - eu entendo que a idéia é que, se o fim da coluna não cai num es

Re: [oracle_br] Re: Duvida

2013-02-11 Por tôpico Roberto Warstat
Gabriel,

Antes de mais nada, esse teu código está funcionando?
Dando uma olhada aqui eu reparei que:
- a declaração das
variáveis L_VQBRLINHA, L_valor_novo, L_TESTE_QBR, L_FRA_cert e L_frase
estão incorretas - o tipo de dados foi escrito errado;
- está faltando END LOOP e END IF;

Corrige esse itens, executa o teu programa e se tiver dúvida posta de novo,
com o programa funcionando, como está sendo a saída e como tu
gostaria\entende que deveria ser.

[]´s
Roberto


Em 11 de fevereiro de 2013 14:42, gabriel Tomaz
escreveu:

>
> Com base no uso da SUBSTR alguém poderia validar ou aperfeiçoar o código
> ou da dicas para melhorar.
>
> DECLARE
> L_VFRASE  VARCHAR2(240) := '&Digite uma Frase.';L_VFRASE_TEST
> VARCHAR2(240);L_VFRASE_NOVO VARCHAR2(240);L_VQBRLINHA
> VARCAHR2(240);L_valor_novo  VARCAHR2(240);L_TESTE_QBR
> VARCAHR2(240);L_FRA_certVARCAHR2(240);L_frase
> VARCAHR2(240);L_VFRASE_TEST1VARCHAR2(240);
>
> BEGIN
> FOR L_VFRASE > 100 LOOPIF DBMS_OUTPUT.put_line('Frase é maior que 100
> caracteres');L_VFRASE  := INSTR( L_VFRASE,' ');L_VFRASE_TEST
>   := L_VFRASE + L_VFRASE_TEST;L_VFRASE_TEST := 0;L_VQBRLINHA
> :=  L_VFRASE + L_valor_novo;L_VQBRLINHA   :=
>  -1;L_TESTE_QBR   := SUBSTR(L_FRA_CERT,L_valor_novo);L_FRASE
> := SUBSTR(L_FRA_CERT,L_VALOR_NOVO + LENGTH(L_FRA_CERT));
> IF L_VQBRLINHA <10 then
> L_L_TESTE_QBR := (CONCAT(L_VFRASE_TEST1,''),L_TESTE_QBR);
> END IF:dbms_output.put_line(L_VFRASE);dbms_output.put_line
> (L_TESTE_QBR);dbms_output.put_line (L_FRASE);
> dbms_output.put_line(L_VQBRLINHA);
> END;
> CC: oracle_br@yahoogrupos.com.br
> To: oracle_br@yahoogrupos.com.br
> From: alisson...@yahoo.com.br
> Date: Mon, 11 Feb 2013 13:24:44 -0200
> Subject: Re: [oracle_br] Re: Duvida
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>   Select subtr('teste',0,1) from dual;
>
>
>
> Nesse caso o resultado seria a letra 't'
>
>
>
> Enviado via iPhone Alisson Luz
>
>
>
> Em 11/02/2013, às 13:56, gabriel Tomaz gabriel_tom...@hotmail.com>
> escreveu:
>
>
>
> >
>
> >
>
> > Estou dando uma lida aqui. Alguém teria algum exemplo dessa função SUBTR
> ?No exemplo que digitei abaixo esta correto meu raciocínio?
>
> > To: oracle_br@yahoogrupos.com.br
>
> > From: jlchia...@yahoo.com.br
>
> > Date: Mon, 11 Feb 2013 14:47:54 +
>
> > Subject: [oracle_br] Re: Duvida
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >Bom, não vou me meter a codificar na prática (não serei
> desmancha-prazeres tirando a sua alegria) mas : Imaginando que o limite da
> linha é de 100 caracteres, E QUE o sql*plus já foi configurado com SET
> LINESIZE 100, temos que :
>
> >
>
> >
>
> >
>
> >  - se a linha é de 100 caracteres e a qtdade de colunas está definida na
> variável V_QTD_COL (digamos), aí 100 / V_QTD_COL te dá o tamanho de cada
> coluna em caracteres , são pedaços desse tamanho da string original que vc
> vai ter que extrair
>
> >
>
> >  - o principal comando para vc extrair uma substring a partir de uma
> string maior é o SUBSTR, consulte a Documentação para vc aprender o uso dele
>
> >
>
> >  - não há um "comando" para quebrar linhas no PL/SQL, nem na package
> DBMS_OUTPUT (que é o que vc está usando) : o que vc vai ter que fazer é OU
> inserir na string a ser exibida o(s) caracteres de controle que sinalizam
> end of line (se o seu sistema operacional for Windows eles são CHR(13) ||
> CHR(10) , enquanto no Linux/Unix é só o CHR(13)
>
> >
>
> > - eu entendo que a idéia é que, se o fim da coluna não cai num espaço em
> branco, vc terá que finalizar a substring do SUBSTR no primeiro espaço em
> branco à esquerda da posição de fim da coluna e insreir uma quebra de linha
> após o espaço, fazendo o restante cair na linha de baixo quando exibido :
> provavelmente para isso vc vai precisar do INSTR, que procura a ocorrência
> de um caracter
>
> >
>
> >
>
> >
>
> > A minha dica portanto é : Dá uma estudada nesses comandos que citei e
> faz um esforço inicial, tenta escrever uma versão dessa lógica : não
> conseguindo, a gente pode palpitar/tentar mostrar onde vc falhou, aí vc
> escreve uma segunda versão, e aí vai até vc conseguir - é Assim que se
> aprende, por tentativa e erro ...
>
> >
>
> >
>
> >
>
> >   []s
>
> >
>
> >
>
> >
>
> > Chiappa
>
> >
>
> >
>
> >
>
> > --- Em oracle_br@yahoogrupos.com.br, gabriel Tomaz  escreveu
>
> >
>
> >
>
> >
>
> >
>
> >> Alguem pode me ajudar na resolução desse exercício segue como esta
> ficando:
>
> >
>
> >> estou usando sql*plus
>
> >
>
> >> DECLAREL_VFRASE VARCHAR2(240) := '&Digite uma Frase.';L_VFRASE_TEST
> VARCHAR2(240);L_VFRASE_NOVO VARCHAR2(240);L_VQBRLINHA
> VARCAHR2(240);BEGINFOR L_VFRASE > 100 LOOPIF DBMS_OUTPUT.put_line('Frase é
> maior que 100 caracteres');L_VFRASE := INSTR( L_VFRASE,' ');L_VFRASE_TEST
> := L_VFRASE + L_VFRASE_TEST;L_VFRASE_TEST := 0;

Re: [oracle_br] Re: Sincronização de schemas

2013-02-06 Por tôpico Roberto Warstat
Pessoal,

Agradeço a sugestão de todos. A do Netodba é a que mais se encaixou, 
pois o que preciso é sincronizar somente a estrutura de tabelas, 
índices, e os códigos PL/SQL. Os dados eu não quero sincronizar, pois 
iria "matar" a outra base e isso não é viável.
Conversando com o meu chefe, estamos vendo se tem alguma dessas 
ferramentas que fazem comparação entre esquemas pode ser executada via 
job, e sem intervenção. Esse seria o cenário ideal, pois a sincronização 
poderia ocorrer à noite, sem problema.

Abraço,
Roberto

Em 05/02/2013 16:57, netodba escreveu:
>
> Roberto, se os dados nao precisam ser replicados,
> faz um programinha que se conecta nos dois servidores,
> e usa a view dba_objects pra comparação.
> os campos usados podem ser OBJECT_NAME,CREATED,LAST_DDL_TIME.
>
> Ja trabalhei em uma empresa e fizemos isso mesmo, eram 7 base de dados 
> que os objetos tinham que ficar sincronizados, mas era SQL SERVER, 
> fizemos em c#, e geramos um .exe que rodava toda madrugada, funcionava 
> que era uma beleza.
> Funcionava assim, o programa gerava um relatorio, dizendo:
> O Objeto xxx na base A esta diferente do da base B
> DATA de criação/atualização do objeto xxx na A
> DATA de criação/atualização do objeto xxx na A
>
> Se existesse objetos diferentes esse relatorio era mandado por email 
> ao chefe da divisão de desenvolvedores.
>
> --- Em oracle_br@yahoogrupos.com.br 
> <mailto:oracle_br%40yahoogrupos.com.br>, "Milton Bastos Henriquis Jr." 
> escreveu
> >
> > O ideal seria usar o GoldenGate.
> >
> > Depende de quanto $$$ estão dispostos a investir!
> >
> >
> >
> > 2013/2/5 Roberto Warstat
> >
> > > **
> > >
> > >
> > > Pessoal,
> > >
> > > Surgiu a necessidade de mantermos 1 schema replicado entre 2 
> servidores
> > > distintos e separados geograficamente. Temos que manter sincronia da
> > > estrutura de tabelas, índices, views, procedures, packages, 
> functions e
> > > sequences. Essa sincronização é somente de um servidor para outro, 
> ou seja,
> > > somente do servidor A para o B, não sendo necessário do B para A. 
> Os dados
> > > não precisam ser replicados.
> > > A sincronização não precisa ser automática, pode ser manual. Entre os
> > > servidores existe uma ligação via vpn.
> > > Alguma sugestão de como fazer isso?
> > >
> > > Servidor 1:
> > > Red Hat Linux
> > > Oracle Enterprise 10.2.0.5
> > >
> > > Servidor 2:
> > > Red Hat Linux ou Windows 2008
> > > Oracle Enterprise 10.2.0.5
> > >
> > > Abraço,
> > > Roberto
> > >
> > > [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: Oracle Retail

2012-02-09 Por tôpico Roberto Warstat
Chiappa,

Muito obrigado pela indicação do link do Edlivery. Apesar de já terem 
postado aqui muitas vezes esse site, sinceramente nunca cheguei a entrar 
nele. Não sabia que nele encontrava-se os produtos mais específicos. A 
minha pesquisa foi justamente na área de downloads da Oracle, e não 
achando lá, perguntei na lista.
Certamente que irei ler a documentação e os cases.

Abraço,
Roberto

Em 09/02/2012 13:09, José Laurindo escreveu:
>
> Colega, o site de Tecnologia oracle (ie, o TechNet Oracle em 
> http://www.oracle.com/technetwork/index.html , que é onde, apesar de 
> não dizer, eu Acho que vc procurou) oferece download dos produtos mais 
> genéricos Oracle, em especial os usados para Desenvolvimento : 
> soluções específicas e focadas, que não são de uso genérico e sim só 
> podem ser usadas num mercado/numa área específica, vc acha no 
> e-delivery Oracle, em https://edelivery.oracle.com : vc só precisa 
> informar o seu single logon Oracle
> Depois que vc entra no site, ele pergunta qual pacote de software vc 
> quer, eu vi na lista que tem um "Oracle Retail Applications", deve ser 
> esse que vc vai querer, imagino
> E é claro, sendo uma solução que atende a um segmento muito 
> específico, vc Muito Provavelmente não vai achar muita gente que o usa 
> aqui no nosso Fórum, que não é especializado/específico e sim 
> genérico, tendo portanto muito mais gente que se interessa por 
> desenvolvimento próprio, não em uso de soluções prontas Oracle : sendo 
> assim eu Recomendo que vc comece pela Documentação em 
> http://www.oracle.com/technetwork/documentation/oracle-retail-100266.html 
> e cheque as Comunidades especializadas e os caes e demos em 
> http://www.oracle.com/br/industries/retail/index.html e 
> http://www.oracle.com/us/industries/retail/solutions/index.html .
>
> []s
>
> Chiappa
>
>
> --- Em oracle_br@yahoogrupos.com.br 
> <mailto:oracle_br%40yahoogrupos.com.br>, Roberto Warstat 
>  escreveu
> >
> > Pessoal,
> >
> > Estou querendo aprender sobre o Oracle Retail. Alguém sabe aonde eu
> > posso baixá-lo? Já procurei no site da Oracle mas não achei nenhuma
> > opção de download.
> >
> > Abraço,
> > Roberto
> >
>
> 


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



Re: [oracle_br] Re: Listar arquivos em um diretório

2011-12-19 Por tôpico Roberto Warstat
Chiappa,

Muito obrigado pela resposta e excelente explicação.
Como sempre as tuas respostas são uma aula sobre Oracle.

Abraço,
Roberto

Em 16/12/2011 18:47, José Laurindo escreveu:
>
> Colega, seguinte : primeiro de tudo, como mostrado em 
> http://askanantha.blogspot.com/2007/09/read-file-names-using-plsql.html , 
> essa técnica de popular a X$ após uma chamada à DBMS_BACKUP_RESTORE é 
>  TOTALMENTE , ** ABSOLUTAMENTE ***, ** COMPLETAMENTE *** NÃO 
> SUPORTADA : não só Todas as tabelas X$ são internas e não-documentadas 
> (veja os manuais Oracle que vc vai ver que não existem refs à elas), 
> mas também a própria package DBMS_BACKUP_RESTORE é em si 
> não-documentada, reservada para uso INTERNO do RMAN, ok ? Senso assim, 
> a Qualquer momento , a Qualquer versão do banco, Qualquer package 
> interna e/ou tabela X$ podem ser removidas, alteradas, aí o seu código 
> vai pra cucuia se isso acontecer, e a Oracle não vai dar nem pelota 
> pra vc, já que vc estava usando algo sem Suporte, interno
> Vou no próximo parágrafo falar sobre as técnicas SUPORTADAS e 
> Documentadas de se obter uma lista de arquivos num diretório do 
> servidor, mas cfrme abaixo, no 10.2.0.5 a X$ existe sim, então suponho 
> que seja problema de versão, a x$ deve ter sido introduzida depois do 
> 10.2.0.1 :
>
>
> Conectado a:
> Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production
> With the Partitioning, Oracle Label Security, OLAP, Data Mining 
> Scoring Engine
> and Real Application Testing options
>
> SYS@O10GR2:SQL>grant execute on dbms_backup_restore to system
> 2 /
>
> Concessão bem-sucedida.
>
> SYS@O10GR2:SQL>CREATE OR REPLACE VIEW "SYS"."X_$KRBMSFT"
> 2 (
> 3 "ADDR",
> 4 "INDX",
> 5 "INST_ID",
> 6 "FTYPE_KRBMSFT",
> 7 "FLAGS_KRBMSFT",
> 8 "DBID_KRBMSFT",
> 9 "DBNAME_KRBMSFT",
> 10 "FNAME_KRBMSFT",
> 11 "FNO_KRBMSFT",
> 12 "ROWNO_KRBMSFT",
> 13 "RECID_KRBMSFT",
> 14 "STAMP_KRBMSFT",
> 15 "SIZE_KRBMSFT"
> 16 )
> 17 AS
> 18 SELECT "ADDR",
> 19 "INDX",
> 20 "INST_ID",
> 21 "FTYPE_KRBMSFT",
> 22 "FLAGS_KRBMSFT",
> 23 "DBID_KRBMSFT",
> 24 "DBNAME_KRBMSFT",
> 25 "FNAME_KRBMSFT",
> 26 "FNO_KRBMSFT",
> 27 "ROWNO_KRBMSFT",
> 28 "RECID_KRBMSFT",
> 29 "STAMP_KRBMSFT",
> 30 "SIZE_KRBMSFT"
> 31 FROM SYS.X$KRBMSFT
> 32 /
>
> View criada.
>
> SYS@O10GR2:SQL>GRANT SELECT ON SYS.X_$KRBMSFT TO system
> 2 /
>
> Concessão bem-sucedida.
>
> ==> ok ??
>
> Mas eu Realmente aconselho vc a Esquecer coisas não-documentadas como 
> essa e ir pras opções Documentadas, que seriam :
>
> a) usar o DBMS_SCHEDULER pra rodar um comando/shell script/programa 
> externo ao database que liste os arquivos - talvez até com a opção de 
> baixa tecnologia ls -l /pathdesejado/*.* > output.txt, aí vc lê via 
> UTL_FILE ou external table o output.txt ... 
> http://avdeo.com/2008/04/03/oracle-database-10g-scheduler-basics/ tem 
> um pequeno exemplo, no caso chamando um shell script, mas seria algo 
> perto disso
>
> ou
>
> b) SE vc tiver Java nos dois databases, escrever um pequeno 
> programinha Java que lê o conteúdo dum diretório : 
> http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:439619916584
>  
> e 
> http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:952229840241#9852536116390
>  
> tem exemplinhos e detalhes adicionais
>
> ou
>
> c) escrever no servidor Oracle, usando uma linguagem de programação 
> que permita listar conteúdo de diretório, conectar no database e 
> receber do database comando de disparo (via arquivo texto, pipes, 
> alerts ou outro modo qquer) : 
> http://www.oracletips.info/Running_System_Commands_from_PL_SQL_Using_Pipes.htm
>  
> mostra um feito com pro*C , mas dá pra fazer até via shell script e 
> sqlplus, só depende da tua habilidade em programação
>
> É claro, sempre há maneiras não-online de se obter isso (por exemplo, 
> um simples cron que a cada X minutos dispara e monta um arquivo com a 
> lista de conteúdo do diretório via ls -l > output.txt, e aí o RDBMS 
> l~e o arquivo output.txt), e há variações sobre esses temas todos que 
> mostrei, como por exemplo usar external procedures ao invés de Java ou 
> scheduler pra rodar um programinha/shell script externo, mas em 
> princípio as possibilidades principais são essas que listei acima...
>
> []s
>
> Chiappa
>
>
> --- Em oracle_br@yahoogrupos.com.br 
> <mailto:oracl

[oracle_br] Listar arquivos em um diretório

2011-12-16 Por tôpico Roberto Warstat
Pessoal,

Preciso listar os arquivos que estão em um diretório no servidor. Para 
fazer isso estou usando o seguinte código:

- como sys executo o script abaixo
grant execute on dbms_backup_restore to usuario
/

CREATE OR REPLACE FORCE VIEW "SYS"."X_$KRBMSFT"
(
"ADDR",
"INDX",
"INST_ID",
"FTYPE_KRBMSFT",
"FLAGS_KRBMSFT",
"DBID_KRBMSFT",
"DBNAME_KRBMSFT",
"FNAME_KRBMSFT",
"FNO_KRBMSFT",
"ROWNO_KRBMSFT",
"RECID_KRBMSFT",
"STAMP_KRBMSFT",
"SIZE_KRBMSFT"
)
AS
SELECT   "ADDR",
 "INDX",
 "INST_ID",
 "FTYPE_KRBMSFT",
 "FLAGS_KRBMSFT",
 "DBID_KRBMSFT",
 "DBNAME_KRBMSFT",
 "FNAME_KRBMSFT",
 "FNO_KRBMSFT",
 "ROWNO_KRBMSFT",
 "RECID_KRBMSFT",
 "STAMP_KRBMSFT",
 "SIZE_KRBMSFT"
  FROM   SYS.X$KRBMSFT
/

GRANT SELECT ON SYS.X_$KRBMSFT TO usuario
/

- com o usuário eu executo o bloco PL/SQL abaixo
DECLARE
caminho_xml   VARCHAR2 (1024);
nsVARCHAR2 (1024);
vIndexNUMBER (3) := 0;

TYPE vArquivo IS RECORD (id_arqNUMBER (3), nm_arquivo VARCHAR2 
(100));

TYPE tArquivo
IS
   TABLE OF vArquivo
  INDEX BY BINARY_INTEGER;

vArqXML   tArquivo;
BEGIN
SELECT   d.directory_path
  INTO   caminho_xml
  FROM   sys.ALL_DIRECTORIES d, sys.ALL_OBJECTS o
 WHERE   o.OWNER = d.OWNER
 AND o.OBJECT_NAME = d.DIRECTORY_NAME
 AND o.object_type = 'DIRECTORY'
 AND o.owner = 'SYS'
 AND d.directory_name = 'DIR_XML';

SYS.DBMS_BACKUP_RESTORE.searchFiles (caminho_xml, ns);

FOR each_file IN (SELECT   FNAME_KRBMSFT AS name
FROM   X_$KRBMSFT
   WHERE   FNAME_KRBMSFT LIKE '%.xml')
LOOP
   DBMS_OUTPUT.PUT_LINE (each_file.name);
END LOOP;
END;

Quando executo o bloco acima em um banco 10.2.0.1 em um servidor linux, 
ele fala que a tabela ou view não existe para X_$KRBMSFT. Mas se eu 
executar isso em um banco 11.2.0.1 em uma máquina com Windows XP, funciona.
Alguém teria alguma sugestão do que posso fazer para funcionar nos 2 bancos?
Basicamente o quê quero é listar todos os arquivos que estão em 
diretório. O diretório em questão eu pego do directory DIR_XML, que foi 
informado no primeiro select.

Abraço,
Roberto


[oracle_br] Leitura de pdf

2011-11-29 Por tôpico Roberto Warstat
Lista,

Estou precisando ler um arquivo XML diretamente no banco, ler um dos 
valores dele e gravar como pdf em uma outra coluna.
O que já consegui fazer:
- criei uma tabela XMLtype
CREATE TABLE mytable2 OF XMLType;

- inseri o arquivo XML nela
INSERT INTO mytable2 VALUES (XMLType(bfilename('TESTE', '9-teste.xml'),
  nls_charset_id('AL32UTF8')));

Mas não estou conseguindo ler a chave DocData desse arquivo.
O arquivo que tenho é:




Origem
Destino
SYNAPSE



I
981962034
application/pdf
981962034.pdf
FLAT
JVBERi0xLjYKJeLjz9MKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvVmlld2VyUHJlZmVyZW5jZXMgMyAwIFI+PgplbmRvYmoKMyAwIG9iago8PC9UeXBlL1ZpZXdlclByZWZlcmVuY2VzPj4KZW5kb2JqCjIgMCBvYmoKPDwvQ291bnQgMi9UeXBlL1BhZ2VzL0tpZHNbNCAwIFIgNSAwIFJdL0lUWFQoyFwpQstXKT4+CmVuZG9iago0IDAgb2JqCjw8L01lZGlhQm94WzAgMCA1OTUuMjc2IDg0MS44OV0vVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXMgNiAwIFIvQ29udGVudHMgNyAwIFI+PgplbmRvYmoKNyAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDUyODA+PnN0cmVhbQrpIsoFbq/5rt+v8Y4EwWZVw1MVZrRGAw3F+ZMqDElksEbbIsrJEowtHXa04JpF/W/dOCFq96mcZdVGtHTanISuxAt786f5qNUrjPSsM4eUvEE0ZiBc0AsPd/dFH0mq3hdgCs8RS97hUnWx7bJhojLulx3OgUT8pdVEFoC8HNckjeGKAhUjvEbDsPkIYDmVhI7JFFZX0NUMAtoFjY+27Bnx6arMJYRmNCOvyosiw1HK5gJp0bxPa3nBPS/xraLZZbPSMHR5nmlkeLbtKhrf4obUGHoEqZnV98ZkfSQKR6k3sbHjglIIMMJVV80ubNiFQasgyT4+b4/3883u99s+zzEOgOgVCD7GRYxcfRbR/AKgzlJf+FIVwJso6lNiv3/2uDdSn2I9Jjp2xTfTZyuaI6GQc9CZly64iIHHuZxD7ujD3xxyRwJHcnCFVSE7o0mg29UwxT7TmR7jnhvvGIFpu8A/wTRfglxs+FlwZjYJgfWaopHB6Cz8CupN74yB3HlY6YnzowiWZjchuzE9WupgzefRubt5EFeFHggwY9u9mXUrhWDAiWVrDz/a12lBaph7KKC7vOB0ZP6pD8o1PEr/FBE0qGE5/gii0P6eqfRo/1qFqQOzZalj86OuxMpV85CMk5sxn26t8ZR+YL44NqzHodFNkBGkOud/gZIEXYOdcHS2ik+HmMGpjEAyDYHZgqGnnFQXiuRsIxE/5qNjH15zOOqH0m1oFVk4Pg5Y5EpPP5o7IczokSN2ktwIiPFYflDbRR1TtLpmGf7tfg5G72FdEqAb/hSZAMIfyB2a/lnmXB6zpw8go4cKZoxqHL2jwrpsLgJA5lEbvA7BYSDQtpF1go7Td+jSBXaexWseRkX41uoU/34P2lPLLfEbrclD+BU6ANLBsWWoBNSBif8Gnz0KyDdkcHUNEudxYRDwq+ClNnNMOxjbvjbbj5UiHAkVlPCDufX2PuNjuSckuvHVqdJCxmUNGp2DsbrnBfrDIzCM5QYcWYNQmyoBHdWPyJ7pmFNkCMe/F26vEXjziJJKWRLg3vpcKOMGmeVfe8VvvoCu4dqIwSVt9Sm0MvOqcm6RF6of7XEnm8MOTsvYCltuEfluvEOldgmh7hlFXRcFSPqJu9eKPn68p8osRZ8QHYRWwk3b/t/UzWekm1/NQwy1uw8C1slNQCkBjjiPEJwpWvRtWjmmOHF6hr+Tok6vDKtcuexUA+8njex2AVzqbpjMlGfysBfFw47kyts7LghExrRWUL5W3REuATIgaE7d7UUZHztdoswepTI3GtpPpVjOuKAVOw2VzssibZVFupKyqukrgUTk7Rn8vc5Psy8pOCi31/XMPliv2Y938xYchAhXGDAxRKE89lWuYM1v0lk7Pfe2KOtyjFwxbuJKS0l48uuKYNxW8HT1HrRebV17b9Y+pxG9avMCgbUoDx6RgNwN6utReDlTeLz0wUAlmwz7mFcHBNojpOVDr6MINoe5ExjuVQc8HiTilSAkHlIkGn0MHqgmKMIpF7VH49YCxW637ugmMljm/65smU1xVn27eKxb6/Vs26XXtkTJite0GIaX4e0ueqZlWH2urDIHC7I94l1/CMyAJpDHwG62P7eyhGKdkyHRn+P6emkfsoYoxAyLKhQRV5J5IPd7iredrtD9zsfE9Vn8SydWF7VgyJag7l3B0duHh5V5U/z7Sf3H+UGKUrNDs1fWXg+pU8I+xIFn74glxb/fSLkFmDdDHDH9JQ9f++HK3wRZ77R+oIkA6U0Ubv8Wzoo8hxDAfLGFuZPKdhVY+DtNXCKdjaaVWdNObbeqSOh1CMs49uiJ+kWlEd0pUkhdfWJX+FCvtz2vkIVYCvBSz8qex35wt0hvicQUWWofxpZm/NHQt+yOXyd71NLcnklB3m2YlpQrrl0QJG4O6/ju+DUVaJwC4DGFrrNNOhdvl0OqRhHLGr9VDRLckz2xb8fNcJJ/SxinaC7fxBO++mjL+ANJLLwFQ/BFRd8wa/1xUDgFalKkzm/mwVpwpeheloqpfRp+1zGRfbFvpe2ob66YDUwrEejfZhOA6slpgHAFuHoFIMHr6i6K+PqBpHGizsEzTCqp+MMiAtpZ+S1oQfSbxsi/ddlKCDjaGx0yHnJs98X/2toXxKP8RgeQ2njOFrfZuiyesKd9nF6LVZlKg7daiPFaprtS3Qo5wYr5qTLyyJJIL+evcML/wUJjyBD+O6sEpTv202Cdseey91CPW5ogtQCTiJT+/23qDE725hj31rB8G8i4EovmVoAfhK9rkrhEVy5pldj4qHUo9PMsZvcUOSRqlWNaNZf5TgMCwLQbX2BBQPY+PvkVHkl2wrgvqOoSO7p8nKxXvzRMwrsDglZGiOGkUVsBqJ+p5AXizq8HzKk8EEsccoyyjMiZoVFoPlZ8R6FnUAcbIaFbCuoKMXVePP2GYBqiO+dlj/K7FC/pC7krcmtD5BazvDO1om29Twv5Hugobn6HbnVDJxOtqjcNIxRCYzp1kGobUpXqpzmxMKIJDlMClCGVbe0EXz3m9mihutI9NpH+mtqQ6vwF/IrpkmnvmyJR2GfeG+tD2eK/7N7HRTei3LQxZs9aypp+PL7SJBro+LIWOqpLZZHmk8ERkKJte4QjZ2w7RG+JSoxBKYj9kSveQAEtp174uzAHUKpSIdgrGUcvelaQe2FSVq/Z4B2YsVbkYxY7yi+aeXIsT6kVZMKgylB2UmG78oqBFOr6SBoUW+MsNzw4W1ZTKRNuiIux4gGFpTY239V2zCamHy9IyMbZrNghRu3V1sNPk3GbnZUSjaKZRu8HX9WvSkUcASyXNu2hzghLYgYDvhNNwy6B3fhEGZfKG5hDiU/k7ilsTTNHVkgFd246nzKv8xDwZUb2njBitXsnyjePy4OFITdZGoVf7wCf8P7EvLxaFxR+uvKg3xM6EYMIBy1LdJMntdvJOpjQRP4xfhUOnqQIcty2qdhw1nCbvLG9ZfXa/t1M3hDhHpdRtBPr9LXdHwzhNIDvjtSh0jHzR/LL75yOLY2bhYnVOwKqkc8NENRyl+ZVh7n4jwBKWeBMj1zOF+2cW/LYGSRCbAqgWE9fXpn4GN3OIxcOfOWMpTxVk5ZTmlnQ8bpSbHZkaRfXAZwma/7ocBAgC9v/YRQXFv2fHZnDN7v2MrTrJr9Cj8yX2YY4FyI+leyZBhpYoMtMYTOs+IoVqAXVVUrCe0AL6jeEI5oRV1Nx9HJKLKcNfW8zvPcsDiAB4X6RIj7RPPei0XVK81eaZ3hdR1vm9Luve0T7hvA35LOFMnFfpM/i+lrtFjy5UE8nS15ez8K806CoO9olI/7QrfwpvDRmbghzM0Mwi7gr7eqqhTfxJ3g5p




Eu cortei uma parte da chave DocData, para não ficar muito grande e por 
serem valores reais.
A minha dúvida por enquanto é como ler essa chave.

Estou usando um banco 11.2.0.1.0, mas também irá rodar em um 10.2.0.1.0.

Abraço,
Roberto



Re: [oracle_br] Aplicativo não conecta no banco

2011-10-06 Por tôpico Roberto Warstat
Muito obrigado a todos pela ajuda.
Resolvi o problema usando a solução 1 passada pelo Mário.

Abraço,
Roberto

Em 6 de outubro de 2011 11:32, Mario  escreveu:

> **
>
>
> No 11G:
>
> 1 - caso a senha ainda esteja "case sensitive":
> alter system set sec_case_sensitive_logon =false scope=spfile;
>
> 2 - Se na hora de instalar o BD, vc. deixou o padrão "ativar novas
> regras de segurança" (este não é o termo exato mas vamos em frente):
>
> 2.1 - seu aplicativo terá que fixar um Set Role 
> identified by  com a criação de uma Role com os direitos de
> acesso; NAO adianta tentar fixar essa "set role" via Trigger de login
> pois o 11g nao aceita; tem passar essa mudança na sessão pelo aplicativo;
> 2.2 - OU rebaixar o Compatible no Spfile para 10.2.0 e nao mais 11 (nao
> testei...).
>
> []s,
> Mario
>
>
> On 06/10/2011 11:12, Roberto Warstat wrote:
> > Milton,
> >
> > Em bancos 9i e 10g esse aplicativo funciona perfeitamente. Os
> programadores
> > já olharam o código fonte e não tem problema algum.
> > Esse aplicativo foi desenvolvido para que fosse usado um usuário de banco
> > para fazer a conexão e toda a manipulação de dados. A empresa está
> >
> > trabalhando para modificar isso, mas como é um conjunto de aplicativos, é
> > impossível de se fazer isso de uma hora para outra, sem falar que temos
> que
> > cuidar do legado também.
> >
> > Abraço,
> > Roberto
> >
> > Em 6 de outubro de 2011 11:03, Milton Bastos Henriquis Junior<
> > milton.bas...@meta.com.br> escreveu:
> >
> >> **
>
> >>
> >>
> >> Já que o aplicativo é desenvolvido pela própria empresa onde você
> trabalha,
> >> então fica fácil, basta abrir o código-fonte e ver o que realmente a
> >> aplicação durante a conexão.
> >>
> >> Com certeza algo errado há - ou seja, não condizente com as informações
> que
> >> você escreveu no e-mail.
> >> Fica muito difícil - quase impossível - alguém aqui conseguir adivinhar
> >> qual é o problema com tão poucas informações. Basta olhar o código-fonte
> que
> >> com certeza fica fácil descobrir o erro.
> >>
> >> Eu acho MUITO estranho alguém desenvolver um aplicativo em que o login e
> >> senha da aplicação sejam os usuários do próprio banco de dados -
> geralmente
> >> existe uma tabela de usuários e senhas para conectar na aplicação.
> >> Att,
> >> --
> >> Milton Bastos
> >> http://miltonbastos.com
> >>
> >> De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br]
> Em
> >> nome de Roberto Warstat
> >> Enviada em: quinta-feira, 6 de outubro de 2011 10:55
> >> Para: oracle_br@yahoogrupos.com.br
> >> Assunto: [oracle_br] Aplicativo não conecta no banco
> >>
> >>
> >> Ambiente
> >> Windows XP Professional SP3
> >> Oracle 11.2.0.1
> >>
> >> Cenário
> >> Possuo um aplicativo desktop que é desenvolvido pela empresa onde
> trabalho.
> >> Ao tentar conectar nesse banco, que está na minha máquina, informando o
> >> usuário e senha, o banco retorna que o usuário/senha é inválido.
> >> É utilizado um usuário de banco para fazer a conexão. Consigo fazer a
> >> conexão ao banco com esse usuário usando o SQL*plus ou TOAD, sem
> problema
> >> algum.
> >> O que acho estranho é que a aplicação se utiliza de um outro usuário
> para
> >> fazer a primeira conexão e busca algumas informações do banco. Com esse
> >> usuário não ocorre problema algum.
> >> A pergunta é: se eu colocar para rodar a auditoria do banco, vou
> conseguir
> >> ter uma idéia do que pode estar ocorrendo?
> >>
> >> Abraço,
> >> Roberto
> >>
> >> [As partes desta mensagem que não continham texto foram removidas]
> >> Clique aqui<https://www.mailcontrol.com/sr/wQw0zmjPoHdJTZGyOCrrhg==>
> para
> >> reportar este e-mail como SPAM.
> >>
> >> This message has been scanned for malware by Websense. www.websense.com
> >>
> >> [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] Aplicativo não conecta no banco

2011-10-06 Por tôpico Roberto Warstat
Márcio,

Era exatamente isso.
A aplicação dá um uppercase na senha quando é feito o logon, enquanto que no
cadastro do usuário a senha é colocada em minúscula. Alterei a senha de um
usuário para maiúscula e funcionou perfeitamente.
Muito obrigado.

Abraço,
Roberto

Em 6 de outubro de 2011 11:18, Marcio - Yahoo escreveu:

> **
>
>
> Roberto, no banco 11g, tem distinção entre caracteres maiúsculo e
> minúsculo,
> será que o problema não é esse? Já que funciona em versões anteriores.
>
> Verifica a parte de login/senha do 11g, que teve umas "modificações"
>
> -Mensagem original-
>
> De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
> nome de Roberto Warstat
> Enviada em: quinta-feira, 6 de outubro de 2011 11:12
> Para: oracle_br@yahoogrupos.com.br
> Assunto: Re: [oracle_br] Aplicativo não conecta no banco
>
>
> Milton,
>
> Em bancos 9i e 10g esse aplicativo funciona perfeitamente. Os programadores
> já olharam o código fonte e não tem problema algum.
> Esse aplicativo foi desenvolvido para que fosse usado um usuário de banco
> para fazer a conexão e toda a manipulação de dados. A empresa está
> trabalhando para modificar isso, mas como é um conjunto de aplicativos, é
> impossível de se fazer isso de uma hora para outra, sem falar que temos que
> cuidar do legado também.
>
> Abraço,
> Roberto
>
> Em 6 de outubro de 2011 11:03, Milton Bastos Henriquis Junior <
> milton.bas...@meta.com.br> escreveu:
>
> > **
>
> >
> >
> > Já que o aplicativo é desenvolvido pela própria empresa onde você
> > trabalha, então fica fácil, basta abrir o código-fonte e ver o que
> > realmente a aplicação durante a conexão.
> >
> > Com certeza algo errado há - ou seja, não condizente com as
> > informações que você escreveu no e-mail.
> > Fica muito difícil - quase impossível - alguém aqui conseguir
> > adivinhar qual é o problema com tão poucas informações. Basta olhar o
> > código-fonte que com certeza fica fácil descobrir o erro.
> >
> > Eu acho MUITO estranho alguém desenvolver um aplicativo em que o login
> > e senha da aplicação sejam os usuários do próprio banco de dados -
> > geralmente existe uma tabela de usuários e senhas para conectar na
> aplicação.
> >
> > Att,
> > --
> > Milton Bastos
> > http://miltonbastos.com
> >
> > De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br]
> > Em nome de Roberto Warstat Enviada em: quinta-feira, 6 de outubro de
> > 2011 10:55
> > Para: oracle_br@yahoogrupos.com.br
> > Assunto: [oracle_br] Aplicativo não conecta no banco
> >
> >
> > Ambiente
> > Windows XP Professional SP3
> > Oracle 11.2.0.1
> >
> > Cenário
> > Possuo um aplicativo desktop que é desenvolvido pela empresa onde
> trabalho.
> > Ao tentar conectar nesse banco, que está na minha máquina, informando
> > o usuário e senha, o banco retorna que o usuário/senha é inválido.
> > É utilizado um usuário de banco para fazer a conexão. Consigo fazer a
> > conexão ao banco com esse usuário usando o SQL*plus ou TOAD, sem
> > problema algum.
> > O que acho estranho é que a aplicação se utiliza de um outro usuário
> > para fazer a primeira conexão e busca algumas informações do banco.
> > Com esse usuário não ocorre problema algum.
> > A pergunta é: se eu colocar para rodar a auditoria do banco, vou
> > conseguir ter uma idéia do que pode estar ocorrendo?
> >
> > Abraço,
> > Roberto
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > Clique aqui<https://www.mailcontrol.com/sr/wQw0zmjPoHdJTZGyOCrrhg==>
> > para reportar este e-mail como SPAM.
> >
> > This message has been scanned for malware by Websense.
> > www.websense.com
> >
> > [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.oracleb

Re: [oracle_br] Aplicativo não conecta no banco

2011-10-06 Por tôpico Roberto Warstat
Milton,

Em bancos 9i e 10g esse aplicativo funciona perfeitamente. Os programadores
já olharam o código fonte e não tem problema algum.
Esse aplicativo foi desenvolvido para que fosse usado um usuário de banco
para fazer a conexão e toda a manipulação de dados. A empresa está
trabalhando para modificar isso, mas como é um conjunto de aplicativos, é
impossível de se fazer isso de uma hora para outra, sem falar que temos que
cuidar do legado também.

Abraço,
Roberto

Em 6 de outubro de 2011 11:03, Milton Bastos Henriquis Junior <
milton.bas...@meta.com.br> escreveu:

> **
>
>
> Já que o aplicativo é desenvolvido pela própria empresa onde você trabalha,
> então fica fácil, basta abrir o código-fonte e ver o que realmente a
> aplicação durante a conexão.
>
> Com certeza algo errado há - ou seja, não condizente com as informações que
> você escreveu no e-mail.
> Fica muito difícil - quase impossível - alguém aqui conseguir adivinhar
> qual é o problema com tão poucas informações. Basta olhar o código-fonte que
> com certeza fica fácil descobrir o erro.
>
> Eu acho MUITO estranho alguém desenvolver um aplicativo em que o login e
> senha da aplicação sejam os usuários do próprio banco de dados - geralmente
> existe uma tabela de usuários e senhas para conectar na aplicação.
>
> Att,
> --
> Milton Bastos
> http://miltonbastos.com
>
> De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
> nome de Roberto Warstat
> Enviada em: quinta-feira, 6 de outubro de 2011 10:55
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] Aplicativo não conecta no banco
>
>
> Ambiente
> Windows XP Professional SP3
> Oracle 11.2.0.1
>
> Cenário
> Possuo um aplicativo desktop que é desenvolvido pela empresa onde trabalho.
> Ao tentar conectar nesse banco, que está na minha máquina, informando o
> usuário e senha, o banco retorna que o usuário/senha é inválido.
> É utilizado um usuário de banco para fazer a conexão. Consigo fazer a
> conexão ao banco com esse usuário usando o SQL*plus ou TOAD, sem problema
> algum.
> O que acho estranho é que a aplicação se utiliza de um outro usuário para
> fazer a primeira conexão e busca algumas informações do banco. Com esse
> usuário não ocorre problema algum.
> A pergunta é: se eu colocar para rodar a auditoria do banco, vou conseguir
> ter uma idéia do que pode estar ocorrendo?
>
> Abraço,
> Roberto
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> Clique aqui<https://www.mailcontrol.com/sr/wQw0zmjPoHdJTZGyOCrrhg==> para
> reportar este e-mail como SPAM.
>
> This message has been scanned for malware by Websense. www.websense.com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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





--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

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

<*> Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

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




Re: [oracle_br] Re: Qual é o arquivo certo para instalar banco no Win7 x64 SP1

2011-09-27 Por tôpico Roberto Warstat
A Oracle está adotando que ao invés de usar o SQL*Plus utilize-se o SQL
Developer, que vem junto com o Oracle 11.
Mas se tu gosta do SQL*Plus pode usar ele via linha de comando. Abre o
prompt do dos e digita sqlplus.

Abraço,
Roberto

Em 27 de setembro de 2011 11:26, Zilmar Furquim escreveu:

> **
>
>
> Roberto,
>
> Obrigado pela resposta.
>
> Eu já fiz o que você indicou com sucesso.
> O problema é que eu desconhecia que a partir da versão 11 não existia mais
> o SQLPlus para Windows, que eu utilizo muitíssimo no meu dia-a-dia.
>
> Que sacanagem da Oracle. Isso é para forçar a usarmos o browser ou existe
> uma nova ferramenta semelhante ao Plus?
>
>
> Abs,
> Zilmar Furquim
> Synchro Systems
>
> --- Em oracle_br@yahoogrupos.com.br, Roberto Warstat 
> escreveu
>
> >
> > Zilmar,
> >
> > O correto é descompactar os arquivos win64_11gR2_database_1of2.zip e
> > win64_11gR2_database_2of2.zip e fazer a instalação.
> > Quanto ao SQL*Plus, a partir da versão 11 não tem mais a versão Windows
> > dele, somente a de linha de comando.
> >
> > Abraço,
> > Roberto
> >
> > Em 27 de setembro de 2011 10:38, Zilmar Furquim escreveu:
> >
> > > **
>
> > >
> > >
> > > Amigos,
> > >
> > > Troquei meu notebook (que tinha Win XP SP3) por um novo com Win 7 Home
> > > Premium 64 bits Service Pack 1.
> > > Estou tentando instalar um banco Oracle 10g ou 11g de testes nesse novo
> > > notebook mas estou com dificuldade em identificar qual o arquivo
> correto
> > > para o meu ambiente.
> > >
> > > Ja baixei do OTN os arquivos:
> > > -10203_vista_w2k8_x86_production_db.zip
> > > -102010_win64_x64_database.zip
> > > -10204_vista_w2k8_x64_production_db.zip
> > > -win64_11gR2_database_1of2.zip e win64_11gR2_database_2of2.zip
> > >
> > > Consegui instalar com sucesso somente o win64_11gR2_database_1of2, mas
> > > esse, apesar de ser completo não vem com o SQL*Plus para Windows, o que
> para
> > > mim é essencial (sou dos antigos que prefere tudo por linha de comando
> ao
> > > invés de ferrramentas graficas).
> > >
> > > Em todos os outros arquivos baixados o Oracle Installer informa que a
> > > versão do SO está incorreta (esperado 5.0, 5.1 ou 6.0 e encontrado Real
> 6.1)
> > >
> > > Alguém pode me ajudar a resolver esse problema ?
> > > Pode ser 10 ou 11g mas precisa ter o SQL*Plus para Windows.
> > >
> > > Obrigado,
> > >
> > > Zilmar Furquim
> > > Synchro Systems
> > >
> > >
> > >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>  
>


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





--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

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

<*> Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

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




Re: [oracle_br] Qual é o arquivo certo para instalar banco no Win7 x64 SP1

2011-09-27 Por tôpico Roberto Warstat
Zilmar,

O correto é descompactar os arquivos win64_11gR2_database_1of2.zip e
win64_11gR2_database_2of2.zip e fazer a instalação.
Quanto ao SQL*Plus, a partir da versão 11 não tem mais a versão Windows
dele, somente a de linha de comando.

Abraço,
Roberto

Em 27 de setembro de 2011 10:38, Zilmar Furquim escreveu:

> **
>
>
> Amigos,
>
> Troquei meu notebook (que tinha Win XP SP3) por um novo com Win 7 Home
> Premium 64 bits Service Pack 1.
> Estou tentando instalar um banco Oracle 10g ou 11g de testes nesse novo
> notebook mas estou com dificuldade em identificar qual o arquivo correto
> para o meu ambiente.
>
> Ja baixei do OTN os arquivos:
> -10203_vista_w2k8_x86_production_db.zip
> -102010_win64_x64_database.zip
> -10204_vista_w2k8_x64_production_db.zip
> -win64_11gR2_database_1of2.zip e win64_11gR2_database_2of2.zip
>
> Consegui instalar com sucesso somente o win64_11gR2_database_1of2, mas
> esse, apesar de ser completo não vem com o SQL*Plus para Windows, o que para
> mim é essencial (sou dos antigos que prefere tudo por linha de comando ao
> invés de ferrramentas graficas).
>
> Em todos os outros arquivos baixados o Oracle Installer informa que a
> versão do SO está incorreta (esperado 5.0, 5.1 ou 6.0 e encontrado Real 6.1)
>
> Alguém pode me ajudar a resolver esse problema ?
> Pode ser 10 ou 11g mas precisa ter o SQL*Plus para Windows.
>
> Obrigado,
>
> Zilmar Furquim
> Synchro Systems
>
>  
>


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





--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

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

<*> Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

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




Re: [oracle_br] Re: Problema com listener

2011-06-05 Por tôpico Roberto Warstat
ance has registered with the listener.
> Action:
>
> - Wait a moment and try to connect a second time.
>
> - Check which services are currently known by the listener by 
> executing: lsnrctl services 
>
> - Check that the SERVICE_NAME parameter in the connect descriptor of 
> the net service name used specifies a service known by the listener.
>
> - If an easy connect naming connect identifier was used, check that 
> the service name specified is a service known by the listener.
>
> - Check for an event in the listener.log file.
> "
>
> SE realmente não tem registro desse serviço no listener, primeiro 
> tente um registro manual com ALTER SYSTEM REGISTER; (não esquecendo de 
> setar o DEFAULT_LISTENER que o teu listener não é totalmente padrão 
> (ie, não é um listener chamado LISTENER na porta 1521 que vc usa), E 
> não esquecendo do Domínio se vc tiver DOMAIN no seu SQLNET.ORA - veja 
> http://www.orafaq.com/node/30 para mais dets, além da documentação 
> sql*net. Claro, alternativamente vc Sempre pode usar static 
> registration (ie, adicionar seu db numa linha SID_LIST_LISTENER do 
> LISTENER.ORA)...
>
> Outra coisa : depois de ter feito as alterações e restartado banco & 
> listener, sugestão : *** não *** faça seus testes de conexão com 
> SYSDBA, SYSDBA além de ser um usuário por demais poderoso ele também 
> apresenta um ponto Adicional, que é a possível presença de um password 
> file, que Tem que ser sincronizado :não deve ser isso que está 
> acontecendo (já que a msgs seria diferente) mas fica a recomendação, 
> cfrme 
> http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:670117794561
>  
> , que fala sobre outras versões mas afaik muito disso é ainda válido 
> no 11g ... Eu Realmente recomendo vc fazer seus testes de conexão com 
> um OUTRO usuário que não seja SYSDBA, pode ser o SYSTEM, o SCOTT , 
> qquer outro usuário que vc tenha no seu banco... Outra Recomendação é 
> vc abrir um prompt de comando e setar as variáveis Manualmente, pra 
> estar certo de que estão ok, tipo :
>
> SET ORACLE_SID=BD01
> SET ORACLE_HOME=nnn:\pathdooraclehome
> SET PATH=%ORACLE_HOME%\BIN;%PATH%
> sqlplus SYSTEM
> sqlplus SYSTEM@BD01
>
> []s
>
> Chiappa
>
> --- Em oracle_br@yahoogrupos.com.br 
> <mailto:oracle_br%40yahoogrupos.com.br>, Roberto Warstat 
>  escreveu
> >
> > Tentei fazer a conexão via sqlplus confrome descrito na nota do 
> metalink
> > e também não funcionou, deu o mesmo erro.
> > o tnsping retornou um tempo de 0ms. Ou seja, está funcionando.
> >
> > Em 04/06/2011 16:01, Neto Longhi escreveu:
> > > tenta um tnsping DB01
> > >
> > > nota do metalink
> > >
> > > *Error ORA-12514 TNS Listener Does Not Currently Know Of Service 
> Requested
> > > In Connect Descriptor [ID 370704.1]*
> > >
> > > Cause The $OH/network/admin/tnsnames.ora entry is incorrect. Solution
> > >
> > > To implement the solution, please test the connection by executing the
> > > following steps:
> > >
> > > 1. Copy the problematic tnsnames.ora entry into notepad.
> > > 2. Remove the entry name and all spaces in front of the first 
> parenthesis
> > > like this:
> > >
> > > 
> (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=orldss-apps)(PORT=1523)))(CONNECT_DATA=(SERVICE_NAME=name)))
> > >
> > >
> > > 3. Remove all of the blank spaces " " in the entry like the above 
> entry.
> > > 4. Telnet to the server $OH/network/admin and run 'sqlplus' to start
> > > Sql*plus.
> > > 5. Paste this new notepad tns entry in the connect field and enter 
> username
> > > and password.
> > > 6. If it fails do the same with a working tnsnames.ora entry and 
> compare.
> > >
> > > In this case the sid in the problematic tnsnames.ora did not have 
> .world
> > > appended. Once changed it worked correctly. In this case this 
> entry now
> > > worked:
> > >
> > > 
> (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=orldss-apps)(PORT=1523)))(CONNECT_DATA=(SERVICE_NAME=name.world)))
> > >
> > > Another test is to use the tnsping utility on the TNS service name to
> > > confirm the availability of the intended listener:
> > >
> > > Name: tnsping or tnsping80
> > > Purpose: Basic SQLNet tool used to check TNS connectivity between 
> TNS client
> > > and server.
> > > Usage: tnsping $LOCAL
> > > Apps: Apps uses SQL*Net for the majority of it's database 
> connections. This
> > > is a good tool for che

Re: [oracle_br] Problema com listener

2011-06-04 Por tôpico Roberto Warstat
Tentei fazer a conexão via sqlplus confrome descrito na nota do metalink 
e também não funcionou, deu o mesmo erro.
o tnsping retornou um tempo de 0ms. Ou seja, está funcionando.

Em 04/06/2011 16:01, Neto Longhi escreveu:
> tenta um tnsping DB01
>
> nota do metalink
>
> *Error ORA-12514 TNS Listener Does Not Currently Know Of Service Requested
> In Connect Descriptor [ID 370704.1]*
>
> Cause The $OH/network/admin/tnsnames.ora entry is incorrect. Solution
>
> To implement the solution, please test the connection by executing the
> following steps:
>
> 1. Copy the problematic tnsnames.ora entry into notepad.
> 2. Remove the entry name and all spaces in front of the first parenthesis
> like this:
>
> (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=orldss-apps)(PORT=1523)))(CONNECT_DATA=(SERVICE_NAME=name)))
>
>
> 3. Remove all of the blank spaces " " in the entry like the above entry.
> 4. Telnet to the server $OH/network/admin and run 'sqlplus' to start
> Sql*plus.
> 5. Paste this new notepad tns entry in the connect field and enter username
> and password.
> 6. If it fails do the same with a working tnsnames.ora entry and compare.
>
> In this case the sid in the problematic tnsnames.ora did not have .world
> appended. Once changed it worked correctly. In this case this entry now
> worked:
>
> (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=orldss-apps)(PORT=1523)))(CONNECT_DATA=(SERVICE_NAME=name.world)))
>
> Another test is to use the tnsping utility on the TNS service name to
> confirm the availability of the intended listener:
>
> Name: tnsping or tnsping80
> Purpose: Basic SQLNet tool used to check TNS connectivity between TNS client
> and server.
> Usage: tnsping $LOCAL
> Apps: Apps uses SQL*Net for the majority of it’s database connections. This
> is a good tool for checking that the database responds to a network request
> without having to supply usernames or passwords.
> Note: Local is NT’s equivalent to the UNIX $TWO_TASK
>
>
> Em 4 de junho de 2011 14:02, Roberto Warstatescreveu:
>
>>
>> Esse banco não é de produção, é um que tenho para fazer testes e estudar.
>> Fiz o que disse e o status do listener permanece o mesmo.
>>
>> Em 04/06/2011 13:55, Neto Longhi escreveu:
>>
>>> para o listener
>>> shuta o banco
>>> sobe o listener
>>> starta o banco
>>>
>>> Em 4 de junho de 2011 13:54, Neto Longhi>> <mailto:neto.longhi%40gmail.com>>  escreveu:
>>>> esse banco esta em produção???
>>>> se nao
>>>> da em shut immediate
>>>> startup
>>>>
>>>> se sim
>>>> ninguem esta conectado nele mesmo
>>>>
>>>> vc decide!
>>>>
>>>> Em 4 de junho de 2011 13:33, Roberto Warstat>> <mailto:ro.warstat%40gmail.com>>escreveu:
>>>> Fiz o reload do listener e o status permanece o mesmo.
>>>>> O banco está open.
>>>>>
>>>>> Em 04/06/2011 13:17, Neto Longhi escreveu:
>>>>>
>>>>> amigo, seu entrada no listerner e no tns estao aparentemente ok!
>>>>>> o listener que nao esta conseguindo "enxergar" a instancia DB01.
>>>>>> faz o comando reload no lsnrctl.
>>>>>> ou entao stop e start
>>>>>>
>>>>>>
>>>>>> a outra coisa, o banco ta open???
>>>>>>
>>>>>>
>>>>>>
>>>>>> Em 3 de junho de 2011 21:53, Roberto Warstat>> <mailto:ro.warstat%40gmail.com>
>>>>>>> escreveu:
>>>>>>
>>>>>>> Pessoal,
>>>>>>> Estou com um problema com o listener. Se eu fizer a conexão com o
>>>>>>> comando
>>>>>>>
>>>>>>> sqlplus /nolog
>>>>>>> conn sys as sysdba
>>>>>>>
>>>>>>> a conexão é feita sem problema algum. Mas se eu fizer
>>>>>>>
>>>>>>> sqlplus /nolog
>>>>>>> conn sys@bd01 as sysdba
>>>>>>>
>>>>>>> dá a mensagem
>>>>>>>
>>>>>>> ORA-12514: TNS: Listener não tem conhecimento do serviço solicitado
>>>>>>> atualmente no descritor de conexão
>>>>>>>
>>>>>>> O arquivo listener.ora está com o seguinte conteúdo
>>>>>>>
>>>>>>> # listener.ora Network Configuration File:
>>>>>>>
>&

Re: [oracle_br] Problema com listener

2011-06-04 Por tôpico Roberto Warstat
Esse banco não é de produção, é um que tenho para fazer testes e estudar.
Fiz o que disse e o status do listener permanece o mesmo.

Em 04/06/2011 13:55, Neto Longhi escreveu:
>
> para o listener
> shuta o banco
> sobe o listener
> starta o banco
>
> Em 4 de junho de 2011 13:54, Neto Longhi  <mailto:neto.longhi%40gmail.com>> escreveu:
>
> > esse banco esta em produção???
> > se nao
> > da em shut immediate
> > startup
> >
> > se sim
> > ninguem esta conectado nele mesmo
> >
> > vc decide!
> >
> > Em 4 de junho de 2011 13:33, Roberto Warstat  <mailto:ro.warstat%40gmail.com>>escreveu:
> >
> > Fiz o reload do listener e o status permanece o mesmo.
> >> O banco está open.
> >>
> >> Em 04/06/2011 13:17, Neto Longhi escreveu:
> >>
> >> amigo, seu entrada no listerner e no tns estao aparentemente ok!
> >>>
> >>> o listener que nao esta conseguindo "enxergar" a instancia DB01.
> >>> faz o comando reload no lsnrctl.
> >>> ou entao stop e start
> >>>
> >>>
> >>> a outra coisa, o banco ta open???
> >>>
> >>>
> >>>
> >>> Em 3 de junho de 2011 21:53, Roberto Warstat <mailto:ro.warstat%40gmail.com>
> >>> >escreveu:
> >>>
> >>>
> >>>> Pessoal,
> >>>> Estou com um problema com o listener. Se eu fizer a conexão com o
> >>>> comando
> >>>>
> >>>> sqlplus /nolog
> >>>> conn sys as sysdba
> >>>>
> >>>> a conexão é feita sem problema algum. Mas se eu fizer
> >>>>
> >>>> sqlplus /nolog
> >>>> conn sys@bd01 as sysdba
> >>>>
> >>>> dá a mensagem
> >>>>
> >>>> ORA-12514: TNS: Listener não tem conhecimento do serviço solicitado
> >>>> atualmente no descritor de conexão
> >>>>
> >>>> O arquivo listener.ora está com o seguinte conteúdo
> >>>>
> >>>> # listener.ora Network Configuration File:
> >>>> 
> D:\app\Administrador\product\11.2.0\dbhome_1\network\admin\listener.ora
> >>>> # Generated by Oracle configuration tools.
> >>>>
> >>>> SID_LIST_LISTENER =
> >>>> (SID_LIST =
> >>>> (SID_DESC =
> >>>> (SID_NAME = CLRExtProc)
> >>>> (ORACLE_HOME = D:\app\Administrador\product\11.2.0\dbhome_1)
> >>>> (PROGRAM = extproc)
> >>>> (ENVS =
> >>>>
> >>>>
> >>>> 
> "EXTPROC_DLLS=ONLY:D:\app\Administrador\product\11.2.0\dbhome_1\bin\oraclr11.dll")
> >>>> )
> >>>> )
> >>>>
> >>>> LISTENER =
> >>>> (DESCRIPTION_LIST =
> >>>> (DESCRIPTION =
> >>>> (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
> >>>> (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.103)(PORT = 1521))
> >>>> )
> >>>> )
> >>>>
> >>>> ADR_BASE_LISTENER = D:\app\Administrador
> >>>>
> >>>> E o tnsnames.ora contêm
> >>>>
> >>>> # tnsnames.ora Network Configuration File:
> >>>> 
> D:\app\Administrador\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
> >>>> # Generated by Oracle configuration tools.
> >>>>
> >>>> BD01 =
> >>>> (DESCRIPTION =
> >>>> (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.103)(PORT = 1521))
> >>>> (CONNECT_DATA =
> >>>> (SERVER = DEDICATED)
> >>>> (SERVICE_NAME = bd01)
> >>>> )
> >>>> )
> >>>>
> >>>> ORACLR_CONNECTION_DATA =
> >>>> (DESCRIPTION =
> >>>> (ADDRESS_LIST =
> >>>> (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
> >>>> )
> >>>> (CONNECT_DATA =
> >>>> (SID = CLRExtProc)
> >>>> (PRESENTATION = RO)
> >>>> )
> >>>> )
> >>>>
> >>>> A saída do comando "lsnrctl status" é
> >>>>
> >>>> LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on
> >>>> 03-JUN-2011 21:50:55
> >>>>
> >>>> Copyright (c) 1991, 2010, Oracle. All rights reserved.
> >>>>
> >>>> Estabelecendo conexão com
> >>>> (DESCRIP

Re: [oracle_br] Problema com listener

2011-06-04 Por tôpico Roberto Warstat
Fiz o reload do listener e o status permanece o mesmo.
O banco está open.

Em 04/06/2011 13:17, Neto Longhi escreveu:
> amigo, seu entrada no listerner e no tns estao aparentemente ok!
>
> o listener  que nao esta conseguindo "enxergar" a instancia DB01.
> faz o comando reload no lsnrctl.
> ou entao stop e start
>
>
> a outra coisa, o banco ta open???
>
>
>
> Em 3 de junho de 2011 21:53, Roberto Warstatescreveu:
>
>>
>> Pessoal,
>> Estou com um problema com o listener. Se eu fizer a conexão com o comando
>>
>> sqlplus /nolog
>> conn sys as sysdba
>>
>> a conexão é feita sem problema algum. Mas se eu fizer
>>
>> sqlplus /nolog
>> conn sys@bd01 as sysdba
>>
>> dá a mensagem
>>
>> ORA-12514: TNS: Listener não tem conhecimento do serviço solicitado
>> atualmente no descritor de conexão
>>
>> O arquivo listener.ora está com o seguinte conteúdo
>>
>> # listener.ora Network Configuration File:
>> D:\app\Administrador\product\11.2.0\dbhome_1\network\admin\listener.ora
>> # Generated by Oracle configuration tools.
>>
>> SID_LIST_LISTENER =
>> (SID_LIST =
>> (SID_DESC =
>> (SID_NAME = CLRExtProc)
>> (ORACLE_HOME = D:\app\Administrador\product\11.2.0\dbhome_1)
>> (PROGRAM = extproc)
>> (ENVS =
>>
>> "EXTPROC_DLLS=ONLY:D:\app\Administrador\product\11.2.0\dbhome_1\bin\oraclr11.dll")
>> )
>> )
>>
>> LISTENER =
>> (DESCRIPTION_LIST =
>> (DESCRIPTION =
>> (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
>> (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.103)(PORT = 1521))
>> )
>> )
>>
>> ADR_BASE_LISTENER = D:\app\Administrador
>>
>> E o tnsnames.ora contêm
>>
>> # tnsnames.ora Network Configuration File:
>> D:\app\Administrador\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
>> # Generated by Oracle configuration tools.
>>
>> BD01 =
>> (DESCRIPTION =
>> (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.103)(PORT = 1521))
>> (CONNECT_DATA =
>> (SERVER = DEDICATED)
>> (SERVICE_NAME = bd01)
>> )
>> )
>>
>> ORACLR_CONNECTION_DATA =
>> (DESCRIPTION =
>> (ADDRESS_LIST =
>> (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
>> )
>> (CONNECT_DATA =
>> (SID = CLRExtProc)
>> (PRESENTATION = RO)
>> )
>> )
>>
>> A saída do comando "lsnrctl status" é
>>
>> LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on
>> 03-JUN-2011 21:50:55
>>
>> Copyright (c) 1991, 2010, Oracle. All rights reserved.
>>
>> Estabelecendo conexão com
>> (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
>> STATUS do LISTENER
>> 
>> Apelido LISTENER
>> Versão TNSLSNR for 32-bit Windows: Version 11.2.0.1.0
>> - Production
>> Data Inicial 03-JUN-2011 20:40:20
>> Funcionamento 0 dias 1 hr. 10 min. 35 seg
>> Nível de Análise off
>> Segurança ON: Local OS Authentication
>> SNMP OFF
>> Arq. Parâm. Listn.
>> D:\app\Administrador\product\11.2.0\dbhome_1\network\admin\listener.ora
>> Arq. Log Listener
>> d:\app\administrador\diag\tnslsnr\server2008\listener\alert\log.xml
>> Resumo de Atendimento...
>> (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
>> (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.103)(PORT=1521)))
>> Resumo de Serviços...
>> O serviço "CLRExtProc" tem 1 instância(s).
>> Instância "CLRExtProc", status UNKNOWN, tem 1 handler(s) para este
>> serviço...
>> O comando foi executado com êxito
>>
>> O ambiente é um Windows 2008 R2 com Oracle 11G 11.2.0.1, instalado com
>> uma configuração padrão.
>> Já procurei no google mas tudo que achei para fazer não adiantou.
>>
>> Abraço,
>> Roberto
>>
>>
>
>


[oracle_br] Problema com listener

2011-06-03 Por tôpico Roberto Warstat
Pessoal,
Estou com um problema com o listener. Se eu fizer a conexão com o comando

sqlplus /nolog
conn sys as sysdba

a conexão é feita sem problema algum. Mas se eu fizer

sqlplus /nolog
conn sys@bd01 as sysdba

dá a mensagem

ORA-12514: TNS: Listener não tem conhecimento do serviço solicitado 
atualmente no descritor de conexão

O arquivo listener.ora está com o seguinte conteúdo

# listener.ora Network Configuration File: 
D:\app\Administrador\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
   (SID_LIST =
 (SID_DESC =
   (SID_NAME = CLRExtProc)
   (ORACLE_HOME = D:\app\Administrador\product\11.2.0\dbhome_1)
   (PROGRAM = extproc)
   (ENVS = 
"EXTPROC_DLLS=ONLY:D:\app\Administrador\product\11.2.0\dbhome_1\bin\oraclr11.dll")
 )
   )

LISTENER =
   (DESCRIPTION_LIST =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.103)(PORT = 1521))
 )
   )

ADR_BASE_LISTENER = D:\app\Administrador

E o tnsnames.ora contêm

# tnsnames.ora Network Configuration File: 
D:\app\Administrador\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

BD01 =
   (DESCRIPTION =
 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.103)(PORT = 1521))
 (CONNECT_DATA =
   (SERVER = DEDICATED)
   (SERVICE_NAME = bd01)
 )
   )

ORACLR_CONNECTION_DATA =
   (DESCRIPTION =
 (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
 )
 (CONNECT_DATA =
   (SID = CLRExtProc)
   (PRESENTATION = RO)
 )
   )

A saída do comando "lsnrctl status" é

LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 
03-JUN-2011 21:50:55

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

Estabelecendo conexão com 
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS do LISTENER

Apelido   LISTENER
VersãoTNSLSNR for 32-bit Windows: Version 11.2.0.1.0 
- Production
Data Inicial  03-JUN-2011 20:40:20
Funcionamento 0 dias 1 hr. 10 min. 35 seg
Nível de Análise off
Segurança  ON: Local OS Authentication
SNMP  OFF
Arq. Parâm. Listn.
D:\app\Administrador\product\11.2.0\dbhome_1\network\admin\listener.ora
Arq. Log Listener
d:\app\administrador\diag\tnslsnr\server2008\listener\alert\log.xml
Resumo de Atendimento...
   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.103)(PORT=1521)))
Resumo de Serviços...
O serviço "CLRExtProc" tem 1 instância(s).
   Instância "CLRExtProc", status UNKNOWN, tem 1 handler(s) para este 
serviço...
O comando foi executado com êxito

O ambiente é um Windows 2008 R2 com Oracle 11G 11.2.0.1, instalado com 
uma configuração padrão.
Já procurei no google mas tudo que achei para fazer não adiantou.

Abraço,
Roberto


Re: [oracle_br] Envia email pelo Oracle

2011-05-17 Por tôpico Roberto Warstat
Alessandro,

No dia 15/04 eu postei uma mensagem com o título "Envio de e-mail" aqui na
lista onde tinha um código para envio de e-mails pelo Oracle. Aconselho que
dê uma olhada nela, pois ela está funcionando plenamente.
De antemão já posso dizer que não está sendo infromado o servidor de smtp, a
conexão não está aberta e mais algumas coisas. Olha a mensagem citada acima
ou procura na net por um código pronto para isso, que existe aos montes.

Abraço,
Roberto

Em 17 de maio de 2011 16:39, alessandro escreveu:

>
>
> Boa Tarde
>
> Estou precisando fazer uma rotina p/ enviar email pelo Oracle
>
> DECLARE
>
> V_EMAIL_DESTINO VARCHAR2(100) := 'alessan...@micromap.com.br';
>
> V_EMAIL_REMETENTE VARCHAR2(100) :=
> 'alessandro.mai...@itelefonica.com.br';
>
> V_ASSUNTO VARCHAR2(1000) := 'Cadastro atualizado pelo Portal';
>
> BEGIN
>
> UTL_MAIL.send(V_EMAIL_REMETENTE,
>
> V_EMAIL_DESTINO,
>
> V_ASSUNTO,
>
> 'O servidor Oracle me enviou este e-mail utilizando o pacote
> UTL_MAIL');
>
> END;
>
> /
>
> DECLARE
>
> *
>
> ERRO na linha 1:
>
> ORA-29278: erro transiente de SMTP: 421 Service not available
>
> ORA-06512: em "SYS.UTL_SMTP", line 21
>
> ORA-06512: em "SYS.UTL_SMTP", line 97
>
> ORA-06512: em "SYS.UTL_SMTP", line 139
>
> ORA-06512: em "SYS.UTL_MAIL", line 405
>
> ORA-06512: em "SYS.UTL_MAIL", line 594
>
> ORA-06512: em line 6
>
> O QUE TEM QUE FAZER P/ RESOLVER ESTE PROBLEMA, POIS ESTA ROTIN A SERÁ
> COLOCADO EM VÁRIOS CLIENTES COM BANCO ORACLE 10GR2 COM WINDOWS 2003 SERVER.
>
> Desde já muito obrigado a todos do Forum
>
> Fique com Deus e que Deus te Abençoe hoje e sempre.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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





--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

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

<*> Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

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




[oracle_br] Envio de e-mail

2011-04-15 Por tôpico Roberto Warstat
Pessoal,
Na empresa temos uma procedure para envio de e-mail, que está aí embaixo.

CREATE OR REPLACE PROCEDURE Enviar_Email (
assunto varchar2,
msg varchar2,
remetente_o varchar2, -- o e-mail sera enviado por este endereco
remetente_f varchar2, -- o endereco que aparecera como remetente sera esse
destinatario varchar2,
copia varchar2 ) -- e-mail que ira receber a copia
is

host varchar2(40);
mensagem varchar2(32767);
crlf varchar2(2);
boundary varchar2(256);

-- Abre conex?o SMTP
CONEXAO UTL_SMTP.CONNECTION;

BEGIN

host := '192.168.0.10';
crlf := chr(13) || chr(10);
boundary := 'CES.Boundary.DACA587499938898';

-- Abre conex?o com um Servidor SMTP(Simple Mail Transfer Protocol), porta
padr?o SMTP e 25
CONEXAO := utl_smtp.open_connection (host,25);

-- As 3 linhas abaixo e caso o servidor precise de autenticac?o
-- A segunda linha e o usuario e 3? e a senha
UTL_SMTP.HELO(CONEXAO,host);
utl_smtp.command (CONEXAO, 'AUTH LOGIN');
utl_smtp.command (CONEXAO,
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(('usuario@dominio
');
utl_smtp.command (CONEXAO,
utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(('senha');

UTL_SMTP.HELO (CONEXAO, host);

-- Define o remetente e o destinatario do e-mail de acordo com os parametros
passados
UTL_SMTP.MAIL (CONEXAO, ('<' || remetente_o || '>'));
UTL_SMTP.RCPT (CONEXAO, ('<' || destinatario || '>'));
if copia is not null then
UTL_SMTP.RCPT (CONEXAO, ('<' || copia || '>'));
end if;

-- Abre a transferencia de dados para o e-mail
UTL_SMTP.OPEN_DATA(CONEXAO);

-- Escreve o cabecalho da mensagem
mensagem := 'Date: ' || TO_CHAR(SYSDATE,'dd Mon yy hh24:mi:ss') || crlf ||
   'From: ' || remetente_f || crlf ||
  'Subject: ' || assunto || crlf ||
  'To: ' || destinatario || crlf ||
  'Cc: ' || copia || crlf;
--mensagem := mensagem || 'Mime-Version: 1.0' || crlf ||
--   'Content-Type: multipart/mixed; boundary="' || boundary ||
'"' || crlf || crlf;
--utl_smtp.write_data(CONEXAO,mensagem);

-- Escreve o conteudo do e-mail
utl_smtp.write_data(CONEXAO,mensagem);
utl_smtp.write_data(CONEXAO,msg);

-- Fecha o data e fecha a conex?o com o servidor smtp
UTL_SMTP.CLOSE_DATA(CONEXAO);
UTL_SMTP.QUIT (CONEXAO);

Exception
WHEN OTHERS THEN
utl_smtp.quit (conexao);
raise_application_error(-20011,'N?o foi possivel enviar o e-mail devido ao
seguinte erro: ' || sqlerrm);
END Enviar_Email;
/

Ela funciona perfeitamente, com exceção de um pequeno detalhe: se na
montagem do corpo da mensagem eu colocar algo do tipo
MSG := 'Data:' || to_char(sysdate,'dd/mm/ hh24:mi') || CHR(10) ||
CHR(13) || 'funcionou';

Só irá ser enviada a segunda linha. A primeira, onde deveria aparecer a data
não vai.
Isso ocorre tanto com o Oracle 9 Enterprise, como com o 10g Enterprise.

Abraço,
Roberto


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



Re: [oracle_br] Popular base para simulaçõe s

2010-07-26 Por tôpico Roberto Warstat
Wendel,

Sei que o software PowerDesigner possui uma funcionalidade para gerar 
dados de testes. Nunca usei essa funcionalidade, por isso teria que dar 
uma olhada mais a fundo.

Abraço,
Roberto

Em 24/07/2010 20:43, Wendel Siota escreveu:
>
> Saudações amigos.
> Gostaria de sugestões para a seguinte questão.
> Gostaria de popular uma base de dados (a ser criada apenas para 
> testes) com
> informações diversas e aleatórias, para uma simulação.
> As tabelas envolvem dados comuns (nomes, endereços, valores numéricos
> diversos)
> Esta deve ter um volume de 2 ou 3 GB de dados.
> Alguma dica para esta tarefa ?
> Abraços a todos.
>
> Wendel
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 




--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

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

<*> Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

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