我有个问题,想查询近几天登陆数据库系统的用户,包括用户登录时间,计算机名,这些查询数据应该是存在某个关于保存会话的表里面吧,我用Oracle DBA  Studio登陆数据库,在例程--会话那里只是看到正在连接的用户,有什么办法可以查两三天前登陆的用户吗?在哪?百度不出来啊

解决方案 »

  1.   

    select * from v$session
      

  2.   

    v$session可以查看到从数据库实例启动以来到停止运行这段时间内正连接在数据库实例上的用户.如果你的数据库服务是每天都有重新启动的话,在V$SESSION这个视图中,是查看不到两三天前登录的用户的.要查看两三天前登录的用户,你可以查看一下审计记录,好像只有审计记录才能准备的完成你的查询.
      

  3.   

    楼上的,那么审计记录又是在哪里啊,因为重启了,所以v$session保存不了之前的会话了,不知道在哪才能看了
      

  4.   

    以前的肯定看不到了, 如果你要看谁改了记录,用LOGMINER吧。
      

  5.   

    审记记录可能保存在数据库表中,也有可能保存在文件中,具体的保存方案,取决于你的初始化参数audit_trail的设置了.如果设置将审记记录保存在文件的话,那么你查看一下初始化参数:audit_file_dest的值就可以知道了如果设置将审记记录保存在数据库中的话,那么你查看一下dba_audit_trail等相关的表也可以看到记录了.
    当然,在查看审记记录之前,你必须保证你的数据库已经开通了审计功能.
      

  6.   

    青松兄,那我不就完了?
    我在sqlplus下输入show parameter audit_trail
    显示结果:
    type为string   value为NONE意思是数据库未开通了审计功能????然后我show parameter audit_file_dest,什么都没有,
    接着select * from dba_audit_trail 结果为"未选定行"不能查了???
      

  7.   

    如果你的audit_trail为NONE的话,那表示你没有开启ORACLE数据库的审计功能.
      

  8.   

    我想用logmin日志分析工具,可以分析日志日录,这样,可以通过日在在日志来判定谁来操作数据 
      

  9.   

    audit_option 跟audit_trail 都是true  但执行select * from dba_audit_trail; 显示未选定行这是为什么啊?   求哪位大虾回答