- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Oracle如何找到引起账号锁定的IP的一点思考与总结由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
。
在ORACLE数据库中,如果没有修改过FAILED_LOGIN_ATTEMPTS的话,默认10次输入错误密码后就会锁住用户.
那么在数据库维护过程中,如果出现账号被锁定的情况,如何事后分析是那个IP或主机导致账号被锁定了呢?不同的情形有不同的分析方法,主要看是否开启了数据库审计功能 。
。
如果开了审计功能的话,这个分析定位就非常简单容易。因为数据库的审计功能会记录这些信息到数据库当中.
检查是否开启审计,主要查看audit_sys_operations参数是否为TRUE.
如果开启了审计功能,通过下面SQL语句就能轻松找到引起账号锁定的主机(通过主机找到具体IP地址) 。
----RETURNCODE=1017表示登录失败返回ORA-01017: invalid username/password; logon denied错误的会话信息.
如果数据库审计功能是关闭的情况下,那么能否定位、找到导致账号锁定的主机或IP地址呢?如果出现账号被锁的情况,可以先查一下dba_users视图,看看账号是在什么时间点被锁定的。注意(有些版本有Bug,会出现LOCK_DATE不准确的情况。) 。
网上有些文章信誓旦旦的宣称通过监听日志可以分析出哪些IP导致账号被锁定了,但是经过动手实验分析,发现通过监听日志文件根本无法定位引起账号锁定的IP地址,原因有两个:
1、 无法通过监听日志判断登录会话是否出现ORA-01017错误,因为登录成功与登录失败遭遇ORA-01017错误的会话的监听日志信息是一样。无法区别.
2、 即使账号锁定的时间能定位到秒,但是生产环境中,一秒内有大量的监听日志生成,根本无法定位是哪一个具体IP 。
3、 登录失败的监听日志可能不是连续的。而是在一段时间生成的.
不过如果事前你定义了数据库触发器,那么就可以轻松定位到具体IP, 网友提供了一个触发器,如下所示:
在客户端使用SQL*Plus测试,模拟输入错误的密码登录数据库 。
此时,触发器捕获到这个错误,就会在告警日志中生成类似下面这样的错误日志信息:
当然,如果你也可以改写该触发器,将捕获的相关信息写入数据库相关表。目前,我是将登陆失败的信息写入告警日志,监控告警日志(alert_$ORACLE_SID.log)的作业则会将分析告警日志,定期将错误解析出来,发送给DBA.
本文转载自微信公众号「DBA闲思杂想录」,作者潇湘隐者。转载本文请联系DBA闲思杂想录公众号.
原文链接:https://mp.weixin.qq.com/s/-xku9ZnsEHBqZbgaTBl5OQ 。
最后此篇关于Oracle如何找到引起账号锁定的IP的一点思考与总结的文章就讲到这里了,如果你想了解更多关于Oracle如何找到引起账号锁定的IP的一点思考与总结的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在尝试从par_iter()内部捕捉到 panic ,并继续执行par_iter块之后的操作。 如果我有这个,我会正确地获得一切,并且不会出现 panic : let dog: Dog = Dog
我可以假设从 JDK 类加载机制抛出的每个 NoClassDefFoundError 总是在堆栈跟踪中将 ClassNotFoundException 作为原因吗? 另外,NoClassDefFoun
我有下面的程序 package com; import java.io.PrintStream; import java.net.URL; import java.net.UR
我有一些由另一组人编写的简单代码(目前不可用),它引用了我得到的一些 jar 文件。当我编译代码时,一切都构建得很好,但是一旦代码尝试创建在其中一个 jar 文件中定义的类的实例,我就会收到 java
我正在尝试按照 https://github.com/airbrake/airbrake-django#manually-sending-errors-to-airbrake 上的示例进行操作手动向
我不确定为什么这是递归的。 jTable1.getModel().addTableModelListener(new TableModelListener() { public void table
我按照 https://github.com/cloudfoundry/vcap 上的自述文件进行操作 它应该工作正常... 但我得到了这样的错误: 有谁知道发生了什么? 我在 Ubuntu10.04
我只是想知道当你有 UI-Router 的空白页面时,有人知道如何调试情况。 (当然,控制台没有任何错误) 通过为路由器事件执行 console.log(取自 here),我发现它进入了正确的状态,但
我们的网站上有一个问题,一些 Firefox 用户在访问我们的网站时会收到“错误请求”消息(仅此而已,只是“错误请求”字样!) 这似乎是由于 google 跟踪 cookie 损坏,可能是 __utm
在使用guard-rspec在Rails 4项目中运行guard时,在vim中打开/关闭文件时偶尔会看到以下错误。我试过升级/降级guard,guard-rspec,pry和其他没有运气的库。 rub
今天我在编写程序时遇到了这个错误。 Caused by:java.lang.ClassCastException: org.cubeville.blocks.CrossedBlockBrush can
我在执行应用程序时遇到空指针异常,但我不确定原因。问题发生在线路上: task.execute(""); 但我不确定为什么会出现空指针异常。 (我已经验证我有互联网连接,并且它所连接的 XML
嗨,我有一个 java 应用程序,我正在尝试使用它写入 tempDir,但我仍然遇到以下异常。我承认我对编写文件不太了解,所以希望我缺少一些小东西。 Caused by: java.io.FileNo
我不明白为什么会发生这种情况。我对其他问题做了一些研究,发现使用 for 循环时无法修改集合。但是,我正在使用迭代器,为什么它不起作用? int counter = 0; int otherC
目前我正在使用 OSX Server (Yosemite) 来托管一堆 PHP 应用程序,其中一些应用程序在网站文档根目录下有一个子目录用于子域。自更新到 Yosemite 版本的 OSX Serve
SqlCommand objsql = new SqlCommand(); . . objsql.Parameters.AddWithValue("@Param1", DBNull.Value); .
当我尝试将“对象”添加到数据库然后将其显示到 TableView 时,它显示 UnsupportedOperationException 。一切都很好,直到我将此代码添加到“public void i
我收到以下错误日志: 05-29 20:57:29.886: D/AndroidRuntime(359): Shutting down VM 05-29 20:57:29.896: W/dalvikv
我有两个项目,第一个是Ejb3项目,名称是SessionBean,另一个是java项目,名称是SessionBeanClient。对于 IDE,我使用 eclipse indigo。我已经完成了代码,
我有一个使用表单成员身份验证的 ASP.NET Web 应用程序。我们最近进行了渗透测试,标记的一个问题是窃取用户帐户的能力。如果 .ASPXAUTH cookie 值是在注销之前从用户复制的,用户可
我是一名优秀的程序员,十分优秀!