淘先锋技术网

首页 1 2 3 4 5 6 7

如何看Oracle数据库的用户登录的记录档案

如何看Oracle数据库的用户登录的记录档案

查看Oracle数据库的用户登录的记录档案是从log文件中挖出用户登录信息。

1、创建数据字典文件(data-dictionary)

(1)首先在init.ora初始化参数文件中,指定数据字典文件的位置,也就是添加一个参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录。

如:UTL_FILE_DIR = ($ORACLE_HOME\logs) ,重新启动数据库,使新加的参数生效。

(2)创建数据字典文件:

SQL connect /as sysdba

SQL execute dbms_logmnr_d.build(dictionary_filename =

'dict.ora',dictionary_location = 'G:\oracle\logs');

PL/SQL procedure successfully completed

2、创建要分析的日志文件列表:

(1)创建分析列表,即所要分析的日志:

SQL execute dbms_logmnr.add_logfile(LogFileName =

'G:\ORACLE\ORADATA\ORADBSP\REDO04.LOG',Options = dbms_logmnr.new);

PL/SQL procedure successfully completeds

(2)添加分析日志文件(一次添加1个为宜):

SQL

execute dbms_logmnr.add_logfile(LogFileName =

'G:\ORACLE\ORADATA\ORADBSP\REDO05.LOG',

Options = dbms_logmnr.ADDFILE);

PL/SQL procedure successfully completed

3、使用logMiner进行日志分析:

(1)无限制条件,即用数据字典文件对要分析的日志文件所有内容做分析:

SQL execute dbms_logmnr.start_logmnr

(DictFileName = 'G:\oracle\logs\dict.ora');

PL/SQL procedure successfully completed

oracle 怎么查询所有中登录用户

使用具有dba权限的帐号登录数据库

执行命令"select username from dba_users"

官方文档对dba_users的定义:DBA_USERS describes all users of the database.因此可以如此查询。

oracle登录用户名和密码怎么找到

一般找是找不到了,除非你自己能想起来或者问他人能问出来。

如果你在本机的话(注意一定要在数据库安装的本机,用安装数据库的用户登录)

如下操作:

sqlplus

/

as

sysdba

alter

user

system

identified

by

abc;

就可以将system用户的密码改成abc了。

alter

user

sys

identified

by

abc;

sys用户的密码也改成abc了。

然后你再登录sqlplus:

sqlplus

/nolog

connect

sys/abc就可以连接上了。

其他任何的用户,都可以参照这个方法进行密码修改。

Oracle 数据库查询登陆信息

楼上的查出来的应该是时间段内至少登陆过一次的吧?应该不是时间段内每天至少登陆过一次的,应该是让统计出来的次数和时间段内的天数是相等的。

SELECT USERID,COUNT(1)

FROM LOGIN_MESSAGE WHERE

LOGINDATE

BETWEEN TO_DATE( '2013-06-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')

AND TO_DATE( '2013-06-04 23:59:59', 'YYYY-MM-DD HH24:MI:SS')

GROUP BY USERID HAVING COUNT(1)=(TO_DATE( '2013-06-04', 'YYYY-MM-DD')-TO_DATE( '2013-06-01', 'YYYY-MM-DD'))+1;

上边这个也是不对的,应该统计的是去重后的logindate,下班这个应该没有问题

SELECT USERID,COUNT(DISTINCT(LOGINDATE))

FROM LOGIN_MESSAGE WHERE

LOGINDATE

BETWEEN TO_DATE( '2013-06-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')

AND TO_DATE( '2013-06-04 23:59:59', 'YYYY-MM-DD HH24:MI:SS')

GROUP BY USERID HAVING COUNT(DISTINCT(LOGINDATE))=TO_DATE( '2013-06-04', 'YYYY-MM-DD')-TO_DATE( '2013-06-01', 'YYYY-MM-DD')+1;

oracle中普通用户怎么查看自己登录的数据库名称

在oracle的”v$session“视图中存储有这两个字段信息。用sysdba身份登录 比如 conn / as sysdba 匿名管理员登陆后,之后执行下面的sql。sql:select b.username,b.sid from v$session b ;备注:要用有查看视图”v$session“的用户查看需要的sid和username信息。