请教各位大侠,请问能不能或怎么查询Oracle数据中在执行update 表的操作系统用户名。如自动记录每天哪些操作系统用户对某张表进行了UPDATE操作。
解决方案 »
- Oracle10gDBconsole已经启动,为什么还是不能通过浏览器访问Oracle Enterprise Manager Database Control:
- 求一个建表语句
- 各位大哥,在oracle中做ETL操作, 超大数据量插入表格,一亿条左右,大约100多G的数据,怎么样能快速插入
- 我在建Oracle表的时候,建了分区.为什么只能够建一个?请帮忙看看
- 疑惑:关于Oracle占用内存的问题,能不能在不使用的时候将其内存释放掉?
- 请问高手,Recordset 的问题!谢谢!
- raise form_trigger_failure;??????
- 如何访问远程的Oracle数据库?
- 关于BLOB字段数据的导入问题!!!在线等待!!!
- 蔡鸟求助!!
- 求救!ora 9i 用户不能被删除!
- 百思不得其解的问题
从V$session可以查询很多你关心的信息select username from v_$session where audsid = userenv( 'sessionid' ) ;
select sys_context('userenv','ip_address') from dual;
select sys_context('userenv','os_user') from dual;
--这个就是客户端操作系统的用户名
select machine from v_$session where audsid = userenv( 'sessionid' ) ;
select terminal from v_$session where audsid = userenv( 'sessionid' ) ;
select program from v_$session where audsid = userenv( 'sessionid' ) ;
现在我碰到一个新的问题我们这个系统是员工通过NetTerm 连到系统(unix)中操作的,登录的用户名为rxh009(该用户的.profile中内容如下:
/data/gsmmis/xw/g_logusr.com
exit 0
使得员工一登陆就进入“计费系统”的登陆界面,用户名即为rxh009,另要求输入“计费系统”密码),进入“计费系统”操作时,查询oracle数据库v$session osuser其实rba001,但在操作系统中执行
finger rxh009
得到的terminal =ttyq4和 v$session 显示的一样,导致按您的方法去记录osuser就没什么意义了bjshannon(山农),请问这种情况下,又怎么去取得更多的信息,找到osuser为rxh009,而不是rba001,谢谢!!!
SQL> !whoami返回的就是操作系统用户名,应该跟v$session中记录的一致