Pessoal Interessante essa dica do Chiappa... :)
Já implementei um exemplo que está no blog do Tom Kyte: http://tkyte.blogspot.com/2009/10/httpasktomoraclecomtkytewhocalledme.html Ele utiliza a DBMS_UTILITY.FORMAT_CALL_STACK, como o Eduardo Schurtz havia comentado. Lembro que tive que fazer uma pequena alteração na posição de substrings (provavelmente devido à versão do Oracle), mas funcionou bem. Pode não trazer o nome da procedure dentro da package... mas traz o número de linha. [ ]'s André Em 14 de junho de 2010 20:52, José Laurindo <jlchia...@yahoo.com.br>escreveu: > > > na verdade se o objetivo é saber o nome dos objetos PL/SQL que estão > rodando neste momento, pode-se usar os objs abaixo (no caso uso num script > sqlplus. Mas poderia ser num SQL, num PL/SQL, sem probs) : > > break on sid skip 1 > prompt **** Currently Executing PL/SQL Objs **** > SELECT /*+ RULE */ > substr(DECODE(o.kglobtyp, > 7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE', 12, 'TRIGGER', 13, > 'CLASS'),1,15) "TYPE", > substr(o.kglnaown,1,30) "OWNER", > substr(o.kglnaobj,1,30) "NAME", > s.indx "SID", > s.ksuseser "SERIAL" > FROM > sys.X_$KGLOB o, > sys.X_$KGLPN p, > sys.X_$KSUSE s > WHERE > o.inst_id = USERENV('Instance') AND > p.inst_id = USERENV('Instance') AND > s.inst_id = USERENV('Instance') AND > o.kglhdpmd = 2 AND > o.kglobtyp IN (7, 8, 9, 12, 13) AND > p.kglpnhdl = o.kglhdadr AND > s.addr = p.kglpnses > ORDER BY 4, 2, 1 > / > > []s > > Chiappa > > --- Em oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>, > Eduardo Schurtz <eduardo.schu...@...> escreveu > > > > > É Carlos, acho que não existe mesmo. > > > > O jeito é criar uma variável e no começo de cada procedure jogar o nome > dela > > para a variável. Pelo menos assim vc trabalha sempre com o nome da > variável > > e não precisa ficar mudando. > > > > Se descobrir algo melhor, posta aí pra gente. > > > > Abraço > > > > __________________________ > > *Eduardo Schurtz* > > Oracle E-Business Consultant > > eduardo.schu...@... > > > [image: LinkedIn] <http://br.linkedin.com/in/eduardoschurtz>[image: > > Twitter]<http://twitter.com/eduardo_oracle> > > > > > > 2010/6/14 Carlos Martello <carlos.marte...@...> > > > > > > > > > > > > Raul, na verdade o que eu gostaria era de pegar o nome do objeto como > se > > > fosse alguma "variavel de sessao" dentro da própria procedure. Sei que > isso > > > não existe, mas seria algo do tipo: > > > > > > create or replace procedure owner.proc1 as > > > > > > v_proc constant varchar2(150) := *NAME_SELF_OBJECT*; > > > > > > begin > > > > > > insert into tab_log (nome_procedure, descricao) > > > values (v_proc, 'realizando merge de tabela origem com tabela > > > destino'); > > > commit; > > > > > > merge into table1........ etc; > > > commit; > > > > > > insert into tab_log (nome_procedure, descricao) > > > values (v_proc, 'esvaziando tabela origem'); > > > commit; > > > > > > delete * from tab2; > > > commit; > > > end; > > > > > > Em 14 de junho de 2010 16:48, Raul Francisco Costa F. de Andrade, DBA < > > > raulf...@... <raulfdba%40gmail.com>> escreveu: > > > > > > > > > > > Este script mostra todos os usernames que estão usando determinado > > > objeto: > > > > > > > > select /*+ rule */ a.SID, s.username from gv$access a, gv$session s > > > > where object = '&NOME_OBJETO' > > > > and s.inst_id = a.inst_id > > > > and s.sid = a.sid > > > > > > > > > > > > Espero que ajude > > > > > > > > Att. > > > > > > > > Raul > > > > > > > > > > > > Em 14 de junho de 2010 15:17, Carlos Martello < > > > > carlos.marte...@... <carlos.martello%40choice.com.br> > > > > > > escreveu: > > > > > > > > > > > > > > > > > > > Pessoal, boa tarde. > > > > > > > > > > Estou criando um package que será responsável por todo um processo > de > > > > > carga. > > > > > O mesmo faz referências às diversas procedures que são executadas, > e > > > todo > > > > o > > > > > acompanhamento pode ser feito através de uma tabela que armazena o > log > > > de > > > > > execução. Sendo assim, gostaria de saber se há alguma forma de > assim > > > como > > > > > conseguimos capturar o username de uma sessão através do comando > USER > > > > > (select user from dual), capturar o nome da procedure que está > sendo > > > > > executada. > > > > > > > > > > Att, > > > > > > > > > > Carlos Martello. > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > ---------------------------------------------------------- > > > > Raul Francisco da Costa Ferreira de Andrade > > > > DBA - OCA - Oracle Certified Associate > > > > COBIT Foundation 4.1 > > > > Fone: (41)8855-8874 Brt > > > > email: raulf...@... <raulfdba%40gmail.com> > > > > > Skype: raul.andrade > > > > www.clickdba.com > > > > > > > > "A adversidade leva alguns a serem vencidos > > > > e outros a baterem recordes." > > > > William Arthur Ward > > > > > > > > > > > > [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] > > > > > [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