select A.*,SYS_CONTEXT('USERENV','IP_ADDRESS') from v$session A where AUDSID = USERENV('SESSIONID');
SELECT * from v$session where audsid = (select userenv('SESSIONID') FROM dual); 但如果想select userenv('SESSIONID') FROM dual执行正确,必须将init.ora中audit_trail 设为 true。
Syntax USERENV(option) Purpose Returns information of VARCHAR2 datatype about the current session. This information can be useful for writing an application-specific audit trail table or for determining the language-specific characters currently used by your session. You cannot use USERENV in the condition of a CHECK constraint. The argument option can have any of these values: \'ISDBA' returns 'TRUE' if you currently have the ISDBA role enabled and 'FALSE' if you do not.
'LANGUAGE' returns the language and territory currently used by your session along with the database character set in this form: language_territory.characterset
'TERMINAL' returns the operating system identifier for your current session's terminal. In distributed SQL statements, this option returns the identifier for your local session. In a distributed environment, this is supported only for remote SELECTs, not for remote INSERTs, UPDATEs, or DELETEs.
'SESSIONID' returns your auditing session identifier. You cannot use this option in distributed SQL statements. To use this keyword in USERENV, the initialization parameter AUDIT_TRAIL must be set to TRUE.
'ENTRYID' returns available auditing entry identifier. You cannot use this option in distributed SQL statements. To use this keyword in USERENV, the initialization parameter AUDIT_TRAIL must be set to TRUE.
'LANG' Returns the ISO abbreviation for the language name, a shorter form than the existing 'LANGUAGE' parameter.
'INSTANCE' Returns the instance identification number of the current instance.
Example SELECT USERENV('LANGUAGE') "Language" FROM DUAL;Language ----------------------------------- AMERICAN_AMERICA.WE8DEC
from v$session A where AUDSID = USERENV('SESSIONID');
但如果想select userenv('SESSIONID') FROM dual执行正确,必须将init.ora中audit_trail 设为 true。
USERENV(option)
Purpose
Returns information of VARCHAR2 datatype about the current session. This information can be useful for writing an application-specific audit trail table or for determining the language-specific characters currently used by your session. You cannot use USERENV in the condition of a CHECK constraint. The argument option can have any of these values: \'ISDBA'
returns 'TRUE' if you currently have the ISDBA role enabled and 'FALSE' if you do not.
'LANGUAGE'
returns the language and territory currently used by your session along with the database character set in this form: language_territory.characterset
'TERMINAL'
returns the operating system identifier for your current session's terminal. In distributed SQL statements, this option returns the identifier for your local session. In a distributed environment, this is supported only for remote SELECTs, not for remote INSERTs, UPDATEs, or DELETEs.
'SESSIONID'
returns your auditing session identifier. You cannot use this option in distributed SQL statements. To use this keyword in USERENV, the initialization parameter AUDIT_TRAIL must be set to TRUE.
'ENTRYID'
returns available auditing entry identifier. You cannot use this option in distributed SQL statements. To use this keyword in USERENV, the initialization parameter AUDIT_TRAIL must be set to TRUE.
'LANG'
Returns the ISO abbreviation for the language name, a shorter form than the existing 'LANGUAGE' parameter.
'INSTANCE'
Returns the instance identification number of the current instance.
Example
SELECT USERENV('LANGUAGE') "Language" FROM DUAL;Language
-----------------------------------
AMERICAN_AMERICA.WE8DEC