龙空技术网

记录Oracle session登陆信息

死磕IT 155

前言:

今天你们对“用户登oracle”大约比较关注,咱们都需要知道一些“用户登oracle”的相关知识。那么小编也在网摘上收集了一些关于“用户登oracle””的相关文章,希望大家能喜欢,小伙伴们快快来学习一下吧!

概述:

在Oracle运维中,需要对登陆Oracle的session进行登陆审计,了解有哪些用户访问了数据库,为便下一步管理提供参考。

此功能配合我这篇文章(超实用的Oracle 限制用户登陆),对加固Oracle的安全非常有帮助。

1、建立记录表:

-- Create tablecreate table SYS.IP_AUDIT(  USERNAME    VARCHAR2(30),  IPADRESS    VARCHAR2(20),  CLIENT_HOST VARCHAR2(100),  CLIENT_USER VARCHAR2(100),  MODDATE     DATE)tablespace SYSTEM  pctfree 10  pctused 40  initrans 1  maxtrans 255  storage  (    initial 64    next 1    minextents 1    maxextents unlimited  );

2、建立触发器

CREATE OR REPLACE TRIGGER audit_IP  AFTER LOGON ON DATABASEDECLARE  l_dbrole VARCHAR2(30);  PRAGMA AUTONOMOUS_TRANSACTION;BEGIN  SELECT database_role INTO l_dbrole FROM v$database;  IF l_dbrole = 'PRIMARY'  THEN    INSERT INTO IP_audit    VALUES      (sys_context('USERENV',                   'session_user'),       sys_context('userenv',                   'ip_address'),       sys_context('USERENV',                   'HOST'),       sys_context('USERENV',                   'OS_USER'),       SYSDATE);    COMMIT;  END IF;END;/

效果查询:

按照时间进行排序

查看都有哪些IP进行了登陆访问

喜欢的可以点关注,我将分享更多的Oracle实战项目经验,谢谢。

标签: #用户登oracle