Boa Tarde,
estou precisando da ajuda de vocês. Preciso identificar qual e o SID e o SERIAL# da minha sessão no Oracle.
Informações do Ambiente:
* Versão do Oracle: 11g XE e Standart
* Sistema Operacional: Windows e Linux
Pegar SID E SERIAL# minha sessão
-
- Rank: Estagiário Júnior
- Mensagens: 1
- Registrado em: Sex, 19 Ago 2011 5:27 pm
- Localização: Anápolis
- stcoutinho
- Moderador
- Mensagens: 850
- Registrado em: Qua, 11 Mai 2011 5:15 pm
- Localização: são Paulo - SP
Claudio,
Você pode usar para resolver o seu problema a função USERENV, que existe desde a versão Oracle 8i.
A sintaxe desta função seria:
O PARAMETRO seria o valor retornado pela sessão corrente do ORACLE. Algumas informações que você poderia obter com esta função são:
Combinando esta função com a vista V$SESSION, que apresenta a relação de sessões do banco, você consegue obter o SID e SERIAL# da sessão corrente do usuário com a seguinte querie:
Constatei na documentação da Oracle que a função USERENV está obsoleta e que só é mantida no Oracle para fins de compatibilidade.
Eles recomendam que se use a função SYS_CONTEXT, que oferece uma gama muito maior de informações ao desenvolvedor.
Caso tenha interesse em conhecer a função SYS_CONTEXT, você pode consultar o link: http://www.techonthenet.com/oracle/func ... ontext.php
Abraços,
Sergio Coutinho
Você pode usar para resolver o seu problema a função USERENV, que existe desde a versão Oracle 8i.
A sintaxe desta função seria:
userenv( PARAMETRO )
CLIENT_INFO [ex: USERNEV('CLIENT_INFO')] : Retorna o valor da coluna CLIENT_INFO da V$SESSION;
INSTANCE [ex: USERNEV('CLIENT_INFO')] : O número de identificação da Instância Oracle;
ISDBA [ex: USERNEV('ISDBA') ] : Se o usuário corrente tem privilégios de DBA (TRUE/FALSE);
LANG [ex: USERNEV('LANG') ] : O código ISO abreviado do idioma;
LANGUAGE [ex: USERNEV('LANGUAGE') ] : Informações sobre idioma/território;
SESSIONID [ex: USERNEV('SESSIONID') ] : Corresponde à coluna AUDSID da V$SESSION;
TERMINAL [ex: USERNEV('TERMINAL') ] : Nome do terminal/computador que está se conectando no banco;
SELECT sid,
serial#
FROM v$session
WHERE audsid=USERENV('SESSIONID');
Eles recomendam que se use a função SYS_CONTEXT, que oferece uma gama muito maior de informações ao desenvolvedor.
Caso tenha interesse em conhecer a função SYS_CONTEXT, você pode consultar o link: http://www.techonthenet.com/oracle/func ... ontext.php
Abraços,
Sergio Coutinho
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante