建议使用Chrome浏览器访问!
技术支持
互动社区
学习培训
深信服官网
合作伙伴

超融合HCI

关注
深信服超融合SANGFOR HCI是面向下一代数据中心的软件定义基础架构,通过虚拟化技术融合计算、存储、网络和安全等资源,并提供运维管理、容灾备份、智能监控等高级特性,帮助用户构建极简、稳定、高性能的云化数据中心基石。
故障案例库
典型场景排查思路

【aCloud】某Oracle数据库用户经常被LOCK

更新时间:2019-04-03
  • 阅读权限:游客
  • 下载
  • 分享
  • 收藏
所属模块 场景部署 | 数据库部署
适用版本 通用
某应用系统的Oracle账号"KINGDEE"每天都会被LOCK,用命令解锁后第二天还是会被LOCK。
ORA-28000: the account is locked
某测试的应用程序接口,写错了地址,访问生产库IP,但用的测试库用户名和密码。错误的用户名和密码不断尝试连接,达到错误密码最大允许尝试连接的阈值,致使生产应用系统数据库连接用户被LOCK。
故障的具体解决方案为:开启数据库审计,抓取扫描数据库密码的应用程序或个人设备的IP地址。
解决步骤如下:
1、使用sys账号连接数据库,执行如下命令,查看审计信息保存位置;
SQL> show parameter audit_trail
  1. SQL> show parameter audit_trail

  2. NAME        TYPE        VALUE
  3. ------------------------------------ ----------- ------------------------------
  4. audit_trail        string        DB
  5. SQL>
如上执行结果,发现审计信息保存在数据库的审计表中。
注:如果数据库未开启审计,可以通过如下命令打开审计功能。
(1)、alter system set audit_trail=db scope=spfile;
(2)、重新启动数据库,让修改的audit_trail参数生效;

2、开启用户访问失败的审计;
  1. SQL> AUDIT SESSION WHENEVER NOT SUCCESSFUL;

  2. Audit succeeded.

  3. SQL>

3、等待用户再次被LOCK后,去数据库审计表查询用户访问失败日志;
  1. select * from sys.aud$ t where returncode = 1017 order by t.ntimestamp# desc;
注:该语句请在图形化数据库客户端中访问,展示效果较好。


本页目录
  • 问题描述
  • 告警信息
  • 根因
  • 解决方案