設為首頁收藏本站

艾歐踢論壇

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

搜索
熱搜: 活動 交友 discuz
查看: 616|回復: 0
打印 上一主題 下一主題

登入歷史記錄

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2018-7-24 12:59:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
loginHistory
IFSAPP.LOGIN_HISTORY
IFSAPP.LOGIN_HISTORY_API

  1. CREATE OR REPLACE VIEW LOGIN_HISTORY AS
  2. SELECT session_id                     session_id,
  3.        username                       username,
  4.        login_time                     login_time,
  5.        logoff_time                    logoff_time,
  6.        osuser                         osuser,
  7.        machine_name                   machine_name,
  8.        ip_address                     ip_address,
  9.        module                         module,
  10.        rowid                         objid,
  11.        ltrim(lpad(to_char(login_time,'YYYYMMDDHH24MISS'),2000))                    objversion
  12. FROM   login_history_tab
  13. WITH   read only;
  14. comment on table LOGIN_HISTORY is 'LU=LoginHistory^PROMPT=Login History^MODULE=NTCH^';
  15. comment on column LOGIN_HISTORY.SESSION_ID is 'FLAGS=PMI-L^DATATYPE=NUMBER^PROMPT=Session Id^';
  16. comment on column LOGIN_HISTORY.USERNAME is 'FLAGS=KMIUL^DATATYPE=STRING(100)^PROMPT=Username^';
  17. comment on column LOGIN_HISTORY.LOGIN_TIME is 'FLAGS=AMIUL^DATATYPE=DATE/DATE^PROMPT=Login Time^';
  18. comment on column LOGIN_HISTORY.LOGOFF_TIME is 'FLAGS=AMIUL^DATATYPE=DATE/DATE^PROMPT=Logoff Time^';
  19. comment on column LOGIN_HISTORY.OSUSER is 'FLAGS=AMIUL^DATATYPE=STRING(100)^PROMPT=Osuser^';
  20. comment on column LOGIN_HISTORY.MACHINE_NAME is 'FLAGS=AMIUL^DATATYPE=STRING(100)^PROMPT=Machine Name^';
  21. comment on column LOGIN_HISTORY.IP_ADDRESS is 'FLAGS=AMIUL^DATATYPE=STRING(100)^PROMPT=IP Address^';
  22. comment on column LOGIN_HISTORY.MODULE is 'FLAGS=AMIUL^DATATYPE=STRING(100)^PROMPT=Module^';
複製代碼

  1. CREATE OR REPLACE TRIGGER LOGIN_HISTORY_TRG
  2. AFTER LOGON ON DATABASE
  3. DECLARE
  4.    machine_name_  VARCHAR2(64);
  5.    os_userid_     VARCHAR2(30);
  6.    program_id_    VARCHAR2(64);
  7.    module_        VARCHAR2(48);
  8.    logon_time_    date;
  9.    machine_count_ number;  --longine added

  10. CURSOR c1 IS
  11.    SELECT logon_time, osuser, machine, program, module
  12.      FROM v$session
  13.     WHERE audsid = userenv( 'sessionid' );

  14. BEGIN
  15.    OPEN c1;
  16.    FETCH c1 INTO logon_time_, os_userid_, machine_name_, program_id_, module_;
  17.    CLOSE c1;

  18.    --IF USER NOT IN ('IFSAPP','IFSAPPEN','SYS','SYSTEM','IFSAPPZH','FNDEXT') THEN*/
  19.    -- IF userenv('sessionid') > 0 THEN*/

  20.    --longine added
  21.    Select count(machine) INTO machine_count_
  22.    From   v$session
  23.    Where  SYS_CONTEXT('USERENV','HOST') = MACHINE;

  24. IF machine_count_  =0 THEN
  25. --IF SYS_CONTEXT('USERENV','SESSION_USER') <> 'SYS'  THEN

  26.       INSERT INTO LOGIN_HISTORY_TAB
  27.           ( SESSION_ID,
  28.             USERNAME,
  29.             LOGIN_TIME,
  30.             OSUSER,
  31.             MACHINE_NAME,
  32.             IP_ADDRESS,
  33.             MODULE )
  34.       VALUES
  35.           ( SYS_CONTEXT('USERENV', 'SESSIONID'),
  36.             FND_SESSION_API.Get_Fnd_User,
  37.             logon_time_,
  38.             os_userid_,
  39.             machine_name_,
  40.             SYS_CONTEXT('USERENV', 'IP_ADDRESS'),
  41.             module_);
  42.    END IF;  
  43. END;

  44. /*CREATE OR REPLACE TRIGGER IFSAPP.LOGIN_HISTORY_TRG
  45. AFTER LOGON ON DATABASE
  46. DECLARE
  47.    machine_name_ VARCHAR2(64);
  48.    os_userid_ VARCHAR2(30);
  49.    program_id_ VARCHAR2(64);
  50.    module_ VARCHAR2(48);
  51.    logon_time_ date;
  52. \*CURSOR c1 IS
  53.    SELECT logon_time, osuser, machine, program, module
  54.      FROM v$session
  55.     WHERE audsid = userenv( 'sessionid' );*\
  56. BEGIN
  57.   \* OPEN c1;
  58.    FETCH c1 INTO logon_time_, os_userid_, machine_name_, program_id_, module_;
  59.    CLOSE c1;

  60.    --IF USER NOT IN ('IFSAPP','IFSAPPEN','SYS','SYSTEM','IFSAPPZH','FNDEXT') THEN*\
  61. \*  IF userenv('sessionid') > 0 THEN*\

  62. \*      INSERT INTO LOGIN_HISTORY_TAB
  63.           ( SESSION_ID,
  64.             USERNAME,
  65.             LOGIN_TIME,
  66.             OSUSER,
  67.             MACHINE_NAME,
  68.             IP_ADDRESS,
  69.             MODULE )
  70.       VALUES
  71.           ( SYS_CONTEXT('USERENV', 'SESSIONID'),
  72.             FND_SESSION_API.Get_Fnd_User,
  73.             logon_time_,
  74.             os_userid_,
  75.             machine_name_,
  76.             SYS_CONTEXT('USERENV', 'IP_ADDRESS'),
  77.             module_);
  78.    END IF;*\
  79.    
  80.    IF SYS_CONTEXT('USERENV','SESSION_USER') <> 'SYS'  THEN
  81.    INSERT INTO LOGIN_HISTORY_TAB
  82.    (SESSION_ID,
  83.     LOGIN_TIME,
  84.     LOGOFF_TIME,
  85.     USERNAME,
  86.     OSUSER,
  87.     MACHINE_NAME,
  88.     IP_ADDRESS,
  89.     MODULE)
  90.     select AUDSID,sysdate,null,USERNAME,osuser,machine,
  91.     SYS_CONTEXT('USERENV','IP_ADDRESS'),program
  92.     from v$session
  93.     where AUDSID = USERENV('SESSIONID'); --當前SESSION
  94.     END IF;
  95. END;*/
複製代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 轉播轉播 分享分享 分享淘帖
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|Archiver|手機版|艾歐踢創新工坊    

GMT+8, 2024-5-16 19:09 , Processed in 0.237730 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表