Re: [oracle_br] Re: Function - PL/SQL

2009-11-18 Por tôpico Matheus Malta
Então galera... Negócio é o seguinte...

Ao executar a função, normalmente, utilizando a tabela DUAL para isso, eu tenho 
que mencionar, ao passar o parâmetro, o valor entre apóstrofes, pois o datatype 
é do tipo varchar2, conforme eu falei...

Quanto a mencionar somente a variável (sem apóstrofes) eu já tinha feito isso, 
porém não estava dando certo (ver emails anteriores)...

Ressalto também que a chamada da func a partir da proc está sendo feita em 
ambiente sqlplus o q tem dificultado demasiadamente a questão, já que, estou 
executando uma proc q faz a atualização de um determinado dado na tabela e a 
func só serve pra validar se o dado a ser atualizado existe ou não... E, toda 
vez q executo a proc, eu tenho como retorno a saída de erro NÃO EXISTE O 
DEPARTAMENTO tal(parâmetro passado)... E o dado não atualiza, ou seja, fica 
como se o retorno da func fosse sempre FALSE, e não é o caso, já que estou 
fazendo testes e o dado consta na tabela...

Entretanto, utilizando um outro ambiente, no caso, PL/SQL Developer, executei a 
proc normalmente e, a partir dos parâmetros passados, a proc rodou normalmente 
e funcionou normalmente também a func...

Não sou muito de desistir e por isso estou mandando os dados da tabela em que 
estou aplicando a proc e a func para que vocês possam efetuar os testes também 
com vcs...

Os dados são:

  CD_DEPTONM_DEPTOCD_GERENTE  CD_DEPTO_CTB
  A00 DIRETORIA DA EMPRESA 10   
  B01 ASSESSORIA 20 A00 
  C01 CENTRO DE INFORMACAO 30 A00 
  D01 DIRETORIA DE SISTEMAS   A00 
  D11 GERENCIA DE SISTEMAS COMERCIAIS 60 D01 
  D21 GERENCIA DE SISTEMAS ADMINISTRATIVOS 70 D01 
  E01 DIRETORIA DE SUPORTE/PRODUCAO 50 A00 
  E11 OPERACAO 90 E01 
  E21 SUPORTE DE SOFTWARE 100 E01 


Abaixo a descrição da tabela DEPTO:

  COLUNAS DATATYPE NULLABLE? 
  CD_DEPTO CHAR(3) N 
  NM_DEPTO VARCHAR2(40) Y 
  CD_GERENTE NUMBER(5) Y 
  CD_DEPTO_CTB CHAR(3) Y 


É isso pessoal...

Qualquer novidade, estou por aqui...

Obrigado a todos!

Matheus Malta

  - Original Message - 
  From: jlchiappa 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Wednesday, November 18, 2009 11:27 PM
  Subject: [oracle_br] Re: Function - PL/SQL



  Então :

  > 
  > Sendo bem sincero não consegui identificar o erro da proc ou da func, a meu
  > entender a chamada da func está correta, 

  é ** claro ** que não está, veja lá a linha :

  > v_ver := fn_verifica_depto(upper('v_cdepto'));

  no PL/SQL as aspas simples indicam uma STRING, um conjunto FIXO de 
caracteres, então o que ele está passando como argumento é uma STRING composta 
pelas letras/caracteres V, _, , C, D, E, P, T, O  Imagino que NÂO É isso 
que ele queria, ele queria se referenciar ao VALOR da variável V_CDEPTO, a na 
sintaxe do PL/SQL pra isso basta citar o nome da variável, *** SEM *** aspas 
algumas, assim :

  v_ver := fn_verifica_depto(upper(v_cdepto));

  ok ? SE a variável v_cdepto for de datatype/tamanho apropriado ao definido no 
parâmetro da função, não tem por que não funcionar em se usando a sintaxe 
correta...

  []s

  Chiappa



  

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



[oracle_br] Re: Function - PL/SQL

2009-11-18 Por tôpico jlchiappa
Então :

> 
> Sendo bem sincero não consegui identificar o erro da proc ou da func, a meu
> entender a chamada da func está correta, 

é ** claro ** que não está, veja lá a linha :

> v_ver := fn_verifica_depto(upper('v_cdepto'));

no PL/SQL as aspas simples indicam uma STRING, um conjunto FIXO de caracteres, 
então o que ele está passando como argumento é uma STRING composta pelas 
letras/caracteres V, _, , C, D, E, P, T, O  Imagino que NÂO É isso que ele 
queria, ele queria se referenciar ao VALOR da variável V_CDEPTO, a na sintaxe 
do PL/SQL pra isso basta citar o nome da variável, *** SEM *** aspas algumas, 
assim :

v_ver := fn_verifica_depto(upper(v_cdepto));


ok ? SE a variável v_cdepto for de datatype/tamanho apropriado ao definido no 
parâmetro da função, não tem por que não funcionar em se usando a sintaxe 
correta...

 []s

  Chiappa



Re: Res: Res: Res: [oracle_br] Tuning de Querys

2009-11-18 Por tôpico jlchiappa
Eu tenho esse, é bom mas ele Não supre a necessidade sozinho : por exemplo, uma 
parte Importante do Tuning de SQL muitas vezes é re-escrita usando-se built-ins 
do banco (como Analytics, ou recursos internos como WITH clause, in-line, etc), 
o livro é um tanto omisso nesse sentido... Da mesma forma, outro ponto Crucial 
do Tuning de SQLs é avaliação do Método de join em uso (quase sempre os SQLs 
complexos em análise vão ter JOINs), ele nada fala a respeito E num ponto 
final, OBRIGATORIAMENTE na versão 10g e acima vai se estar rodando o SQL em 
CBO, o livro é Omisso sobre CBO 
 Assim sendo Não Tem Jeito, o colega q perguntou VAI TER QUE adquirir e ler 
vários : além do citado, ele precisará do "Expert Oracle Database Architecture: 
9i and 10g Programming Techniques and Solutions", e do "Effective Oracle by 
Design" (ambos de Thomas Kyte) pros built-ins, do "Oracle SQL High-Performance 
Tuning (2nd Edition)", de Guy Harrison, pra métodos de Join, E do "Cost-Based 
Oracle Fundamentals" de Jonathan Lewis para o CBO...
 
 []s
 
   Chiappa
   

--- Em oracle_br@yahoogrupos.com.br, Caio Spadafora  escreveu
>
> Rodrigo,
> 
> Ainda não li esse, vou dar uma pesquisada, valeu pela dica. 
> 
> Matheus,
> 
> Se quiser enviar a(s) consulta(s), por favor.
> 
> Atenciosamente,
> Caio Spadafora.
> 
> 
> 
> 
> 
> De: Rodrigo Mufalani 
> Para: oracle_br@yahoogrupos.com.br
> Enviadas: Quarta-feira, 18 de Novembro de 2009 17:57:58
> Assunto: Re: Res: Res: [oracle_br] Tuning de Querys
> 
>   
> 
> Caio,
> 
> Um dos melhores que eu conheço é o "Optimizing Oracle Performance" Cary
> Millsap.
> 
> Até no ENPO-BR o gary goodman sorteou um livro desses. Ele abora SQL
> tuning. O curso da Oracle university "SQL tuning" eu achei muito bom
> também. De repente tem em cd self study, é mais barato, porém não conta
> como Hands-on para a prova.
> 
> Atenciosamente,
> 
> Rodrigo Mufalani
> DBA - OCP 10g & 11g +RAC
> Oracle ACE Member
> www.mrdba.com. br/mufalani/
> mufal...@mrdba. com.br
> 
> Mas em sua maioria todos possuem capítulos destinados a tuning de comandos
> SQL, que teoricamente é a última área de abordagem de tuning (nunca se
> começa o tuning pelo comando SQL, na maioria das metodologias) .
> 
> De qualquer maneira ha muito tempo lembro de ter visto um treinamento, se
> não me engano, da Oracle que se chamava Tuning The Schema. Era um
> treinamento que focava no otimizador, planos de execução, algoritmos de
> join, IOT, cluster, tipos de índice, hints, stored outline, tkprof. Acho
> dificil ter muito mais coisa para se estudar de tuning de consulta do que
> isso. Acho que era um curso online.
> 
> Se precisar de ajuda para otimizar alguma consulta em específico pode
> postar a mesma aqui, de preferência com o plano de execução, para
> tentarmos te ajudar.
> 
> Atenciosamente,
> Caio Spadafora.
> 
>  _ _ __
> De: Hevandro Veiga 
> Para: oracle...@yahoogrup os.com.br
> Enviadas: Quarta-feira, 18 de Novembro de 2009 0:58:10
> Assunto: Re: Res: [oracle_br] Tuning de Querys
> 
> 2009/11/17 darcio XX 
> 
> >
> >
> > Esses livros parecem ser bom mais sao muito voltado para o banco. Estou
> > precisando de algo mais focado a Query...
> >
> > Abraço
> >
> >  _ _ __
> > De: Caio Spadafora
> > 
> > >
> >
> > Para: oracle...@yahoogrup os.com.br 
> > Enviadas: Segunda-feira, 16 de Novembro de 2009 15:30:44
> > Assunto: Res: [oracle_br] Tuning de Querys
> >
> >
> > Eu particularmente não gosto muito da abordagem do Burleson, ele é muito
> > conhecido por consolidar a documentação da Oracle, tenho o livro dele de
> > Statspack muito por não ter outras opções e para dar o benefício da
> > dúvida,
> > mas não gostei muito, muito do livro fica focado nos hit/misses e no
> > script
> > access.sql.
> >
> > Prefiro o Tom Kyte e o Craig (http://www.training .orapub.com/ ), apesar
> > de
> > se não me engano o Craig trabalhar com o Burleson. Uma boa leitura
> > apesar de
> > focada no 8i é o livro do Steve Adams (http://oreilly. com/catalog/
> > 9781565925984) .
> >
> > Bom proveito.
> > Atenciosamente,
> > Caio Spadafora.
> >
> >  _ _ __
> > De: Willian Fernando Frasson 
> > Para: oracle...@yahoogrup os.com.br
> >
> > Enviadas: Sábado, 14 de Novembro de 2009 16:07:28
> > Assunto: Re: [oracle_br] Tuning de Querys
> >
> > Procure pelo livro do burleson, The Definitive Tuning
> > esse vai te ajudar em mta coisa..
> >
> > - Original Message -
> > From: darcio XX
> > To: oracle...@yahoogrup os.com.br
> > Sent: Saturday, November 14, 2009 3:45 PM
> > Subject: [oracle_br] Tuning de Querys
> >
> > Alguem conhece algum livro "apostila, post..." bom para tuning query?
> >
> >  _ _ _ _ _ _
> > Veja quais são os assuntos do momento no Yahoo! +Buscados
> > http://br.maisbusca dos.yahoo. com
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > -

Re: Res: Res: [oracle_br] Tuning de Querys

2009-11-18 Por tôpico Marcos Fontana
Sei que não é muito correto mas acabei de fazer o download dele do 4shared.

Atenciosamente,

Marcos Fontana

2009/11/18 Caio Spadafora 

>
>
> Rodrigo,
>
> Ainda não li esse, vou dar uma pesquisada, valeu pela dica.
>
> Matheus,
>
> Se quiser enviar a(s) consulta(s), por favor.
>
> Atenciosamente,
> Caio Spadafora.
>
> 
> De: Rodrigo Mufalani >
>
> Para: oracle_br@yahoogrupos.com.br 
> Enviadas: Quarta-feira, 18 de Novembro de 2009 17:57:58
> Assunto: Re: Res: Res: [oracle_br] Tuning de Querys
>
>
> Caio,
>
> Um dos melhores que eu conheço é o "Optimizing Oracle Performance" Cary
> Millsap.
>
> Até no ENPO-BR o gary goodman sorteou um livro desses. Ele abora SQL
> tuning. O curso da Oracle university "SQL tuning" eu achei muito bom
> também. De repente tem em cd self study, é mais barato, porém não conta
> como Hands-on para a prova.
>
> Atenciosamente,
>
> Rodrigo Mufalani
> DBA - OCP 10g & 11g +RAC
> Oracle ACE Member
> www.mrdba.com. br/mufalani/
> mufal...@mrdba. com.br
>
> Mas em sua maioria todos possuem capítulos destinados a tuning de comandos
> SQL, que teoricamente é a última área de abordagem de tuning (nunca se
> começa o tuning pelo comando SQL, na maioria das metodologias) .
>
> De qualquer maneira ha muito tempo lembro de ter visto um treinamento, se
> não me engano, da Oracle que se chamava Tuning The Schema. Era um
> treinamento que focava no otimizador, planos de execução, algoritmos de
> join, IOT, cluster, tipos de índice, hints, stored outline, tkprof. Acho
> dificil ter muito mais coisa para se estudar de tuning de consulta do que
> isso. Acho que era um curso online.
>
> Se precisar de ajuda para otimizar alguma consulta em específico pode
> postar a mesma aqui, de preferência com o plano de execução, para
> tentarmos te ajudar.
>
> Atenciosamente,
> Caio Spadafora.
>
>  _ _ __
> De: Hevandro Veiga 
> Para: oracle...@yahoogrup os.com.br
> Enviadas: Quarta-feira, 18 de Novembro de 2009 0:58:10
> Assunto: Re: Res: [oracle_br] Tuning de Querys
>
> 2009/11/17 darcio XX 
>
> >
> >
> > Esses livros parecem ser bom mais sao muito voltado para o banco. Estou
> > precisando de algo mais focado a Query...
> >
> > Abraço
> >
> >  _ _ __
> > De: Caio Spadafora
> > 
> > >
> >
> > Para: oracle...@yahoogrup os.com.br 
>
> > Enviadas: Segunda-feira, 16 de Novembro de 2009 15:30:44
> > Assunto: Res: [oracle_br] Tuning de Querys
> >
> >
> > Eu particularmente não gosto muito da abordagem do Burleson, ele é muito
> > conhecido por consolidar a documentação da Oracle, tenho o livro dele de
> > Statspack muito por não ter outras opções e para dar o benefício da
> > dúvida,
> > mas não gostei muito, muito do livro fica focado nos hit/misses e no
> > script
> > access.sql.
> >
> > Prefiro o Tom Kyte e o Craig (http://www.training .orapub.com/ ), apesar
> > de
> > se não me engano o Craig trabalhar com o Burleson. Uma boa leitura
> > apesar de
> > focada no 8i é o livro do Steve Adams (http://oreilly. com/catalog/
> > 9781565925984) .
> >
> > Bom proveito.
> > Atenciosamente,
> > Caio Spadafora.
> >
> >  _ _ __
> > De: Willian Fernando Frasson 
> > Para: oracle...@yahoogrup os.com.br
> >
> > Enviadas: Sábado, 14 de Novembro de 2009 16:07:28
> > Assunto: Re: [oracle_br] Tuning de Querys
> >
> > Procure pelo livro do burleson, The Definitive Tuning
> > esse vai te ajudar em mta coisa..
> >
> > - Original Message -
> > From: darcio XX
> > To: oracle...@yahoogrup os.com.br
> > Sent: Saturday, November 14, 2009 3:45 PM
> > Subject: [oracle_br] Tuning de Querys
> >
> > Alguem conhece algum livro "apostila, post..." bom para tuning query?
> >
> >  _ _ _ _ _ _
> > Veja quais são os assuntos do momento no Yahoo! +Buscados
> > http://br.maisbusca dos.yahoo. com
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >  - - - - - -
> >
> > O Banco de Dados de Vírus interno expirou.
> > Verificado por AVG - http://www.avgbrasi l.com.br
> > Versão: 8.0.233 / Banco de dados de vírus: 270.10.16/1926 - Data de
> > Lançamento: 30/1/2009 17:31
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >  _ _ _ _ _ _
> > Veja quais são os assuntos do momento no Yahoo! +Buscados
> > http://br.maisbusca dos.yahoo. com
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >  _ _ _ _ _ _
> > Veja quais são os assuntos do momento no Yahoo! +Buscados
> > http://br.maisbusca dos.yahoo. com
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  - - --
>
>  - - -

Res: Res: Res: [oracle_br] Tuning de Querys

2009-11-18 Por tôpico Caio Spadafora
Rodrigo,

Ainda não li esse, vou dar uma pesquisada, valeu pela dica. 

Matheus,

Se quiser enviar a(s) consulta(s), por favor.

Atenciosamente,
Caio Spadafora.





De: Rodrigo Mufalani 
Para: oracle_br@yahoogrupos.com.br
Enviadas: Quarta-feira, 18 de Novembro de 2009 17:57:58
Assunto: Re: Res: Res: [oracle_br] Tuning de Querys

  

Caio,

Um dos melhores que eu conheço é o "Optimizing Oracle Performance" Cary
Millsap.

Até no ENPO-BR o gary goodman sorteou um livro desses. Ele abora SQL
tuning. O curso da Oracle university "SQL tuning" eu achei muito bom
também. De repente tem em cd self study, é mais barato, porém não conta
como Hands-on para a prova.

Atenciosamente,

Rodrigo Mufalani
DBA - OCP 10g & 11g +RAC
Oracle ACE Member
www.mrdba.com. br/mufalani/
mufal...@mrdba. com.br

Mas em sua maioria todos possuem capítulos destinados a tuning de comandos
SQL, que teoricamente é a última área de abordagem de tuning (nunca se
começa o tuning pelo comando SQL, na maioria das metodologias) .

De qualquer maneira ha muito tempo lembro de ter visto um treinamento, se
não me engano, da Oracle que se chamava Tuning The Schema. Era um
treinamento que focava no otimizador, planos de execução, algoritmos de
join, IOT, cluster, tipos de índice, hints, stored outline, tkprof. Acho
dificil ter muito mais coisa para se estudar de tuning de consulta do que
isso. Acho que era um curso online.

Se precisar de ajuda para otimizar alguma consulta em específico pode
postar a mesma aqui, de preferência com o plano de execução, para
tentarmos te ajudar.

Atenciosamente,
Caio Spadafora.

 _ _ __
De: Hevandro Veiga 
Para: oracle...@yahoogrup os.com.br
Enviadas: Quarta-feira, 18 de Novembro de 2009 0:58:10
Assunto: Re: Res: [oracle_br] Tuning de Querys

2009/11/17 darcio XX 

>
>
> Esses livros parecem ser bom mais sao muito voltado para o banco. Estou
> precisando de algo mais focado a Query...
>
> Abraço
>
>  _ _ __
> De: Caio Spadafora
> 
> >
>
> Para: oracle...@yahoogrup os.com.br 
> Enviadas: Segunda-feira, 16 de Novembro de 2009 15:30:44
> Assunto: Res: [oracle_br] Tuning de Querys
>
>
> Eu particularmente não gosto muito da abordagem do Burleson, ele é muito
> conhecido por consolidar a documentação da Oracle, tenho o livro dele de
> Statspack muito por não ter outras opções e para dar o benefício da
> dúvida,
> mas não gostei muito, muito do livro fica focado nos hit/misses e no
> script
> access.sql.
>
> Prefiro o Tom Kyte e o Craig (http://www.training .orapub.com/ ), apesar
> de
> se não me engano o Craig trabalhar com o Burleson. Uma boa leitura
> apesar de
> focada no 8i é o livro do Steve Adams (http://oreilly. com/catalog/
> 9781565925984) .
>
> Bom proveito.
> Atenciosamente,
> Caio Spadafora.
>
>  _ _ __
> De: Willian Fernando Frasson 
> Para: oracle...@yahoogrup os.com.br
>
> Enviadas: Sábado, 14 de Novembro de 2009 16:07:28
> Assunto: Re: [oracle_br] Tuning de Querys
>
> Procure pelo livro do burleson, The Definitive Tuning
> esse vai te ajudar em mta coisa..
>
> - Original Message -
> From: darcio XX
> To: oracle...@yahoogrup os.com.br
> Sent: Saturday, November 14, 2009 3:45 PM
> Subject: [oracle_br] Tuning de Querys
>
> Alguem conhece algum livro "apostila, post..." bom para tuning query?
>
>  _ _ _ _ _ _
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbusca dos.yahoo. com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  - - - - - -
>
> O Banco de Dados de Vírus interno expirou.
> Verificado por AVG - http://www.avgbrasi l.com.br
> Versão: 8.0.233 / Banco de dados de vírus: 270.10.16/1926 - Data de
> Lançamento: 30/1/2009 17:31
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  _ _ _ _ _ _
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbusca dos.yahoo. com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  _ _ _ _ _ _
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbusca dos.yahoo. 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! VI

Re: [oracle_br] Duvida Storage

2009-11-18 Por tôpico Marcos Fontana
Acho difícil o Raid6 ter uma performance melhor que o Raid10. Se pensar em
Raid10 você vai de cara ter VolumeAtual/2 porém é excelente para aplicações
OLTP.

Eu não usuária outra configuração. No seu storage atual você tem 4.8T, 2.4T
te atende? Caso sim sugiro o Raid10.

Atenciosamente,

Marcos Fontana

2009/11/18 Sharif - Yahoo 

>
>
> Pessoal, Boa Tarde,
>
> Temos um IBM DS4700 72A com 2 controladores 2GB de memória em cada
> controladora e 16 discos de 300Gb FC, gostaria de saber se alguém tem
> alguma
> experiência ou dica se posso criar um ARRAY só com os 16 discos ou se devo
> criar 2 ou mais se isso influenciaria na performance ?
>
> Configurei RAID5 por enquanto, mas esse storage tem opção de RAID6 alguém
> está utilizando ? Tem alguma sugestão ? Li algumas notas na internet
> dizendo
> que a leitura no RAID6 é um pouco mais rápida e tal mas nenhuma fonte
> muito confiável.
>
> Esse storage é para um database Oracle OLTP.
>
> Abraços,
>
> Sharif
>
> [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] Duvida Storage

2009-11-18 Por tôpico Sharif - Yahoo
Pessoal, Boa Tarde,

 

Temos um IBM DS4700 72A  com 2 controladores 2GB de memória em cada
controladora e 16 discos de 300Gb FC, gostaria de saber se alguém tem alguma
experiência ou dica se posso criar um ARRAY só com os 16 discos ou se devo
criar 2 ou mais se isso influenciaria na performance ?

 

Configurei RAID5 por enquanto, mas esse storage tem opção de RAID6 alguém
está utilizando ? Tem alguma sugestão ? Li algumas notas na internet dizendo
que a leitura no RAID6 é um pouco mais rápida e tal mas nenhuma fonte
muito confiável.

 

Esse storage é para um database Oracle OLTP.

 

Abraços,

 

Sharif

 

 

 



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



Re: [oracle_br] Function - PL/SQL

2009-11-18 Por tôpico Roberto Oshikawa
Matheus

Criei a proc e a func na minha maquina e realmente não existe nenhum
problema na execução.

Tente executar a proc na sua maquina, os valores que incluir como parametros
são apenas para teste pois minha tabela está sem dados, para dos os campos
da tabela DEPTO eu coloquei como VARCHAR2(10)

qq coisa me avise


SQL>
SQL>
SQL> declare
  2  v_ret varchar2(100);
  3  begin
  4-- Call the procedure
  5prc_atualiza_depto('1','1','1','1',v_ret);
  6dbms_output.put_line( v_ret );
  7  end;
  8  /
NÃO EXISTE O DEPARTAMENTO 1!

PL/SQL procedure successfully completed.

SQL>



2009/11/18 Roberto Oshikawa 

> Matheus,
>
> Vou criar essa proc e a func nna minha máquina, mas posso garantir que não
> existe nada em especial qdo vc manda executar um func ou proc que utilize
> parametros iguais
>
> se vc está usando uma variável do tipo varchar2 ela não precisa ser
> utilizada com apostrofo na execução
>
> exemplo :
>
>
> Procedure teste
> *variavel1 *varchar2(100);
>
> begin
> ..
> .
> .
> if estouchamando_a_func(*variavel1*) = '1234'then
>raise error
> end if;
> end;
>
> end
>
> em todo o caso estarei criando esse codigo na minha maquina e te retorno
>
>
>
> 2009/11/18 Matheus Malta 
>
>>
>>
>> Então Roberto... Só recapitulando...
>>
>> - O ambiente é o SQLPlus;
>> - O parâmetro IN da func é do tipo VARCHAR2;
>> - O parâmetro IN da proc é do tipo VARCHAR2;
>>
>> Estou tentando executar a func isoladamente, para ver como chamar o
>> parâmetro e, pelo que eu percebo, eu tenho sempre que, ao passar o
>> parâmetro, colocá-lo entre APÓSTROFES('), pois é um elemento tipo TEXTO.
>>
>> Penso que talvez possa ser isto, mas aí cabe a minha pergunta: como passar
>> o parâmetro tipo texto dentro da proc de maneiras que, quando a func tiver
>> que ler o parâmetro, ela também o leia como texto.
>>
>> Tentei colocar entre apóstrofes a variável(conforme visto na proc) mas
>> ainda não está dando certo...
>>
>> Prosseguirei com os testes aqui... Qualquer novidade que você econtrar e
>> puder me avisar, ficarei grato...
>>
>> Falows!
>>
>>
>> Matheus Malta
>> - Original Message -
>> From: "Roberto Oshikawa" >
>> To: >
>> Sent: Wednesday, November 18, 2009 4:38 PM
>> Subject: Re: [oracle_br] Function - PL/SQL
>>
>> Matheus,
>>
>> Sendo bem sincero não consegui identificar o erro da proc ou da func, a
>> meu
>> entender a chamada da func está correta, porém normalmente não faço dessa
>> forma, eu utilizo
>>
>> if func() = v_Resultado then
>> raise erro
>> end if
>>
>> 2009/11/18 Matheus Malta 
>> >
>>
>> >
>> >
>> > Então...
>> >
>> > O objetivo é executar a procedure e a procedure (durante sua execução)
>> vai
>> > chamar uma func, que vai se utilizar do mesmo parâmetro de entrada da
>> > procedure(no caso, o valor passado na variável v_cdepto), trazer um
>> valor
>> > pra dentro da procedure e a procedure continuar sua execução até o
>> final,
>> > tal como especificado abaixo, na proc:
>> >
>> > CREATE OR REPLACE PROCEDURE prc_atualiza_depto
>> > (
>> > v_cdepto IN depto.cd_depto%TYPE,
>> > V_depto IN depto.nm_depto%TYPE,
>> > v_ger IN depto.cd_gerente%TYPE,
>> > v_cdepto_ctb IN depto.cd_depto_ctb%TYPE,
>> > v_ret OUT VARCHAR2
>> > )
>> >
>> > IS
>> > -- Declaração das variáveis
>> > v_ver NUMBER;
>> > v_erro EXCEPTION;
>> >
>> > BEGIN
>> >
>> > -- Verifica se existe o Depto
>> > -- Aqui a função será usada
>> > v_ver := fn_verifica_depto(upper('v_cdepto'));
>> >
>> > IF v_ver = 0
>> > THEN RAISE v_erro;
>> > END IF;
>> >
>> > -- Atualiza o Depto
>> > UPDATE depto
>> > SET nm_depto = UPPER(v_depto),
>> > cd_gerente = v_ger,
>> > cd_depto_ctb = UPPER(v_cdepto_ctb)
>> > WHERE cd_depto = UPPER(v_cdepto);
>> >
>> > v_ret := 'REGISTRO ATUALIZADO!';
>> > COMMIT;
>> >
>> > EXCEPTION
>> > WHEN v_erro THEN
>> > v_ret := 'NÃO EXISTE O DEPARTAMENTO '||UPPER(v_cdepto)||'!';
>> > ROLLBACK;
>> >
>> > WHEN OTHERS THEN
>> > v_ret := SQLERRM;
>> > ROLLBACK;
>> >
>> > END;
>> >
>> > A função que está sendo usada na proc acima é a seguinte:
>> >
>> > CREATE OR REPLACE FUNCTION fn_verifica_depto
>> > (v_cdepto IN depto.cd_depto%TYPE)
>> > RETURN NUMBER
>> >
>> > IS
>> >
>> > --Verifica a existência do Departamento
>> > v_ver NUMBER;
>> >
>> > BEGIN
>> >
>> > SELECT COUNT(cd_depto) INTO v_ver
>> > FROM depto
>> > WHERE cd_depto = v_cdepto;
>> >
>> > RETURN v_ver;
>> >
>> > END;
>> >
>> > É isso...
>> >
>> > Desde já agradeço!
>> >
>> > Atenciosamente,
>> >
>> >
>> > Matheus Malta
>> > - Original Message -
>> > From: "Roberto Oshikawa" > > > 40gmail.com>>
>> > To: > > > 40yahoogrupos.com.br>>
>>  > Sent: Wednesday, November 18, 2009 12:08 PM
>> > Subject: Re: [oracle_br] Function - PL/SQL
>> >
>> > Matheus,
>> >
>> > desculpa mas não entendi direito, vc está querendo chamar a func dentro
>> da
>> > proc ou criar uma func dentro da proc ? Ou viajei e não eh nada disso ?
>> >
>> > 2009/11/18 Matheus Malta 
>> 
>>
>> > >
>> >
>> > >
>> > >
>> > > Roberto... Penso que o problema inicial esteja sendo o fato de como
>> >

Re: Res: Res: [oracle_br] Tuning de Querys

2009-11-18 Por tôpico Rodrigo Mufalani

Caio,

  Um dos melhores que eu conheço é o "Optimizing Oracle Performance" Cary
Millsap.

   Até no ENPO-BR o gary goodman sorteou um livro desses. Ele abora SQL
tuning. O curso da Oracle university "SQL tuning" eu achei muito bom
também. De repente tem em cd self study, é mais barato, porém não conta
como Hands-on para a prova.

Atenciosamente,

Rodrigo Mufalani
DBA - OCP 10g & 11g +RAC
Oracle ACE Member
www.mrdba.com.br/mufalani/
mufal...@mrdba.com.br





Mas em sua maioria todos possuem capítulos destinados a tuning de comandos
SQL, que teoricamente é a última área de abordagem de tuning (nunca se
começa o tuning pelo comando SQL, na maioria das metodologias).

De qualquer maneira ha muito tempo lembro de ter visto um treinamento, se
não me engano, da Oracle que se chamava Tuning The Schema. Era um
treinamento que focava no otimizador, planos de execução, algoritmos de
join, IOT, cluster, tipos de índice, hints, stored outline, tkprof. Acho
dificil ter muito mais coisa para se estudar de tuning de consulta do que
isso. Acho que era um curso online.


Se precisar de ajuda para otimizar alguma consulta em específico pode
postar a mesma aqui, de preferência com o plano de execução, para
tentarmos te ajudar.

Atenciosamente,
Caio Spadafora.




De: Hevandro Veiga 
Para: oracle_br@yahoogrupos.com.br
Enviadas: Quarta-feira, 18 de Novembro de 2009 0:58:10
Assunto: Re: Res: [oracle_br] Tuning de Querys

2009/11/17 darcio XX 

>
>
> Esses livros parecem ser bom mais sao muito voltado para o banco. Estou
> precisando de algo mais focado a Query...
>
> Abraço
>
> 
> De: Caio Spadafora
> 
> >
>
> Para: oracle_br@yahoogrupos.com.br 
> Enviadas: Segunda-feira, 16 de Novembro de 2009 15:30:44
> Assunto: Res: [oracle_br] Tuning de Querys
>
>
> Eu particularmente não gosto muito da abordagem do Burleson, ele é muito
> conhecido por consolidar a documentação da Oracle, tenho o livro dele de
> Statspack muito por não ter outras opções e para dar o benefício da
> dúvida,
> mas não gostei muito, muito do livro fica focado nos hit/misses e no
> script
> access.sql.
>
> Prefiro o Tom Kyte e o Craig (http://www.training .orapub.com/), apesar
> de
> se não me engano o Craig trabalhar com o Burleson. Uma boa leitura
> apesar de
> focada no 8i é o livro do Steve Adams (http://oreilly. com/catalog/
> 9781565925984).
>
> Bom proveito.
> Atenciosamente,
> Caio Spadafora.
>
>  _ _ __
> De: Willian Fernando Frasson 
> Para: oracle...@yahoogrup os.com.br
>
> Enviadas: Sábado, 14 de Novembro de 2009 16:07:28
> Assunto: Re: [oracle_br] Tuning de Querys
>
> Procure pelo livro do burleson, The Definitive Tuning
> esse vai te ajudar em mta coisa..
>
> - Original Message -
> From: darcio XX
> To: oracle...@yahoogrup os.com.br
> Sent: Saturday, November 14, 2009 3:45 PM
> Subject: [oracle_br] Tuning de Querys
>
> Alguem conhece algum livro "apostila, post..." bom para tuning query?
>
>  _ _ _ _ _ _
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbusca dos.yahoo. com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  - - - - - -
>
> O Banco de Dados de Vírus interno expirou.
> Verificado por AVG - http://www.avgbrasi l.com.br
> Versão: 8.0.233 / Banco de dados de vírus: 270.10.16/1926 - Data de
> Lançamento: 30/1/2009 17:31
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  _ _ _ _ _ _
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbusca dos.yahoo. com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> __
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.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


  
_

Re: [oracle_br] Function - PL/SQL

2009-11-18 Por tôpico Roberto Oshikawa
Matheus,

Vou criar essa proc e a func nna minha máquina, mas posso garantir que não
existe nada em especial qdo vc manda executar um func ou proc que utilize
parametros iguais

se vc está usando uma variável do tipo varchar2 ela não precisa ser
utilizada com apostrofo na execução

exemplo :


Procedure teste
*variavel1 *varchar2(100);

begin
..
.
.
if estouchamando_a_func(*variavel1*) = '1234'then
   raise error
end if;
end;

end

em todo o caso estarei criando esse codigo na minha maquina e te retorno


2009/11/18 Matheus Malta 

>
>
> Então Roberto... Só recapitulando...
>
> - O ambiente é o SQLPlus;
> - O parâmetro IN da func é do tipo VARCHAR2;
> - O parâmetro IN da proc é do tipo VARCHAR2;
>
> Estou tentando executar a func isoladamente, para ver como chamar o
> parâmetro e, pelo que eu percebo, eu tenho sempre que, ao passar o
> parâmetro, colocá-lo entre APÓSTROFES('), pois é um elemento tipo TEXTO.
>
> Penso que talvez possa ser isto, mas aí cabe a minha pergunta: como passar
> o parâmetro tipo texto dentro da proc de maneiras que, quando a func tiver
> que ler o parâmetro, ela também o leia como texto.
>
> Tentei colocar entre apóstrofes a variável(conforme visto na proc) mas
> ainda não está dando certo...
>
> Prosseguirei com os testes aqui... Qualquer novidade que você econtrar e
> puder me avisar, ficarei grato...
>
> Falows!
>
>
> Matheus Malta
> - Original Message -
> From: "Roberto Oshikawa" >
> To: >
> Sent: Wednesday, November 18, 2009 4:38 PM
> Subject: Re: [oracle_br] Function - PL/SQL
>
> Matheus,
>
> Sendo bem sincero não consegui identificar o erro da proc ou da func, a meu
> entender a chamada da func está correta, porém normalmente não faço dessa
> forma, eu utilizo
>
> if func() = v_Resultado then
> raise erro
> end if
>
> 2009/11/18 Matheus Malta 
> >
>
> >
> >
> > Então...
> >
> > O objetivo é executar a procedure e a procedure (durante sua execução)
> vai
> > chamar uma func, que vai se utilizar do mesmo parâmetro de entrada da
> > procedure(no caso, o valor passado na variável v_cdepto), trazer um valor
> > pra dentro da procedure e a procedure continuar sua execução até o final,
> > tal como especificado abaixo, na proc:
> >
> > CREATE OR REPLACE PROCEDURE prc_atualiza_depto
> > (
> > v_cdepto IN depto.cd_depto%TYPE,
> > V_depto IN depto.nm_depto%TYPE,
> > v_ger IN depto.cd_gerente%TYPE,
> > v_cdepto_ctb IN depto.cd_depto_ctb%TYPE,
> > v_ret OUT VARCHAR2
> > )
> >
> > IS
> > -- Declaração das variáveis
> > v_ver NUMBER;
> > v_erro EXCEPTION;
> >
> > BEGIN
> >
> > -- Verifica se existe o Depto
> > -- Aqui a função será usada
> > v_ver := fn_verifica_depto(upper('v_cdepto'));
> >
> > IF v_ver = 0
> > THEN RAISE v_erro;
> > END IF;
> >
> > -- Atualiza o Depto
> > UPDATE depto
> > SET nm_depto = UPPER(v_depto),
> > cd_gerente = v_ger,
> > cd_depto_ctb = UPPER(v_cdepto_ctb)
> > WHERE cd_depto = UPPER(v_cdepto);
> >
> > v_ret := 'REGISTRO ATUALIZADO!';
> > COMMIT;
> >
> > EXCEPTION
> > WHEN v_erro THEN
> > v_ret := 'NÃO EXISTE O DEPARTAMENTO '||UPPER(v_cdepto)||'!';
> > ROLLBACK;
> >
> > WHEN OTHERS THEN
> > v_ret := SQLERRM;
> > ROLLBACK;
> >
> > END;
> >
> > A função que está sendo usada na proc acima é a seguinte:
> >
> > CREATE OR REPLACE FUNCTION fn_verifica_depto
> > (v_cdepto IN depto.cd_depto%TYPE)
> > RETURN NUMBER
> >
> > IS
> >
> > --Verifica a existência do Departamento
> > v_ver NUMBER;
> >
> > BEGIN
> >
> > SELECT COUNT(cd_depto) INTO v_ver
> > FROM depto
> > WHERE cd_depto = v_cdepto;
> >
> > RETURN v_ver;
> >
> > END;
> >
> > É isso...
> >
> > Desde já agradeço!
> >
> > Atenciosamente,
> >
> >
> > Matheus Malta
> > - Original Message -
> > From: "Roberto Oshikawa"  >  40gmail.com>>
> > To:  >  40yahoogrupos.com.br>>
> > Sent: Wednesday, November 18, 2009 12:08 PM
> > Subject: Re: [oracle_br] Function - PL/SQL
> >
> > Matheus,
> >
> > desculpa mas não entendi direito, vc está querendo chamar a func dentro
> da
> > proc ou criar uma func dentro da proc ? Ou viajei e não eh nada disso ?
> >
> > 2009/11/18 Matheus Malta 
> 
>
> > >
> >
> > >
> > >
> > > Roberto... Penso que o problema inicial esteja sendo o fato de como
> > chamar
> > > a função mesmo...
> > >
> > > Estou com uma função aqui parecida com essa, em que o parâmetro a ser
> > > passado é do tipo VARCHAR2...
> > >
> > > Ao referenciar a função numa procedure, ele retorna a mensagem do erro,
> > > como senão houvessem dados a serem trazidos...
> > >
> > > Penso ser este o problema incialmente...
> > >
> > > Assim sendo (e aproveitando o ensejo) como posso referenciar uma função
> > > dentro de uma procedure, considerando que o valor da variável que vai
> ser
> > > atribuído na função é do tipo TEXTO?
> > >
> > > Valew!
> > >
> > > Matheus Malta
> > >
> > >
> > > - Original Message -
> > > From: "Roberto Oshikawa" 
> > >  40gmail.com> > 40gmail.com>>
> > > To:  > >  40yahoogrupos.com.br> > 40yahoogrupos.com.br>>
> > > Sent: Wednesday, November 18, 2009 11:48 AM
> > > Subject: Re: [

Re: [oracle_br] DB LINK

2009-11-18 Por tôpico francisco porfirio
Fernando,

Você pode criar também synonyms para evitar sempre ter que colocar o @.

Para criar o synonym, você precisa executar o seguinte comando:
CREATE SYNONYM nome_do_synonym FOR tab...@nome_do_dblink;

Dai para acessar os dados, basta executar a seguinte consulta:
SELECT * FROM nome_do_synonym

2009/11/18 Marcos Fontana 

> Select xxx from tab...@nome_do_dblink;
>
> Atenciosamente,
>
> Marcos Fontana
>
> 2009/11/18 Fernando Garatini da Silva 
>
> >
> >
> > Pessoal Boa Tarde gostaria de saber como se executa uma query com DB LINK
> >
> > Obrigado
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> 
>
>
> --
> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> inteira responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
>
> --
> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
> » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
> http://www.oraclebr.com.br/
> 
> Links do Yahoo! Grupos
>
>
>


-- 
Atenciosamente
Francisco Porfirio Ribeiro Neto


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



Res: Res: [oracle_br] Tuning de Querys

2009-11-18 Por tôpico Caio Spadafora
Mas em sua maioria todos possuem capítulos destinados a tuning de comandos SQL, 
que teoricamente é a última área de abordagem de tuning (nunca se começa o 
tuning pelo comando SQL, na maioria das metodologias).

De qualquer maneira ha muito tempo lembro de ter visto um treinamento, se não 
me engano, da Oracle que se chamava Tuning The Schema. Era um treinamento que 
focava no otimizador, planos de execução, algoritmos de join, IOT, cluster, 
tipos de índice, hints, stored outline, tkprof. Acho dificil ter muito mais 
coisa para se estudar de tuning de consulta do que isso. Acho que era um curso 
online.


Se precisar de ajuda para otimizar alguma consulta em específico pode postar a 
mesma aqui, de preferência com o plano de execução, para tentarmos te ajudar.

Atenciosamente,
Caio Spadafora.




De: Hevandro Veiga 
Para: oracle_br@yahoogrupos.com.br
Enviadas: Quarta-feira, 18 de Novembro de 2009 0:58:10
Assunto: Re: Res: [oracle_br] Tuning de Querys

2009/11/17 darcio XX 

>
>
> Esses livros parecem ser bom mais sao muito voltado para o banco. Estou
> precisando de algo mais focado a Query...
>
> Abraço
>
> 
> De: Caio Spadafora 
> >
>
> Para: oracle_br@yahoogrupos.com.br 
> Enviadas: Segunda-feira, 16 de Novembro de 2009 15:30:44
> Assunto: Res: [oracle_br] Tuning de Querys
>
>
> Eu particularmente não gosto muito da abordagem do Burleson, ele é muito
> conhecido por consolidar a documentação da Oracle, tenho o livro dele de
> Statspack muito por não ter outras opções e para dar o benefício da dúvida,
> mas não gostei muito, muito do livro fica focado nos hit/misses e no script
> access.sql.
>
> Prefiro o Tom Kyte e o Craig (http://www.training .orapub.com/), apesar de
> se não me engano o Craig trabalhar com o Burleson. Uma boa leitura apesar de
> focada no 8i é o livro do Steve Adams (http://oreilly. com/catalog/
> 9781565925984).
>
> Bom proveito.
> Atenciosamente,
> Caio Spadafora.
>
>  _ _ __
> De: Willian Fernando Frasson 
> Para: oracle...@yahoogrup os.com.br
>
> Enviadas: Sábado, 14 de Novembro de 2009 16:07:28
> Assunto: Re: [oracle_br] Tuning de Querys
>
> Procure pelo livro do burleson, The Definitive Tuning
> esse vai te ajudar em mta coisa..
>
> - Original Message -
> From: darcio XX
> To: oracle...@yahoogrup os.com.br
> Sent: Saturday, November 14, 2009 3:45 PM
> Subject: [oracle_br] Tuning de Querys
>
> Alguem conhece algum livro "apostila, post..." bom para tuning query?
>
>  _ _ _ _ _ _
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbusca dos.yahoo. com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  - - - - - -
>
> O Banco de Dados de Vírus interno expirou.
> Verificado por AVG - http://www.avgbrasi l.com.br
> Versão: 8.0.233 / Banco de dados de vírus: 270.10.16/1926 - Data de
> Lançamento: 30/1/2009 17:31
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  _ _ _ _ _ _
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbusca dos.yahoo. com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> __
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.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


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

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



Re: [oracle_br] DB LINK

2009-11-18 Por tôpico Marcos Fontana
Select xxx from tab...@nome_do_dblink;

Atenciosamente,

Marcos Fontana

2009/11/18 Fernando Garatini da Silva 

>
>
> Pessoal Boa Tarde gostaria de saber como se executa uma query com DB LINK
>
> Obrigado
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>


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





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

 Links do Yahoo! Grupos

<*> 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] DB LINK

2009-11-18 Por tôpico Rodrigo Mufalani
Boa tarde,

  select 
  from tab...@nome_do_database_link
  where Y;

Atenciosamente,

Rodrigo Mufalani
DBA - OCP 10g & 11g +RAC
Oracle ACE Member
www.mrdba.com.br/mufalani/
mufal...@mrdba.com.br

Pessoal Boa Tarde gostaria de saber como se executa uma query com DB LINK

Obrigado


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






[oracle_br] DB LINK

2009-11-18 Por tôpico Fernando Garatini da Silva
Pessoal Boa Tarde gostaria de saber como se executa uma query com DB LINK

Obrigado


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



Re: [oracle_br] Function - PL/SQL

2009-11-18 Por tôpico Matheus Malta
Então Roberto... Só recapitulando...

- O ambiente é o SQLPlus;
- O parâmetro IN da func é do tipo VARCHAR2;
- O parâmetro IN da proc é do tipo VARCHAR2;

Estou tentando executar a func isoladamente, para ver como chamar o parâmetro 
e, pelo que eu percebo, eu tenho sempre que, ao passar o parâmetro, colocá-lo 
entre APÓSTROFES('), pois é um elemento tipo TEXTO.

Penso que talvez possa ser isto, mas aí cabe a minha pergunta: como passar o 
parâmetro tipo texto dentro da proc de maneiras que, quando a func tiver que 
ler o parâmetro, ela também o leia como texto.

Tentei colocar entre apóstrofes a variável(conforme visto na proc) mas ainda 
não está dando certo...

Prosseguirei com os testes aqui... Qualquer novidade que você econtrar e puder 
me avisar, ficarei grato...

Falows!

Matheus Malta
- Original Message - 
From: "Roberto Oshikawa" 
To: 
Sent: Wednesday, November 18, 2009 4:38 PM
Subject: Re: [oracle_br] Function - PL/SQL


Matheus,


Sendo bem sincero não consegui identificar o erro da proc ou da func, a meu
entender a chamada da func está correta, porém normalmente não faço dessa
forma, eu utilizo

if func() = v_Resultado then
   raise erro
end if





2009/11/18 Matheus Malta 

>
>
> Então...
>
> O objetivo é executar a procedure e a procedure (durante sua execução) vai
> chamar uma func, que vai se utilizar do mesmo parâmetro de entrada da
> procedure(no caso, o valor passado na variável v_cdepto), trazer um valor
> pra dentro da procedure e a procedure continuar sua execução até o final,
> tal como especificado abaixo, na proc:
>
> CREATE OR REPLACE PROCEDURE prc_atualiza_depto
> (
> v_cdepto IN depto.cd_depto%TYPE,
> V_depto IN depto.nm_depto%TYPE,
> v_ger IN depto.cd_gerente%TYPE,
> v_cdepto_ctb IN depto.cd_depto_ctb%TYPE,
> v_ret OUT VARCHAR2
> )
>
> IS
> -- Declaração das variáveis
> v_ver NUMBER;
> v_erro EXCEPTION;
>
> BEGIN
>
> -- Verifica se existe o Depto
> -- Aqui a função será usada
> v_ver := fn_verifica_depto(upper('v_cdepto'));
>
> IF v_ver = 0
> THEN RAISE v_erro;
> END IF;
>
> -- Atualiza o Depto
> UPDATE depto
> SET nm_depto = UPPER(v_depto),
> cd_gerente = v_ger,
> cd_depto_ctb = UPPER(v_cdepto_ctb)
> WHERE cd_depto = UPPER(v_cdepto);
>
> v_ret := 'REGISTRO ATUALIZADO!';
> COMMIT;
>
> EXCEPTION
> WHEN v_erro THEN
> v_ret := 'NÃO EXISTE O DEPARTAMENTO '||UPPER(v_cdepto)||'!';
> ROLLBACK;
>
> WHEN OTHERS THEN
> v_ret := SQLERRM;
> ROLLBACK;
>
> END;
>
> A função que está sendo usada na proc acima é a seguinte:
>
> CREATE OR REPLACE FUNCTION fn_verifica_depto
> (v_cdepto IN depto.cd_depto%TYPE)
> RETURN NUMBER
>
> IS
>
> --Verifica a existência do Departamento
> v_ver NUMBER;
>
> BEGIN
>
> SELECT COUNT(cd_depto) INTO v_ver
> FROM depto
> WHERE cd_depto = v_cdepto;
>
> RETURN v_ver;
>
> END;
>
> É isso...
>
> Desde já agradeço!
>
> Atenciosamente,
>
>
> Matheus Malta
> - Original Message -
> From: "Roberto Oshikawa" >
> To: >
> Sent: Wednesday, November 18, 2009 12:08 PM
> Subject: Re: [oracle_br] Function - PL/SQL
>
> Matheus,
>
> desculpa mas não entendi direito, vc está querendo chamar a func dentro da
> proc ou criar uma func dentro da proc ? Ou viajei e não eh nada disso ?
>
> 2009/11/18 Matheus Malta 
> >
>
> >
> >
> > Roberto... Penso que o problema inicial esteja sendo o fato de como
> chamar
> > a função mesmo...
> >
> > Estou com uma função aqui parecida com essa, em que o parâmetro a ser
> > passado é do tipo VARCHAR2...
> >
> > Ao referenciar a função numa procedure, ele retorna a mensagem do erro,
> > como senão houvessem dados a serem trazidos...
> >
> > Penso ser este o problema incialmente...
> >
> > Assim sendo (e aproveitando o ensejo) como posso referenciar uma função
> > dentro de uma procedure, considerando que o valor da variável que vai ser
> > atribuído na função é do tipo TEXTO?
> >
> > Valew!
> >
> > Matheus Malta
> >
> >
> > - Original Message -
> > From: "Roberto Oshikawa"  >  40gmail.com>>
> > To:  >  40yahoogrupos.com.br>>
> > Sent: Wednesday, November 18, 2009 11:48 AM
> > Subject: Re: [oracle_br] Function - PL/SQL
> >
> > Matheus,
> >
> > vc poderia utilizar array ou type para retornar 1 ou mais registros, esse
> > tipo de variavel é igual a uma tabela e vc vai atribuindo os valores
> dentro
> > do for
> >
> > se tiver dúvida me avisa que vamos conversando
> >
> > outra opção dependendo do retorno é ir concatenando os valores dentro da
> > function e ir colocando algum delimitador para que vc saiba onde começa e
> > onde termina o objeto que vc está procurando
> >
> > []s
> >
> > Roberto Oshikawa
> >
> > 2009/11/18 Matheus Malta 
> 
>
> > >
> >
> > >
> > >
> > > Pessoal...
> > >
> > > Estou criando uma função que me traga os nomes do objetos do meu
> schema,
> > > considerando o tipo objetos que é passado como parâmetro de entrada...
> > >
> > > No entanto, estou tendo dificuldades (ou não estou sabendo) como
> executar
> > a
> > > função de maneira que ela me retorne os valores que eu quero... Alguém
> aí
> > > poderia 

Re: [oracle_br] Function - PL/SQL

2009-11-18 Por tôpico Roberto Oshikawa
Matheus,


Sendo bem sincero não consegui identificar o erro da proc ou da func, a meu
entender a chamada da func está correta, porém normalmente não faço dessa
forma, eu utilizo

if func() = v_Resultado then
   raise erro
end if





2009/11/18 Matheus Malta 

>
>
> Então...
>
> O objetivo é executar a procedure e a procedure (durante sua execução) vai
> chamar uma func, que vai se utilizar do mesmo parâmetro de entrada da
> procedure(no caso, o valor passado na variável v_cdepto), trazer um valor
> pra dentro da procedure e a procedure continuar sua execução até o final,
> tal como especificado abaixo, na proc:
>
> CREATE OR REPLACE PROCEDURE prc_atualiza_depto
> (
> v_cdepto IN depto.cd_depto%TYPE,
> V_depto IN depto.nm_depto%TYPE,
> v_ger IN depto.cd_gerente%TYPE,
> v_cdepto_ctb IN depto.cd_depto_ctb%TYPE,
> v_ret OUT VARCHAR2
> )
>
> IS
> -- Declaração das variáveis
> v_ver NUMBER;
> v_erro EXCEPTION;
>
> BEGIN
>
> -- Verifica se existe o Depto
> -- Aqui a função será usada
> v_ver := fn_verifica_depto(upper('v_cdepto'));
>
> IF v_ver = 0
> THEN RAISE v_erro;
> END IF;
>
> -- Atualiza o Depto
> UPDATE depto
> SET nm_depto = UPPER(v_depto),
> cd_gerente = v_ger,
> cd_depto_ctb = UPPER(v_cdepto_ctb)
> WHERE cd_depto = UPPER(v_cdepto);
>
> v_ret := 'REGISTRO ATUALIZADO!';
> COMMIT;
>
> EXCEPTION
> WHEN v_erro THEN
> v_ret := 'NÃO EXISTE O DEPARTAMENTO '||UPPER(v_cdepto)||'!';
> ROLLBACK;
>
> WHEN OTHERS THEN
> v_ret := SQLERRM;
> ROLLBACK;
>
> END;
>
> A função que está sendo usada na proc acima é a seguinte:
>
> CREATE OR REPLACE FUNCTION fn_verifica_depto
> (v_cdepto IN depto.cd_depto%TYPE)
> RETURN NUMBER
>
> IS
>
> --Verifica a existência do Departamento
> v_ver NUMBER;
>
> BEGIN
>
> SELECT COUNT(cd_depto) INTO v_ver
> FROM depto
> WHERE cd_depto = v_cdepto;
>
> RETURN v_ver;
>
> END;
>
> É isso...
>
> Desde já agradeço!
>
> Atenciosamente,
>
>
> Matheus Malta
> - Original Message -
> From: "Roberto Oshikawa" >
> To: >
> Sent: Wednesday, November 18, 2009 12:08 PM
> Subject: Re: [oracle_br] Function - PL/SQL
>
> Matheus,
>
> desculpa mas não entendi direito, vc está querendo chamar a func dentro da
> proc ou criar uma func dentro da proc ? Ou viajei e não eh nada disso ?
>
> 2009/11/18 Matheus Malta 
> >
>
> >
> >
> > Roberto... Penso que o problema inicial esteja sendo o fato de como
> chamar
> > a função mesmo...
> >
> > Estou com uma função aqui parecida com essa, em que o parâmetro a ser
> > passado é do tipo VARCHAR2...
> >
> > Ao referenciar a função numa procedure, ele retorna a mensagem do erro,
> > como senão houvessem dados a serem trazidos...
> >
> > Penso ser este o problema incialmente...
> >
> > Assim sendo (e aproveitando o ensejo) como posso referenciar uma função
> > dentro de uma procedure, considerando que o valor da variável que vai ser
> > atribuído na função é do tipo TEXTO?
> >
> > Valew!
> >
> > Matheus Malta
> >
> >
> > - Original Message -
> > From: "Roberto Oshikawa"  >  40gmail.com>>
> > To:  >  40yahoogrupos.com.br>>
> > Sent: Wednesday, November 18, 2009 11:48 AM
> > Subject: Re: [oracle_br] Function - PL/SQL
> >
> > Matheus,
> >
> > vc poderia utilizar array ou type para retornar 1 ou mais registros, esse
> > tipo de variavel é igual a uma tabela e vc vai atribuindo os valores
> dentro
> > do for
> >
> > se tiver dúvida me avisa que vamos conversando
> >
> > outra opção dependendo do retorno é ir concatenando os valores dentro da
> > function e ir colocando algum delimitador para que vc saiba onde começa e
> > onde termina o objeto que vc está procurando
> >
> > []s
> >
> > Roberto Oshikawa
> >
> > 2009/11/18 Matheus Malta 
> 
>
> > >
> >
> > >
> > >
> > > Pessoal...
> > >
> > > Estou criando uma função que me traga os nomes do objetos do meu
> schema,
> > > considerando o tipo objetos que é passado como parâmetro de entrada...
> > >
> > > No entanto, estou tendo dificuldades (ou não estou sabendo) como
> executar
> > a
> > > função de maneira que ela me retorne os valores que eu quero... Alguém
> aí
> > > poderia me ajudar? É possível uma function trazer mais do que uma
> linha?
> > >
> > > Valew...
> > >
> > > Segue a função:
> > > CREATE OR REPLACE FUNCTION fn_ver_objetos
> > > (v_otipo IN varchar2)
> > > RETURN VARCHAR2
> > >
> > > IS
> > >
> > > v_oname varchar2(20);
> > >
> > > CURSOR objetos is
> > > select object_name from user_objects
> > > where object_type = v_otipo;
> > >
> > > BEGIN
> > >
> > > open objetos;
> > >
> > > loop
> > >
> > > fetch objetos into v_oname;
> > > exit when objetos%notfound;
> > >
> > > IF SQL%NOTFOUND
> > > THEN RETURN 'NÃO EXISTEM OBJETOS DESTE TIPO!';
> > >
> > > ELSE
> > > RETURN v_oname;
> > >
> > > END IF;
> > >
> > > end loop;
> > >
> > > close objetos;
> > >
> > > END;
> > >
> > > SCRIPT PARA CHAMAR A FUNÇÃO:
> > > accept tipo prompt 'INFORME O TIPO: '
> > >
> > > DECLARE
> > > v_fn VARCHAR2(10):= '&tipo';
> > > v_mostra VARCHAR2(100);
> > > BEGIN
> > >
> > > v_mostra := fn_ver_objetos(v_fn);
> > >
> > > DB

Re: [oracle_br] Function - PL/SQL

2009-11-18 Por tôpico Matheus Malta
Então...

O objetivo é executar a procedure e a procedure (durante sua execução) vai 
chamar uma func, que vai se utilizar do mesmo parâmetro de entrada da 
procedure(no caso, o valor passado na variável v_cdepto), trazer um valor pra 
dentro da procedure e a procedure continuar sua execução até o final, tal como 
especificado abaixo, na proc:

CREATE OR REPLACE PROCEDURE prc_atualiza_depto
(
v_cdepto   INdepto.cd_depto%TYPE,
V_deptoINdepto.nm_depto%TYPE,
v_ger INdepto.cd_gerente%TYPE,
v_cdepto_ctb  INdepto.cd_depto_ctb%TYPE,
v_ret OUT   VARCHAR2
)

IS
-- Declaração das variáveis
v_ver NUMBER;
v_erroEXCEPTION;


BEGIN

-- Verifica se existe o Depto
-- Aqui a função será usada
v_ver := fn_verifica_depto(upper('v_cdepto'));

IF v_ver = 0
   THEN RAISE v_erro;
END IF;

-- Atualiza o Depto
UPDATE depto
SET nm_depto = UPPER(v_depto),
cd_gerente = v_ger,
cd_depto_ctb = UPPER(v_cdepto_ctb)
WHERE cd_depto = UPPER(v_cdepto);

v_ret := 'REGISTRO ATUALIZADO!';
COMMIT;

EXCEPTION
WHEN v_erro THEN
 v_ret := 'NÃO EXISTE O DEPARTAMENTO '||UPPER(v_cdepto)||'!';
 ROLLBACK;
 
WHEN OTHERS THEN
 v_ret := SQLERRM;
 ROLLBACK;
 
END;


A função que está sendo usada na proc acima é a seguinte:

CREATE OR REPLACE FUNCTION fn_verifica_depto
(v_cdepto IN  depto.cd_depto%TYPE)
RETURNNUMBER

IS

--Verifica a existência do Departamento
v_ver NUMBER;

BEGIN

SELECT COUNT(cd_depto) INTO v_ver
FROM depto
WHERE cd_depto = v_cdepto;

RETURN v_ver;

END;

É isso...

Desde já agradeço!

Atenciosamente,

Matheus Malta
- Original Message - 
From: "Roberto Oshikawa" 
To: 
Sent: Wednesday, November 18, 2009 12:08 PM
Subject: Re: [oracle_br] Function - PL/SQL


Matheus,

desculpa mas não entendi direito, vc está querendo chamar a func dentro da
proc ou criar uma func dentro da proc ? Ou viajei e não eh nada disso ?




2009/11/18 Matheus Malta 

>
>
> Roberto... Penso que o problema inicial esteja sendo o fato de como chamar
> a função mesmo...
>
> Estou com uma função aqui parecida com essa, em que o parâmetro a ser
> passado é do tipo VARCHAR2...
>
> Ao referenciar a função numa procedure, ele retorna a mensagem do erro,
> como senão houvessem dados a serem trazidos...
>
> Penso ser este o problema incialmente...
>
> Assim sendo (e aproveitando o ensejo) como posso referenciar uma função
> dentro de uma procedure, considerando que o valor da variável que vai ser
> atribuído na função é do tipo TEXTO?
>
> Valew!
>
> Matheus Malta
>
>
> - Original Message -
> From: "Roberto Oshikawa" >
> To: >
> Sent: Wednesday, November 18, 2009 11:48 AM
> Subject: Re: [oracle_br] Function - PL/SQL
>
> Matheus,
>
> vc poderia utilizar array ou type para retornar 1 ou mais registros, esse
> tipo de variavel é igual a uma tabela e vc vai atribuindo os valores dentro
> do for
>
> se tiver dúvida me avisa que vamos conversando
>
> outra opção dependendo do retorno é ir concatenando os valores dentro da
> function e ir colocando algum delimitador para que vc saiba onde começa e
> onde termina o objeto que vc está procurando
>
> []s
>
> Roberto Oshikawa
>
> 2009/11/18 Matheus Malta 
> >
>
> >
> >
> > Pessoal...
> >
> > Estou criando uma função que me traga os nomes do objetos do meu schema,
> > considerando o tipo objetos que é passado como parâmetro de entrada...
> >
> > No entanto, estou tendo dificuldades (ou não estou sabendo) como executar
> a
> > função de maneira que ela me retorne os valores que eu quero... Alguém aí
> > poderia me ajudar? É possível uma function trazer mais do que uma linha?
> >
> > Valew...
> >
> > Segue a função:
> > CREATE OR REPLACE FUNCTION fn_ver_objetos
> > (v_otipo IN varchar2)
> > RETURN VARCHAR2
> >
> > IS
> >
> > v_oname varchar2(20);
> >
> > CURSOR objetos is
> > select object_name from user_objects
> > where object_type = v_otipo;
> >
> > BEGIN
> >
> > open objetos;
> >
> > loop
> >
> > fetch objetos into v_oname;
> > exit when objetos%notfound;
> >
> > IF SQL%NOTFOUND
> > THEN RETURN 'NÃO EXISTEM OBJETOS DESTE TIPO!';
> >
> > ELSE
> > RETURN v_oname;
> >
> > END IF;
> >
> > end loop;
> >
> > close objetos;
> >
> > END;
> >
> > SCRIPT PARA CHAMAR A FUNÇÃO:
> > accept tipo prompt 'INFORME O TIPO: '
> >
> > DECLARE
> > v_fn VARCHAR2(10):= '&tipo';
> > v_mostra VARCHAR2(100);
> > BEGIN
> >
> > v_mostra := fn_ver_objetos(v_fn);
> >
> > DBMS_OUTPUT.PUT_LINE(v_mostra);
> > end;
> >
> > Valew pessoal!
> >
> > Matheus Malta
> >
> > [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.

Re: [oracle_br] Function - PL/SQL

2009-11-18 Por tôpico Roberto Oshikawa
Matheus,

desculpa mas não entendi direito, vc está querendo chamar a func dentro da
proc ou criar uma func dentro da proc ? Ou viajei e não eh nada disso ?




2009/11/18 Matheus Malta 

>
>
> Roberto... Penso que o problema inicial esteja sendo o fato de como chamar
> a função mesmo...
>
> Estou com uma função aqui parecida com essa, em que o parâmetro a ser
> passado é do tipo VARCHAR2...
>
> Ao referenciar a função numa procedure, ele retorna a mensagem do erro,
> como senão houvessem dados a serem trazidos...
>
> Penso ser este o problema incialmente...
>
> Assim sendo (e aproveitando o ensejo) como posso referenciar uma função
> dentro de uma procedure, considerando que o valor da variável que vai ser
> atribuído na função é do tipo TEXTO?
>
> Valew!
>
> Matheus Malta
>
>
> - Original Message -
> From: "Roberto Oshikawa" >
> To: >
> Sent: Wednesday, November 18, 2009 11:48 AM
> Subject: Re: [oracle_br] Function - PL/SQL
>
> Matheus,
>
> vc poderia utilizar array ou type para retornar 1 ou mais registros, esse
> tipo de variavel é igual a uma tabela e vc vai atribuindo os valores dentro
> do for
>
> se tiver dúvida me avisa que vamos conversando
>
> outra opção dependendo do retorno é ir concatenando os valores dentro da
> function e ir colocando algum delimitador para que vc saiba onde começa e
> onde termina o objeto que vc está procurando
>
> []s
>
> Roberto Oshikawa
>
> 2009/11/18 Matheus Malta 
> >
>
> >
> >
> > Pessoal...
> >
> > Estou criando uma função que me traga os nomes do objetos do meu schema,
> > considerando o tipo objetos que é passado como parâmetro de entrada...
> >
> > No entanto, estou tendo dificuldades (ou não estou sabendo) como executar
> a
> > função de maneira que ela me retorne os valores que eu quero... Alguém aí
> > poderia me ajudar? É possível uma function trazer mais do que uma linha?
> >
> > Valew...
> >
> > Segue a função:
> > CREATE OR REPLACE FUNCTION fn_ver_objetos
> > (v_otipo IN varchar2)
> > RETURN VARCHAR2
> >
> > IS
> >
> > v_oname varchar2(20);
> >
> > CURSOR objetos is
> > select object_name from user_objects
> > where object_type = v_otipo;
> >
> > BEGIN
> >
> > open objetos;
> >
> > loop
> >
> > fetch objetos into v_oname;
> > exit when objetos%notfound;
> >
> > IF SQL%NOTFOUND
> > THEN RETURN 'NÃO EXISTEM OBJETOS DESTE TIPO!';
> >
> > ELSE
> > RETURN v_oname;
> >
> > END IF;
> >
> > end loop;
> >
> > close objetos;
> >
> > END;
> >
> > SCRIPT PARA CHAMAR A FUNÇÃO:
> > accept tipo prompt 'INFORME O TIPO: '
> >
> > DECLARE
> > v_fn VARCHAR2(10):= '&tipo';
> > v_mostra VARCHAR2(100);
> > BEGIN
> >
> > v_mostra := fn_ver_objetos(v_fn);
> >
> > DBMS_OUTPUT.PUT_LINE(v_mostra);
> > end;
> >
> > Valew pessoal!
> >
> > Matheus Malta
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>
>
> --
> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> inteira responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> --
> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
> » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
> http://www.oraclebr.com.br/
> -- Links do Yahoo!
> Grupos
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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





--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
>Apostilas » Dicas e Exemplos » 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] Function - PL/SQL

2009-11-18 Por tôpico Mária Cristina Silva
Veja se assim te atenderia:

*

CREATE OR REPLACE FUNCTION fn_ver_objetos*(*v_otipo IN varchar2*)*
RETURN sys_refcursor as
Out_ResultSet sys_refcursor*;*
BEGIN
open Out_ResultSet for
select object_name from user_objects where object_type *=* v_otipo*;*

RETURN Out_ResultSet*;*

END*;*

*




2009/11/18 Roberto Oshikawa 

> Matheus,
>
> vc poderia utilizar array ou type para retornar 1 ou mais registros, esse
> tipo de variavel é igual a uma tabela e vc vai atribuindo os valores dentro
> do for
>
> se tiver dúvida me avisa que vamos conversando
>
> outra opção dependendo do retorno é ir concatenando os valores dentro da
> function e ir colocando algum delimitador para que vc saiba onde começa e
> onde termina o objeto que vc está procurando
>
>
> []s
>
> Roberto Oshikawa
>
>
>
>
>
>
>
> 2009/11/18 Matheus Malta 
>
> >
> >
> > Pessoal...
> >
> > Estou criando uma função que me traga os nomes do objetos do meu schema,
> > considerando o tipo objetos que é passado como parâmetro de entrada...
> >
> > No entanto, estou tendo dificuldades (ou não estou sabendo) como executar
> a
> > função de maneira que ela me retorne os valores que eu quero... Alguém aí
> > poderia me ajudar? É possível uma function trazer mais do que uma linha?
> >
> > Valew...
> >
> > Segue a função:
> > CREATE OR REPLACE FUNCTION fn_ver_objetos
> > (v_otipo IN varchar2)
> > RETURN VARCHAR2
> >
> > IS
> >
> > v_oname varchar2(20);
> >
> > CURSOR objetos is
> > select object_name from user_objects
> > where object_type = v_otipo;
> >
> > BEGIN
> >
> > open objetos;
> >
> > loop
> >
> > fetch objetos into v_oname;
> > exit when objetos%notfound;
> >
> > IF SQL%NOTFOUND
> > THEN RETURN 'NÃO EXISTEM OBJETOS DESTE TIPO!';
> >
> > ELSE
> > RETURN v_oname;
> >
> > END IF;
> >
> > end loop;
> >
> > close objetos;
> >
> > END;
> >
> > SCRIPT PARA CHAMAR A FUNÇÃO:
> > accept tipo prompt 'INFORME O TIPO: '
> >
> > DECLARE
> > v_fn VARCHAR2(10):= '&tipo';
> > v_mostra VARCHAR2(100);
> > BEGIN
> >
> > v_mostra := fn_ver_objetos(v_fn);
> >
> > DBMS_OUTPUT.PUT_LINE(v_mostra);
> > end;
> >
> > Valew pessoal!
> >
> > Matheus Malta
> >
> > [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
>
>
>


-- 
Abraços,
Mária Cristina
Cel: 031-8883-5543
E-mail: mariancrist...@gmail.com
MSN:   mcristinasil...@hotmail.com
-- 
"O começo é a parte mais importante do trabalho."
- Platão


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



Re: [oracle_br] Function - PL/SQL

2009-11-18 Por tôpico Matheus Malta
Roberto... Penso que o problema inicial esteja sendo o fato de como chamar a 
função mesmo...

Estou com uma função aqui parecida com essa, em que o parâmetro a ser passado é 
do tipo VARCHAR2...

Ao referenciar a função numa procedure, ele retorna a mensagem do erro, como 
senão houvessem dados a serem trazidos...

Penso ser este o problema incialmente...

Assim sendo (e aproveitando o ensejo) como posso referenciar uma função dentro 
de uma procedure, considerando que o valor da variável que vai ser atribuído na 
função é do tipo TEXTO?

Valew!

Matheus Malta

- Original Message - 
From: "Roberto Oshikawa" 
To: 
Sent: Wednesday, November 18, 2009 11:48 AM
Subject: Re: [oracle_br] Function - PL/SQL


Matheus,

vc poderia utilizar array ou type para retornar 1 ou mais registros, esse
tipo de variavel é igual a uma tabela e vc vai atribuindo os valores dentro
do for

se tiver dúvida me avisa que vamos conversando

outra opção dependendo do retorno é ir concatenando os valores dentro da
function e ir colocando algum delimitador para que vc saiba onde começa e
onde termina o objeto que vc está procurando


[]s

Roberto Oshikawa







2009/11/18 Matheus Malta 

>
>
> Pessoal...
>
> Estou criando uma função que me traga os nomes do objetos do meu schema,
> considerando o tipo objetos que é passado como parâmetro de entrada...
>
> No entanto, estou tendo dificuldades (ou não estou sabendo) como executar a
> função de maneira que ela me retorne os valores que eu quero... Alguém aí
> poderia me ajudar? É possível uma function trazer mais do que uma linha?
>
> Valew...
>
> Segue a função:
> CREATE OR REPLACE FUNCTION fn_ver_objetos
> (v_otipo IN varchar2)
> RETURN VARCHAR2
>
> IS
>
> v_oname varchar2(20);
>
> CURSOR objetos is
> select object_name from user_objects
> where object_type = v_otipo;
>
> BEGIN
>
> open objetos;
>
> loop
>
> fetch objetos into v_oname;
> exit when objetos%notfound;
>
> IF SQL%NOTFOUND
> THEN RETURN 'NÃO EXISTEM OBJETOS DESTE TIPO!';
>
> ELSE
> RETURN v_oname;
>
> END IF;
>
> end loop;
>
> close objetos;
>
> END;
>
> SCRIPT PARA CHAMAR A FUNÇÃO:
> accept tipo prompt 'INFORME O TIPO: '
>
> DECLARE
> v_fn VARCHAR2(10):= '&tipo';
> v_mostra VARCHAR2(100);
> BEGIN
>
> v_mostra := fn_ver_objetos(v_fn);
>
> DBMS_OUTPUT.PUT_LINE(v_mostra);
> end;
>
> Valew pessoal!
>
> Matheus Malta
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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





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

 Links do Yahoo! Grupos



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



Re: [oracle_br] Function - PL/SQL

2009-11-18 Por tôpico Roberto Oshikawa
Matheus,

vc poderia utilizar array ou type para retornar 1 ou mais registros, esse
tipo de variavel é igual a uma tabela e vc vai atribuindo os valores dentro
do for

se tiver dúvida me avisa que vamos conversando

outra opção dependendo do retorno é ir concatenando os valores dentro da
function e ir colocando algum delimitador para que vc saiba onde começa e
onde termina o objeto que vc está procurando


[]s

Roberto Oshikawa







2009/11/18 Matheus Malta 

>
>
> Pessoal...
>
> Estou criando uma função que me traga os nomes do objetos do meu schema,
> considerando o tipo objetos que é passado como parâmetro de entrada...
>
> No entanto, estou tendo dificuldades (ou não estou sabendo) como executar a
> função de maneira que ela me retorne os valores que eu quero... Alguém aí
> poderia me ajudar? É possível uma function trazer mais do que uma linha?
>
> Valew...
>
> Segue a função:
> CREATE OR REPLACE FUNCTION fn_ver_objetos
> (v_otipo IN varchar2)
> RETURN VARCHAR2
>
> IS
>
> v_oname varchar2(20);
>
> CURSOR objetos is
> select object_name from user_objects
> where object_type = v_otipo;
>
> BEGIN
>
> open objetos;
>
> loop
>
> fetch objetos into v_oname;
> exit when objetos%notfound;
>
> IF SQL%NOTFOUND
> THEN RETURN 'NÃO EXISTEM OBJETOS DESTE TIPO!';
>
> ELSE
> RETURN v_oname;
>
> END IF;
>
> end loop;
>
> close objetos;
>
> END;
>
> SCRIPT PARA CHAMAR A FUNÇÃO:
> accept tipo prompt 'INFORME O TIPO: '
>
> DECLARE
> v_fn VARCHAR2(10):= '&tipo';
> v_mostra VARCHAR2(100);
> BEGIN
>
> v_mostra := fn_ver_objetos(v_fn);
>
> DBMS_OUTPUT.PUT_LINE(v_mostra);
> end;
>
> Valew pessoal!
>
> Matheus Malta
>
> [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] Function - PL/SQL

2009-11-18 Por tôpico Matheus Malta
Pessoal...

Estou criando uma função que me traga os nomes do objetos do meu schema, 
considerando o tipo objetos que é passado como parâmetro de entrada...

No entanto, estou tendo dificuldades (ou não estou sabendo) como executar a 
função de maneira que ela me retorne os valores que eu quero... Alguém aí 
poderia me ajudar? É possível uma function trazer mais do que uma linha?

Valew...

Segue a função:
CREATE OR REPLACE FUNCTION fn_ver_objetos
(v_otipo IN varchar2)
RETURN  VARCHAR2

IS

v_oname varchar2(20);

CURSOR objetos is
select object_name from user_objects
where object_type = v_otipo;

BEGIN

open objetos;

loop

fetch objetos into v_oname;
exit when objetos%notfound;

IF SQL%NOTFOUND
   THEN RETURN 'NÃO EXISTEM OBJETOS DESTE TIPO!';

ELSE
   RETURN v_oname;

END IF;

end loop;

close objetos;

END;

SCRIPT PARA CHAMAR A FUNÇÃO:
accept tipo prompt 'INFORME O TIPO: '

DECLARE
v_fn  VARCHAR2(10):= '&tipo';
v_mostra VARCHAR2(100);
BEGIN

v_mostra := fn_ver_objetos(v_fn);

DBMS_OUTPUT.PUT_LINE(v_mostra);
end;

Valew pessoal!

Matheus Malta

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



[oracle_br] Erro: -29540: ORA-29540: class oracle/plsql/net/TCPConnection does not exist ORA-06512: at line 8

2009-11-18 Por tôpico Pablo Câmara
O que é nescessário para habilitar o sendMail?

Olha a msg.

Erro: -29540: ORA-29540: class oracle/plsql/net/TCPConnection does not exist
ORA-06512: at line 8

Pablo


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



Re: [oracle_br] Recuperar Banco

2009-11-18 Por tôpico Marcos Braga
Oi Alex,

Se o dump for full ou se o referido usuário estiver nesse dump, faça o
seguinte:

1. Recrie o usuário (e as tablespaces, se existir)
2. Efetue um imp somente desse usuário (schema)

Isso vai recuperar o backup até a meia-noite, mas eu não conheço solução
para aplicar os archives para este usuário (se achar algo, aviso).

Parece que sua dica já vem a calhar, utilizar o logminer para ler as
transações e aplicá-las.

[]s
Braga


2009/11/18 Alex Oracle 

>
>
> Olá pessoal,
>
> Gostaria de compartilhar uma situação pra ver se existe algum outro ponto
> possível de solução. Mas a situação é a seguinte:
>
> Um analista que toma conta de um banco/sistema cometeu um erro (acidental)
> de clicar num script que simplesmente dropa as tabelas e o usuario do banco.
> Feito isso, ele me liga perguntando se existe alguma forma de recuperar o
> grande erro!!
> Comentários a parte do ocorrido, vamos pros fatos.
>
> A situação da base:
> É uma base 10g Standard em Windows 2003 e em archivelog, mas não tem backup
> via Rman, apenas um dump diário a meia-noite.
> Existe alguma possibilidade de recuperar (e aplicar) este dados da
> meia-noite até a hora do "acidente" lendo os archivelogs??
>
> O Flashback a nivel de tabela só está habilitado no Enterprise, certo?
> Como não tem copia dos datafiles no ponto da meia-noite, não tem como
> aplicar redolog, correto?
> LogMiner seria uma possiblidade de "ler" as transações dessas ultimas 6
> horas, correto?
>
> Existe algo mais que possa ser feito pra minimizar o estrago?
>
> Grato pela ajuda.
> Alex
>


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



Re: [oracle_br] Recuperar Banco

2009-11-18 Por tôpico Rodrigo Mufalani
Não...Isso funciona no SE tb.

  Vai lá e dá e rode o script abaixo

set trimspool on
set pages 0
set lin 1000
spool correcao.sql
select 'flashback table '||owner||'.'||original_name||' to before drop;'
from dba_recyclebin
where type='TABLE' and owner='';
spool off;

-...@correcao.sql

 Isso vai te ajudar

Atenciosamente,

Rodrigo Mufalani
DBA - OCP 10g & 11g +RAC
Oracle ACE Member
www.mrdba.com.br/mufalani/
mufal...@mrdba.com.br



Olá pessoal,

Gostaria de compartilhar uma situação pra ver se existe algum outro ponto
possível de solução. Mas a situação é a seguinte:

Um analista que toma conta de um banco/sistema cometeu um erro (acidental)
de clicar num script que simplesmente dropa as tabelas e o usuario do
banco. Feito isso, ele me liga perguntando se existe alguma forma de
recuperar o grande erro!!
Comentários a parte do ocorrido, vamos pros fatos.

A situação da base:
É uma base 10g Standard em Windows 2003 e em archivelog, mas não tem
backup via Rman, apenas um dump diário a meia-noite.
Existe alguma possibilidade de recuperar (e aplicar) este dados da
meia-noite até a hora do "acidente" lendo os archivelogs??

O Flashback a nivel de tabela só está habilitado no Enterprise, certo?
Como não tem copia dos datafiles no ponto da meia-noite, não tem como
aplicar redolog, correto?
LogMiner seria uma possiblidade de "ler" as transações dessas ultimas 6
horas, correto?

Existe algo mais que possa ser feito pra minimizar o estrago?

Grato pela ajuda.
Alex


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com







[oracle_br] Recuperar Banco

2009-11-18 Por tôpico Alex Oracle
Olá pessoal,

Gostaria de compartilhar uma situação pra ver se existe algum outro ponto 
possível de solução. Mas a situação é a seguinte:

Um analista que toma conta de um banco/sistema cometeu um erro (acidental) de 
clicar num script que simplesmente dropa as tabelas e o usuario do banco. Feito 
isso, ele me liga perguntando se existe alguma forma de recuperar o grande 
erro!!
Comentários a parte do ocorrido, vamos pros fatos.

A situação da base:
É uma base 10g Standard em Windows 2003 e em archivelog, mas não tem backup via 
Rman, apenas um dump diário a meia-noite.
Existe alguma possibilidade de recuperar (e aplicar) este dados da meia-noite 
até a hora do "acidente" lendo os archivelogs??

O Flashback a nivel de tabela só está habilitado no Enterprise, certo?
Como não tem copia dos datafiles no ponto da meia-noite, não tem como aplicar 
redolog, correto?
LogMiner seria uma possiblidade de "ler" as transações dessas ultimas 6 horas, 
correto?

Existe algo mais que possa ser feito pra minimizar o estrago?

Grato pela ajuda.
Alex


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com


[oracle_br] criar ASM

2009-11-18 Por tôpico Márcio Ricardo Alves da Silva
Bom dia!

Ontem li no libro Certificação OCP - Guia Completo (Oracle Press), um capítulo 
sobre ASM, e fiquei interessado em aplicar nos meus servidores.

Hoje tenho dois servidores HP-UX 11.23, com Release 10.2.0.1 e Windows 2003 
Server com o mesmo release.

Alguém poderia me dizer mais sobre o ASM? Tem como identificar pra ver se já 
tenho criado a instância ASM?

Grato,
Márcio.











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