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, 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] >