标签归档:审计

Oracle EBS 应用用户审计日志记录

Oracle EBS已经存在表fnd_logins,可以通过设置配置文件对Oracle EBS用户登录行为进行记录,但默认没有打开。

默认情况下该表已经有大量的记录了,类型为Concurrent,猜测为用户提交并发请求的日志记录,Concurrent实际并没有什么作用:

可以通过配置文件设置,对用户登录进行记录:

配置文件:登录:审计层

建议值:用户

作用:记录用户登录日志

配置文件值含义
1) NONE – no audit enabled (Default value)

配置文件的默认值,不对用户登录进行记录


2) USER – audit user login to system, the logon time and the logoff time.

用户,记录用户的登录行为


3) RESPONSIBILITY – audit all the above + which responsibilities the user chose and how long he stayed in each responsibility.

RESPONSIBILITY,记录用户登录+用户什么时候进入某一责任,在每个责任停留时间


4) FORM – audit all the above + which forms the user used and how long he stayed in each form.

表单,记录用户登录+责任+用户什么时候打开哪个Forms界面


不同的日志,记录在不同的表里面:

1) USER – populates the FND_LOGINS table only.
2) RESPONSIBILITY – populates FND_LOGINS and FND_LOGIN_RESPONSIBILITIES tables.
3) FORM – populates FND_LOGINS, FND_LOGIN_RESPONSIBILITIES and FND_LOGIN_RESP_FORMS tables.

FND_LOGINS – holds information about users login to system, when and how long.
This table holds one row for each login.

FND_LOGIN_RESPONSIBILITIES – holds information about changes of responsibilities, when and how long being at each responsibility.
For each change this table holds one row with values that identify the user's login session, the user's current responsibility, and when the user is in the responsibility

FND_LOGIN_RESP_FORMS – holds information about using forms, when and how long.
This table holds one row for each form used in the same session with values that identify the user's login session, current responsibility, when and how long using each form.

注:此时可以通过 系统管理员-安全性-用户-监控,监控当前登录系统的用户

用户登录行为的一些报表

1.登录审计未成功注册

作用:用来打印出登录失败用户的时间以及用户

2.登录审计用户

作用:用户登录的历史记录

3.清除登录审计数据

作用:清除fnd_logins开头的表的历史记录,报表有一参数“审计时间”,小于该值的历史记录会被清除。


转载自:https://blog.csdn.net/sunansheng/article/details/52238499 
 

oracle审计功能如何实现启动关闭功能

一 审计功能的参数控制
audit_trail 参数的值可以设置为以下几种

1. NONE:不开启
2. DB:开启审计功能
3. OS:审计记录写入一个操作系统文件。
4. TRUE:与参数DB一样
5. FALSE:不开启审计功能。
这个参数是写在spfile里,需要重启数据库。 

二 查看是否审计功能是否启动
SQL> show parameter audit
NAME                                 TYPE        VALUE
———————————— ———– ——————————
audit_file_dest                      string      /u01/app/oracle/admin/PROD/adump
audit_sys_operations                 boolean     FALSE
audit_syslog_level                   string
audit_trail                          string      NONE

 

三 开启审计
SQL> conn /as sysdba
SQL> show parameter audit
NAME                                 TYPE        VALUE
———————————— ———– ——————————
audit_file_dest                      string      /u01/app/oracle/admin/PROD/adump
audit_sys_operations                 boolean     FALSE
audit_syslog_level                   string
audit_trail                          string      NONE

SQL> alter system set audit_sys_operations=TRUE scope=spfile;–审计管理用户(以sysdba/sysoper角色登陆)
SQL> alter system set audit_trail=db,extended scope=spfile;

重启实例
SQL> show parameter audit
NAME                                 TYPE        VALUE
———————————— ———– ——————————
audit_file_dest                      string      /u01/app/oracle/admin/PROD/adump
audit_sys_operations                 boolean     TRUE
audit_syslog_level                   string
audit_trail                          string      DB, EXTENDED     
(完成)

四 关闭审计

SQL> conn /as sysdba
SQL> show parameter audit
SQL> alter system set audit_trail = none scope=spfile;
重启实例。

Oracle EBS如何追踪用户登录IP(Form层)

说明:一般不建议开启登录审计,因为这会占用大量的系统资源。

以下操作都通过系统管理员职责进行操作。

1. 开启配置文件“登录:审计层”,根据需要是全局,还是用户层;

2. 启用并发管理器中“OAM Generic Collection Service:XXXX”,此服务默认不启动,直接在前台界面查询出来激活即可;

3. 通过以下命令查询,可以限制需要查询的用户的用户名等相关信息。

SELECT L.LOGIN_ID,
       L.USER_ID,
       L.START_TIME LOGIN_TIME,
       NVL(F.START_TIME, NVL(R.START_TIME, L.START_TIME)) FORM_TIME,
       USR.USER_NAME,
       RSP.RESPONSIBILITY_NAME,
       FRM.USER_FORM_NAME,
       (SELECT IPADDRESS
          FROM FND_OAM_FORMS_RTI OFRI
         WHERE 1 = 1
           AND (TO_CHAR(OFRI.PID) = NVL(SF.PROCESS, SR.PROCESS) OR
               NVL(SF.PROCESS, SR.PROCESS) =
               CONCAT(CONCAT(TO_CHAR(OFRI.PID), ':'),
                       TO_CHAR(OFRI.THREADID)))
           AND ROWNUM <= 1) IPADDRESS,
       R.RESP_APPL_ID,
       R.RESPONSIBILITY_ID,
       F.FORM_ID,
       F.FORM_APPL_ID,
       L.PID,
       L.PROCESS_SPID,
       DECODE(NVL(SF.SID, -999), -999, 'RESP_LEVEL', 'FORM_LEVEL') SESSION_LEVEL,
       NVL(F.AUDSID, R.AUDSID) AUDSID,
       NVL(SF.SID, SR.SID) SID,
       NVL(SF.SERIAL#, SR.SERIAL#) SERIAL#,
       NVL(SF.PROCESS, SR.PROCESS) PROCESS
  FROM FND_RESPONSIBILITY_TL      RSP,
       FND_FORM_TL                FRM,
       FND_USER                   USR,
       FND_LOGINS                 L,
       FND_LOGIN_RESP_FORMS       F,
       GV$SESSION                 SF,
       FND_LOGIN_RESPONSIBILITIES R,
       GV$SESSION                 SR
 WHERE 1 = 1
   AND L.LOGIN_ID = R.LOGIN_ID(+)
   AND R.LOGIN_ID = F.LOGIN_ID(+)
   AND R.LOGIN_RESP_ID = F.LOGIN_RESP_ID(+)
   AND L.LOGIN_TYPE = 'FORM'
   AND L.USER_ID = USR.USER_ID
   AND R.RESPONSIBILITY_ID = RSP.RESPONSIBILITY_ID(+)
   AND R.RESP_APPL_ID = RSP.APPLICATION_ID(+)
   AND RSP.LANGUAGE(+) = USERENV('LANG')
   AND F.FORM_ID = FRM.FORM_ID(+)
   AND F.FORM_APPL_ID = FRM.APPLICATION_ID(+)
   AND FRM.LANGUAGE(+) = USERENV('LANG')
   AND F.AUDSID = SF.AUDSID(+)
   AND R.AUDSID = SR.AUDSID(+) — AND L.LOGIN_ID = :P_LOGIN_ID

4. 根据得出的"PROCESS",通过应用用户去操作系统相应目录查询相关IP信息,如下命令:

cd $FORMS_TRACE_DIR

可以看到系统生成了相应PROCESS名字的rti文件,如下图所示(可通过log文件进去查相应PROCESS对应的IP):

同时可以找到em_86653.rti文件,然后cat该文件的内容,如下图所示:

至此可以查询出登录用户登录form的相应IP信息。