Andre e Chiappa eu agradeço a atenção de vc´s, muito obrigado.


att

Anderson


--- Em oracle_br@yahoogrupos.com.br, "Andre Santos" 
<[EMAIL PROTECTED]> escreveu
>
> Anderson
> 
> Considerando isso que o Chiappa nos explicou, então teria que 
tentar
> contornar o problema... talvez utilizando a package 
DBMS_APPLICATION_INFO
> (com SET_CLIENT_INFO) para preencher o campo CLIENT_INFO da 
V$SESSION.
> 
> [ ]
> 
> André
> 
> 
> 
> Em 30/07/07, jlchiappa <[EMAIL PROTECTED]> escreveu:
> >
> >   Muito ** muuuuito *** provável bug no cacareco do 8i, veja o 
exemplo
> > abaixo (que, É CLARO, eu ** não criei ** no SYS, é absolutamente
> > CONTRA-RECOMENDADO vc mexer com o SYS, SYS não é um schema teu, é
> > particular da própria Oracle, só objs NATIVOS DO BANCO deveriam 
estar
> > lá, ** E QUE ** logicamente NÂO TEM commit,. como documentado vc 
não
> > deve fazer transações em triggers a não ser com autonomous
> > transacts), sendo banco 8.1.7.4 PE :
> >
> > [EMAIL PROTECTED]:SQL>CREATE OR REPLACE TRIGGER scott.T_REG_LOG_ACCESS
> > AFTER LOGON ON DATABASE
> > declare
> > wmod varchar2(60);
> > BEGIN
> > select substr(module,1,60)
> > into wmod
> > from v$session
> > where audsid=userenv('sessionid');
> > --
> > insert into scott.log_acesso (
> > NO_DBUSER,
> > NO_OSUSER,
> > NO_APLICACAO,
> > NO_HOST,
> > NM_IP,
> > DT_ACESSO,
> > ID_PERMISSAO
> > )
> > values(
> > user,
> > sys_context('USERENV','os_user'),
> > wmod,
> > sys_context('USERENV','HOST'),
> > sys_context('USERENV','IP_ADDRESS'),
> > sysdate,
> > 'S'
> > );
> > END;
> >
> > Gatilho criado.
> >
> > ==> ok, vou conectar via sqlplus em outra sessão :
> >
> > [EMAIL PROTECTED]:SQL>@conn scott/[EMAIL PROTECTED]
> > Conectado.
> >
> > ==> consulto a tabela :
> >
> > [EMAIL PROTECTED]:SQL>select * from scott.log_acesso;
> >
> > NO_DBUSER NO_OSUSER NO_APLICACAO NO_HOST
> > NM_IP DT_ACESSO I
> > --------- --------- ------------ -------------------------- -----
-----
> > -- ------------------- -
> > SCOTT jlchiappa meudominioSP\microjl039476
> > aa.bb.cc.ddd 30/07/2007 11:21:28 S
> >
> > ==> realmente não trouxe... Pra reforçat totalmente a chance de 
que é
> > problema na hora do trigger acessar a v$session na coluna module,
> > trunco a tabela de log, e vou guardar TODO O REGISTRO da 
v$session
> > numa outra tab que criei :
> >
> > [EMAIL PROTECTED]:SQL>create table log_sessao as (select * from 
v$session
> > where 1=2);
> >
> > Tabela criada.
> >
> > [EMAIL PROTECTED]:SQL>CREATE OR REPLACE TRIGGER scott.T_REG_LOG_ACCESS
> > AFTER LOGON ON DATABASE
> > declare
> > wmod varchar2(60);
> > BEGIN
> > select substr(module,1,60)
> > into wmod
> > from v$session
> > where audsid=userenv('sessionid');
> > --
> > insert into scott.log_acesso (
> > NO_DBUSER,
> > NO_OSUSER,
> > NO_APLICACAO,
> > NO_HOST,
> > NM_IP,
> > DT_ACESSO,
> > ID_PERMISSAO
> > )
> > values(
> > user,
> > sys_context('USERENV','os_user'),
> > wmod,
> > sys_context('USERENV','HOST'),
> > sys_context('USERENV','IP_ADDRESS'),
> > sysdate,
> > 'S'
> > );
> > insert into log_sessao (select * from v$session where
> > audsid=userenv('sessionid') );
> > END;
> >
> > Gatilho criado.
> >
> > ==> conecto como SCOTT em outra sessão, novamente veja que o 
select
> > * da v$session trouxe tudo ** menos ** o module :
> >
> > [EMAIL PROTECTED]:SQL>select * from scott.log_sessao;
> >
> > SADDR SID SERIAL# AUDSID PADDR USER# USERNAME COMMAND
> > OWNERID TADDR LOCKWAIT STATUS SERVER SCHEMA# SCHEMANAME
> > OSUSER PROCESS MACHINE TERMINAL
> > PROGRAM TYPE SQL_ADDR SQL_HASH_VALUE PREV_SQL PREV_HASH_VALUE
> > MODULE MODULE_HASH ACTION ACTION_HASH CLIENT_INFO
> > FIXED_TABLE_SEQUENCE ROW_WAIT_OBJ# ROW_WAIT_FILE#
> > ROW_WAIT_BLOCK# ROW_WAIT_ROW# LOGON_TIME
> > LAST_CALL_ET PDM FAILOVER_TYPE FAILOVER_M FAI 
RESOURCE_CONSUMER_GROUP
> > PDML_STA PDDL_STA PQ_STATU
> > -------- --- ------- ------ -------- ----- --------- ------- ----
----
> > -- -------- -------- -------- --------- ------- ---------- ------
--- -
> > -------- -------------------------- ------------- ------------ --
-- --
> > ------ -------------- -------- --------------- -------- ---------
-- --
> > ----- ----------- ----------- -------------------- -------------
 -----
> > --------- ------------------ ------------------ -----------------
-- --
> > ---------------- --- ------------- ---------- --- ---------------
-----
> > --- -------- -------- --------
> > 021C4F20 15 35 214 0219FAD4 34 SCOTT 2
> > 2147483644 023CD1D0 ACTIVE DEDICATED 34 SCOTT
> > jlchiappa 3848:1664 meudominioSP\microjl039476 microjl039476
> > sqlplusw.exe USER 03C2D07C 4061851594 00
> > 0 0
> > 0 66 -1
> > 0 0 0 30/07/2007
> > 11:24:38 0 NO NONE NONE NO
> > DEFAULT_CONSUMER_GROUP DISABLED ENABLED ENABLED
> >
> > ==> notar que se eu fizer o acesso diretamente lá na sessão 
logada o
> > campo vem normal :
> >
> > [EMAIL PROTECTED]:SQL>select * from v$session where audsid=userenv
> > ('sessionid');
> >
> > SADDR SID SERIAL# AUDSID PADDR USER# USERNAME COMMAND
> > OWNERID TADDR LOCKWAIT STATUS SERVER SCHEMA# SCHEMANAME
> > OSUSER PROCESS MACHINE TERMINAL
> > PROGRAM TYPE SQL_ADDR SQL_HASH_VALUE PREV_SQL PREV_HASH_VALUE
> > MODULE MODULE_HASH ACTION ACTION_HASH CLIENT_INFO
> > FIXED_TABLE_SEQUENCE ROW_WAIT_OBJ# ROW_WAIT_FILE#
> > ROW_WAIT_BLOCK# ROW_WAIT_ROW# LOGON_TIME
> > LAST_CALL_ET PDM FAILOVER_TYPE FAILOVER_M FAI 
RESOURCE_CONSUMER_GROUP
> > PDML_STA PDDL_STA PQ_STATU
> > -------- --- ------- ------ -------- ----- --------- ------- ----
----
> > -- -------- -------- -------- --------- ------- ---------- ------
--- -
> > -------- -------------------------- ------------- ------------ --
-- --
> > ------ -------------- -------- --------------- -------- ---------
-- --
> > ----- ----------- ----------- -------------------- -------------
 -----
> > --------- ------------------ ------------------ -----------------
-- --
> > ---------------- --- ------------- ---------- --- ---------------
-----
> > --- -------- -------- --------
> > 021C4F20 15 35 214 0219FAD4 34 SCOTT 2
> > 2147483644 023CD1D0 ACTIVE DEDICATED 34 SCOTT
> > jlchiappa 3848:1664 meudominioSP\microjl039476 microjl039476
> > sqlplusw.exe USER 03C2D07C 4061851594 00 0
> > SQL*Plus 0
> > 0 66 -1
> > 0 0 0 30/07/2007
> > 11:24:38 0 NO NONE NONE NO
> > DEFAULT_CONSUMER_GROUP DISABLED ENABLED ENABLED
> >
> >
> > ==> e pra finalizar e reforçar a possibilidade de bug no 8i, no 
meu
> > banco 9.2.0.5 EE, mesmo código, eis o resultado trazendo o 
módulo :
> >
> > [EMAIL PROTECTED]:SQL>select * from scott.log_acesso;
> >
> > NO_DBUSER NO_OSUSER NO_APLICACAO NO_HOST
> > NM_IP DT_ACESSO I
> > --------- --------- ------------ -------------------------- -----
-----
> > -- ------------------- -
> > SCOTT jlchiappa sqlplusw.exe meudominioSP\microjl039476
> > aa.bb.cc.ddd 30/07/2007 12:36:23 S
> >
> > []s
> >
> > Chiappa
> >
> > --- Em oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br>, "
> > anderson.castro_16"
> > <anderson.castro_16@> escreveu
> > >
> > > Então André, seu eu fizer a consulta fora da trigger ele me 
tráz os
> > > dados, está muito estranho.
> > >
> > >
> > > --- Em oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br>,
> > "Andre Santos"
> > > <andre.psantos.ti@> escreveu
> > > >
> > > > Anderson
> > > >
> > > > Se não me engano, a informação "module" da V$SESSION nem 
sempre
> > > está
> > > > preenchida.
> > > > Depende das informações passadas pela aplicação na conexão
> > > (conforme a
> > > > biblioteca/método de acesso).
> > > >
> > > > [ ]
> > > >
> > > > André
> > > >
> > > >
> > > > Em 30/07/07, anderson.castro_16 <anderson.castro_16@> 
escreveu:
> > > > >
> > > > > O owner da trigger é sys!
> > > > >
> > > > > att
> > > > >
> > > > > Anderson Castro
> > > > >
> > > > > --- Em oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br><oracle_br%
> > > 40yahoogrupos.com.br>,
> > > > > "Alex Fernando Kirsten"
> > > > > <alex.kirsten@> escreveu
> > > > > >
> > > > > > grant select any dictionary to OWNER_DA_TRIGGER
> > > > > >
> > > > > > []'s
> > > > > >
> > > > > >
> > > > > > Alex Fernando Kirsten
> > > > > > Oracle 9i Database Administrator Certified Professional
> > > > > > Depto. de Tecnologia
> > > > > > Operacional Têxtil
> > > > > >
> > > > > > ----- Original Message -----
> > > > > > From: anderson.castro_16
> > > > > > To: oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br><oracle_br%
> > > 40yahoogrupos.com.br>
> > > > > > Sent: Monday, July 30, 2007 10:07 AM
> > > > > > Subject: [oracle_br] Problema trigger na V$session
> > > > > >
> > > > > >
> > > > > > Pessoal estou com problemas na trigger abaixo, pois a 
mesma
> > não
> > > > > está
> > > > > > inputando a informação do Module, da v$session na tabela 
que
> > > > > criei
> > > > > > com outro usuário.
> > > > > >
> > > > > > Alguém pode me ajudar é uma banco Oracle 8i.
> > > > > >
> > > > > > att
> > > > > >
> > > > > > Anderson Castro
> > > > > >
> > > > > > CREATE OR REPLACE TRIGGER SYS.T_REG_LOG_ACCESS
> > > > > > AFTER LOGON ON DATABASE
> > > > > > declare
> > > > > >
> > > > > > wmod varchar2(60);
> > > > > >
> > > > > > BEGIN
> > > > > >
> > > > > > select substr(module,1,60)
> > > > > > into wmod
> > > > > > from v$session
> > > > > > where sys_context('USERENV','SESSIONID') = audsid;
> > > > > >
> > > > > > insert into sisadm.log_acesso (
> > > > > > NO_DBUSER,
> > > > > > NO_OSUSER,
> > > > > > NO_APLICACAO,
> > > > > > NO_HOST,
> > > > > > NM_IP,
> > > > > > DT_ACESSO,
> > > > > > ID_PERMISSAO
> > > > > > ) values(
> > > > > > user,
> > > > > > sys_context('USERENV','os_user'),
> > > > > > wmod,
> > > > > > sys_context('USERENV','HOST'),
> > > > > > sys_context('USERENV','IP_ADDRESS'),
> > > > > > sysdate,
> > > > > > 'S'
> > > > > > );
> > > > > > commit;
> > > > > > END;
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > [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]
>


Responder a