使用触发器配置oracle用户登录信息日志功能

《Oracle系列》Oracle详细入门教程 Docker安装Oracle,Oracle常用函数,Oracle触发器 阅读详情

(1)创建结果日志表

create table LOG$INFORMATION
(
  USERNAME VARCHAR2(30),  --登陆用户名
  TERMINAL VARCHAR2(50),  --登录终端名
  IPADRESS VARCHAR2(20),  --登录IP地址
  OSUSER VARCHAR2(30),    --登录主机用户名
  MACHINE VARCHAR2(64),   --登录主机名
  PROGRAM VARCHAR2(64),   --登录方式:plsql。。。
  SID NUMBER,             
  SERIAL# NUMBER,
  AUSID NUMBER,
  LOGINTIME DATE default sysdate, --登入时间
  LOGout_TIME date                --登出时间
);

(2)创建登录触发器

CREATE OR REPLACE TRIGGER TR_LOGIN_RECORD
AFTER logon ON DATABASE
DECLARE
mtSession v$session%ROWTYPE;
CURSOR cSession(iiQuerySid IN NUMBER) IS
   SELECT * FROM v$session
      WHERE nvl(osuser,'x') <> 'SYSTEM'   and type <> 'BACKGROUND' and audsid = iiQuerySid;
BEGIN
OPEN cSession(userenv('SESSIONID'));
  FETCH cSession INTO mtSession;
  IF cSession%FOUND THEN
INSERT INTO log$information(username,logintime,terminal,ipadress,osuser,machine,
program,sid,serial#,ausid)
       VALUES(USER,SYSDATE,mtSession.Terminal,
              SYS_CONTEXT ('USERENV','IP_ADDRESS'),mtSession.Osuser,
          mtSession.Machine,mtSession.Program,mtSession.Sid,mtSession.Serial#,userenv('SESSIONID'));
  END IF;
  CLOSE cSession;
EXCEPTION
  WHEN OTHERS THEN
    raise;
end;
/

(3)创建登出触发器

create or replace trigger TR_LOGOFF_RECORD
before LOGOFF ON DATABASE
DECLARE
mtSession v$session%ROWTYPE;
CURSOR cSession(iiQuerySid IN NUMBER) IS
   SELECT * FROM v$session where
       nvl(osuser,'x') <> 'SYSTEM'   and type <> 'BACKGROUND' and audsid = iiQuerySid;
BEGIN
OPEN cSession(userenv('SESSIONID'));
  FETCH cSession INTO mtSession;
  IF cSession%FOUND THEN
            UPDATE LOG$INFORMATION SET LOGOUT_TIME=SYSDATE WHERE sid=mtSession.Sid AND serial#=mtSession.Serial#;
  END IF;
  CLOSE cSession;
EXCEPTION
  WHEN OTHERS THEN
    raise;
END;
/

(4)查询登录信息

select *from LOG$INFORMATION;

Oracle期末复习试题 一、选择题样题: 1.有4条与游标有关的语句,它们在程序中出现的正确顺序是:(B) 1) OPEN abc 2) CURSOR abc IS SELECT ename FROM emp 3) FETCH abc INTO vname 4) CLOSE abc A.1、2、3、4 B.2、1、3、4 C.2、3、1、4 D.1、3、2、4 2.数据库运行在归档模式下,如果发生日志切换,为了保证不覆盖旧的日志信息,系统将启动如下哪个进程?(D) A.DBWR B.LGW... 阅读详情

相关推荐

原神144Hz帧率解锁:GPU调度与VSync解耦实战指南

帧率限制是游戏渲染中常见的性能瓶颈,其本质源于垂直同步(VSync)机制、GPU资源调度策略与操作系统显示子系统(如Windows DWM)之间的协同失配。当高刷新率显示器(如144Hz)遭遇强制60帧锁帧时,问题并非硬件不足,而是渲染管线未适配现代GPU的动态输出能力。通过剥离桌面窗口管理器干预、驱动层自适应VSync配置、以及游戏内指数级负载参数微调,可实现合规、稳定、低延迟的高帧率体验。该方法不修改游戏本体,兼容反作弊机制,适用于NVIDIA与AMD显卡用户,是Unity引擎PC移植项目中典型的跨层优

weixin_33795093的博客 378

oracle用户登录日志如何查看

注意:以上方法需要使用SYSDBA角色登录数据库,如果没有SYSDBA权限,可以尝试使用其他具有适当权限的用户登录并执行相应的查询语句。SELECT * FROM dba_audit_session WHERE username = '用户名';在Oracle数据库中,用户登录日志可以通过查看数据库的审计日志来实现。这将显示所有用户的登录日志,包括用户名、登录时间、登录IP等信息。将其中的'用户名'替换为要查询的用户名。

qq_42463183的博客 5179

Oracle数据库习题整理

1. 数据库的核心是数据库管理系统,数据库的核心任务是数据管理。 2. 主流的关系型数据库有:Oracle、SQL Server、MySql、DB2、Sybase、MicroSoft Access、Postgresql、SQLite 主流的非关系型数据库有:、Redis、Memcaced 列存储数据库:Hbase 面向文档数据库:Mongodb 图形数据库:Neo4J、InfoGrid 搜索引擎数据库:Solr、Elasticsearch 3. 用户: sys是Oracle最高级管理员,system

小岛的每一段verse的博客 2226

Oracle 登录触发器

作者 | JiekeXu来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)大家好,我是JiekeXu,很高兴又和大家见面了,今天和大家一起来聊聊 Oracle 登录触发器,欢迎点击上方蓝字关注我,标星或置顶,更多干货第一时间到达!目 录1、限制登录触发器2、可用于停止特定程序和用户的登录 Oracle 登录触发器3、可以用来停止特定主机名和操作...

JiekeXu的博客 2296

查看登录oracle数据库用户记录.docx

查找访问orcale数据库用户名称或IP地址

ZLMediaKit在Windows下启用WebRtc编译(64位)

准备软件 cmake-gui vs2017 已经编译好的windows版本openssl(下载地址) 当然,你完全可以自己按照openssl的官网教程自己编译windows版本的openssl libsrtp编译安装 首先,需要将下载好的openssl解压并添加到环境变量。如下图,将下图路径添加到环境变量 其次,下载libsrtp(下载地址) 下载后解压并新建build文件夹,如下图: 在合适位置新建文件夹放置install后的srtp文件,如"D:\develop20..

byna11sina11的博客 1万+

Oracle如何记录登录用户IP

因此,在生产环境中需要谨慎考虑触发器的使用,或者采取异步记录登录信息的方式。字段存储的是客户端的主机名或IP地址,但在某些情况下,这个字段可能为空,具体情况取决于客户端的配置。通过以上步骤,我们成功地在Oracle数据库中实现了记录用户登录信息(包括IP地址和登录时间)的功能。为了实现这个需求,我们可以创建一个触发器,当用户登录时,记录其IP地址到一个日志表中。每次用户登录,都会插入一条新的记录,记录用户的登录时间、IP地址以及用户名。视图包含了关于当前数据库会话的信息,包括每个会话的用户、IP地址等。

小蜗牛的珍贵百宝箱 1338

置换矩阵、转置矩阵以及向量空间、子空间

置换矩阵、转置矩阵以及向量空间、子空间导读置换矩阵 导读 MIT矩阵分析课程之后的的二篇笔记。

qq_44677482的博客 1673

oracle如何记录用户的登陆信息

oracle如何记录用户的登陆信息可以做一个触发器     用以下的方式可以监控登入登出的用戶: 创建一张记录登录TABLE,如下: CREATE TABLE SYSTEM.LOGIN_LOG(    SESSION_ID                     NUMBER(8,0) NOT NULL,    LOGIN_ON_TIME                  DATE

summerycool的专栏 1873

Abel逆变换及其求解方法

Abel逆变换常应用在轴对称的、光学薄的火焰、羽流或等离子体重建。

weixin_49783507的博客 8375

手把手教你理解ARM SoC中的PPU:电源管理IP的配置与实战避坑指南

本文深入解析ARM SoC中的PPU(Power Policy Unit)电源管理IP,提供详细的配置指南与实战避坑技巧。从PPU基础架构、寄存器配置到与PCSM的协同工作,全面介绍如何优化电源管理策略,解决常见配置误区,并分享高级调试与性能优化方法,助力工程师提升低功耗SoC设计效率。

weixin_28693447的博客 481

揪出内鬼,快速定位用户登录失败的相关信息

通过以上方法,我们可以快速定位失败用户登录的应用主机名和数据库用户信息。这些方法在实际工作中非常实用,可以帮助我们及时发现和解决潜在的安全问题。如果你有任何疑问或建议,欢迎在评论区留言,我们一起交流学习!关注我,学习更多的数据库知识!

老苏畅谈运维 1759

Jetson Orin边缘语音AI实战:用Riva ASR/TTS + Llama 2打造离线智能语音助手

本文详细介绍了如何利用NVIDIA Jetson Orin的边缘计算能力,结合Riva ASR/TTS语音引擎和Llama 2大语言模型,构建完全离线的智能语音助手。通过硬件优化、量化部署和性能调优,实现在网络不稳定环境下的高效语音交互,适用于智能家居、车载系统等场景。

weixin_29053383的博客 243

Oracle打开监听器日志,设置最大会话数,数据库审计功能等

Oracle打开监听器日志 切换到oracle的管理员,执行下列命令: $ORACLE_HOME/bin/lsnrctl LSNRCTL>set log_directory <oracle_home路径>/network/admin LSNRCTL>set log_file <sid名称>.log LSNRCTL>set log_status on ...

三朝看客 978

【中项】案例分析 | 答题技巧 | 备考 

对偏差原因的分析和对项目未来趋势的理解。如果偏差是由一次性事件或特殊原因引起的,那么这种偏差是非典型的,意味着未来的绩效将回归到预期的绩效水平。例如,如果项目初期的CPI小于1,原因是意外的自然灾害导致成本增加,那么这种偏差被认为是非典型的,因为它不太可能在未来重复发生。例如,如果项目初期的CPI小于1,且原因是低效的团队协作,那么这种偏差被认为是典型的,因为它可能在整个项目生命周期中持续存在。在实际应用中,项目经理通常会结合CPI、SPI和偏差趋势图等工具,综合分析偏差的性质,以制定合理的项目控制策略。

静谧、淡雅 1246

如何实现Docker镜像导入导出 ?

摘要: Docker镜像迁移与备份可通过两种方式实现:1)镜像操作(save/load)完整保存分层结构和元数据,适用于完整备份;2)容器操作(export/import)仅保存文件系统快照,适合创建轻量模板。关键区别在于前者保留历史记录和分层,后者生成单层镜像。save/load命令示例:docker save -o nginx.tar nginx:latest,export/import示例:docker export -o container.tar abc123 && docker

weixin_39291964的博客 875

Oracle 触发器(Trigger)详解教程:从基础到实战

本文全面介绍了Oracle数据库触发器的概念、分类、创建语法及实际应用案例。触发器是特殊的存储过程,可在特定数据库事件(如INSERT/UPDATE/DELETE)发生时自动执行,用于实现业务规则、数据完整性校验、级联操作和审计日志等功能。文章详细讲解了DML触发器、系统触发器和替代触发器的特点与使用场景,并通过级联更新、防止数据删除等典型案例展示触发器的实际应用。同时,提供了触发器的性能优化建议和调试技巧,包括复合触发器的使用,强调需谨慎控制触发器执行以避免性能问题和复杂逻辑。

caifox的博客 2472

FOC 转子初始位置检测(图文详解)

什么是转子的初始位置? 其实转子的初始位置是不确定的,但是在电机启动的时候,我们需要得到电角度,这样才可以进行矢量控制;所以,这里将转子与A轴重合作为初始位置,此时电角度也恰好为零,具体如下图所示; ) 至于原理下面会详细分析,这样在转子到初始位置后,也可以得到准确的电角度,就可以实现磁场和转子的同步转动。 如何让转子运行到初始位置? 其实这是一个很简单的问题,在这里我将它放大了,简单地分析了一...

一名热爱技术的工程师的博客。分享技术干货,记录美好生活。永远相信美好的事情即将发生。 2万+

记录用户登录操作

记录登录成功的用户信息到一个测试表:create table login (ip varchar(30),u_name varchar(30)); create or replace trigger logon_db_record after logon on database declare ip STRING(30); user STRING(30);

jc_benben的专栏 4052

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

oracle触发器超过上限,ORACLE系统触发器的疑问,限制IP登录数

本帖最后由 bjddd192 于 2013-12-14 07:26 编辑CREATE OR REPLACE TRIGGER TRG_LOGON_AUDIT-------------------------------------------------------------------说 明: 限制某个IP到数据库实例的连接数。如果超过限制会出错或报警--建立时间: 2013-10-25 ...

weixin_39748858的博客 265

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Windows环境定期清理Oracle归档日志

一、Windows环境下的配置 原理:通过系统的任务计划执行Oracle归档日志。 1、系统环境变量中新建变量示例:ORACLE_SID:ORCL 变量名称:ORACLE_SID 值:ORCL 2、创建删除归档日志命令的del_archivelog.txt文件,写入内容: connect target / run{ crosscheck archivelog all; DELETE ARCHIV...

qq961573863的博客 3652

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

校园书店运营触发器适配

以校园书店运营为场景,设计数据库表结构、插入测试数据,完成 4 类触发器的设计与验证,掌握 Oracle 触发器的应用,模拟企业数据完整性保障、操作审计等场景。执行批量插入 2 条新图书、批量更新图书售价、批量删除图书,查询日志表,验证是否生成对应记录(每条批量操作仅 1 条日志)。监控整表的批量操作,高效记录操作整体情况,是企业高危批量操作审计的常用手段,保障数据操作的可追溯性。解决不可更新视图的操作问题,让用户直观操作视图,后台自动转换为基表操作,广泛应用于企业报表系统。

zzy_wqe的博客 635

oracle

Oracle 是一家全球领先的数据库软件公司,其主要产品是 Oracle 数据库系统。Oracle 数据库(Oracle Database)是一个关系型数据库管理系统(RDBMS),广泛应用于企业级数据管理、数据仓库、大数据分析和业务应用程序中。以下是 Oracle 数据库的一些主要特点和功能:

qq_63948347的博客 3851

通过触发器记录用户指定时间区间内所有操作语句

文章目录问题描述问题分析解决方案1. 触发器参考2. 功能测试3. 日志分析注意事项 问题描述 用户希望临时对某外部系统的指定时间内的操作进行日志记录,详细获取其操作相关语句。 前提条件:数据库不允许停止,尽可能减少影响。 问题分析 此问题属于审计范畴,按照我理解有如下几种方法: 方案 优势 劣势 即时查询 简单普通脚本即可 此方法受限于SharePool容量与精确度较低,DDL语...

Eric.zhong 619
上一篇: 通过oracle数据库所在操作系统限制信任的ip地址才能通过监听器访问数据库
下一篇: SSH版本信息可被获取漏洞解决方法
AA赵师傅
博客等级 码龄9年 89粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值