Oracle11用户密码连接默认为180天的问题

​ 情景再现:在无人触碰和操作 服务器的情况下,用户反应系统频繁请求超时,导致无法正常使用。

​ 1. 接到电话后,在回家的路上 初步怀疑是系统数据连接池被全部占用(之前出现过数据库连接未被关闭资源的情况导致数据库连接超出阈值,后解决过此问题,可能未被完全解决),重新启动,结果系统启动失败,异常依然存在, 排除掉数据库连接不够的情况。查看日志后发现数据库连接异常。进而继续猜想和验证问题出现在数据库方面。

​ 2. 再次怀疑是系统部署服务器和数据库服务器之间的网络故障,导致无法正常连接,通过DOS窗口Ping网络后发现通信正常,排除网络问题情况。

​ 3. 再度怀疑是oracle的session数量可能超限制(曾在测试环境中出现过此问题),查询后当前连接数远不到最大连接数。排除session数量不够的情况。

-- 当前的连接数
select count(*) from v$session
--数据库允许的最大连接数
select value from v$parameter where name = 'processes'
--查看不同用户的连接数
select username,count(username) from v$session where username is not null group by username;
-- 修改最大连接数 注意:修改后需要重启数据库才能生效
alter system set processes = 300 scope = spfile;
-- 在sqlplus下输入命令或在任务管理器中重启oracle服务生效
sqlplus / as sysdba
shutdown immediate;
startup;
  1. 最后在日志中发现了一个关键性的异常信息 Caused by: java.sql.SQLException: ORA-28001: the password has expired 发现是密码失效了,查询后发现在Oracle11用户密码默认为180天,此时距离系统正式上线的日期正为六个月,结果查询后果然如此。

    -- 查询密码失效时间,默认180天
    SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';-- 修改用户密码(会将账号锁定) username和password对应相应的连接信息
    ALTER USER username IDENTIFIED BY password;-- 用户解锁
    alter user MASODB account unlock;-- 设置密码永不失效
    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
    

    具体步骤为:先查询验证密码失效是否为180天,结果正如所料,重置密码为原密码(猜测不修改密码直接解锁用户应该也可以),最后设置密码永不失效后再此查询,发现密码失效配置已修改。(无需重启oracle服务)

    1. 操作完后系统正常重启,问题解决,历时半小时左右。因问题第二天记录,某些情况的截图无法再现,仅用文字描述。

    2. 复盘发现的问题:

      第一:遇到紧急情况后应该先查询日志,再根据异常信息进行分析处理,排查出问题(代码、服务器、网络、数据库)所在,既而快速解决。

      第二:遇到问题后存在侥幸心理,认为重启能够解决大部分问题,然而实际上问题很少是重启能够解决的,重启只是将异常信息再此重复,意义不大,尽管重启能够解决的问题也不过是暂时的解决,后续还是会遇到。应该保证线上运行正常后记录问题并及时解决,治标更要治本。

      第三:再次体现到了单台机和数据库的弊端。应该考虑一种符合小型项目的多服务器备选方案(希望大神们多多指点)。

Oracle11用户连接默认180天过期相关推荐

  1. 修改Navicat Premium 12创建一个用户连接默认显示所有数据库的设置

    创建好用户连接后,右键点击 → 编辑连接,弹出「编辑连接」窗口. 选择「数据库」tab页(见下图中1) → 勾选「使用自定义数据库列表」(见下图中2) → 勾选你想在该用户连接下显示的数据库(见下图中 ...

  2. Oracle11g密码过期(默认180天)及设置密码无限期的方法

    Oracle11g密码过期及设置密码无限期的方法 Oracle11g默认密码有效期为180天,过期后无法登录并提示ORA-28001:the password has expired 密码过期如何取消 ...

  3. 如何让oracle用户不过期,Oracle用户密码设为不过期的两种方法

    1.在sql Plus下,以DBA身份登陆 用户名/密码@服务器SID as sysdba 方法一:(注意必须用双引号把后面的引上) C:/Documents and Settings/ssy> ...

  4. oracle取消180天过期,Oracle密码过期如何取消密码180天限制及密码180天过期,账号锁住的问题...

    Oracle密码过期,取消密码180天限制 1.进入sqlplus模式 sqlplus / as sysdba; 2.查看用户密码的有效期设置(一般默认的配置文件是DEFAULT) SELECT * ...

  5. 简单三步操作实现任意用户连接云服务器中的MYSQL数据库

    前言-- 在编写项目的时候习惯于把mysql数据库,放在云服务器上,这样每个开发人员就都能连接到同一个服务器上的mysql数据库,实现数据的互通.   本文实现任意用户连接至阿里云服务器ECS(Ubu ...

  6. Xshell用root用户连接Linux

    Xshell用root用户连接Linux 1.缘由 2.原因 3.解决 3.1 普通用户切换到root用户 3.2 安装ssh服务 3.3 启动ssh服务 3.4 更改配置文件 3.5 重启ssh服务 ...

  7. Linux下新建用户的默认配置

    在新建用户时,仅需要user add newuser再指定密码就可以创建一个一般用户,如果并未给newuser指定任何信息,那么默认配置是从哪里来的呢?在/etc/default/useradd文件中 ...

  8. xp如何查看计算机配置文件,Windows XP如何修改用户配置文件默认位置

    Windows XP如何修改用户配置文件默认位置 修改注册表可能会造成您的系统崩溃或数据丢失,请先行备份操作系统,以备不测 在"桌面"上按快捷键"Ctrl+R" ...

  9. ORA-01031: 权限不足问题原因用户连接时

    现象: 使用用户名连接时候,提示ORA-01031: 权限不足,但是sys用户连接成功. 解决方法: Navicat>sys账户登录>用户>成员属于>connect>授予 ...

最新文章

  1. 手机mvno怎么设置_微信透明背景壁纸怎么弄 手机设置方法教程分享
  2. 华为对边缘计算的思考与理解
  3. linux下find命令用法
  4. TEEC_Context和TEEC_InitializeContext介绍
  5. linux 标准输入句柄,标准文件描述符与标准文件句柄
  6. 场景感知:CNN方法对三维重建/slam/实时定位的一些Base改进
  7. SQL Server 2008 阻止保存要求重新创建表的更改问题
  8. VIJOS1212 Way Selection
  9. android tag的作用,Android中的Context的作用(2)
  10. mysql行级锁作用_Mysql事务及行级锁的理解
  11. Java BigInteger类| hashCode()方法与示例
  12. navision系统和sap区别_erp系统与sap的区别是什么?
  13. java线程画动图闪,Android中利用画图类和线程画出闪烁的心形,android心形,package com....
  14. 周志华:AAAI 2019论文提交创纪录,达到7745篇
  15. 组合范畴语法 CCG
  16. esp32 python开发环境搭建_ESP32:搭建Ubuntu开发环境
  17. 读芯术python讲得怎么样_最读网 - 看是用眼,读是用心!
  18. 扫码点餐系统可以免费使用了
  19. 科技云报道:中国电子云曹心驰:做成云计算“国家队”该有的样子
  20. css3中-moz、-ms、-webkit、-o分别代表的意思

热门文章

  1. 栈溢出和栈内存溢出的区别
  2. 融资租赁资产管理系统(FLAS)项目运维经验记录总结--org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
  3. Luogu 1402 酒店之王(二分图最大匹配)
  4. 基于JAVA的课程设计《智能捡火柴小程序》
  5. DSFD(Dual Shot Face Detector)论文解读
  6. 二维码居然还应用到环保监管上
  7. 2021-2027全球与中国通用高温计市场现状及未来发展趋势
  8. jQuery验证框架 .
  9. 电线电缆铜丝发黑的原因分析
  10. 一个屌丝程序猿的人生(一百一十一)