前言:
关于为什么会出现该情况,或许与数据库的密码更新机制有关,若密码令牌到期后更换密码与部署的服务内有不一致就会出错,也可以从这一点出发避免出现这样的问题。出现该问题会出现一种情况,即服务已经部署完毕,而连接数据库的服务携带错误的连接配置信息连接数据库,进而导致服务异常。如果没有其他DBA权限用户可以直接修改待修改DBA用户的密码,可以遵照以下操作,以下是操作步骤。
1、先看防火墙是否打开
sudo systemctl status firewalld
2、没有则开启防火墙
sudo systemctl start firewalld
3、查看有哪些端口在防火墙白名单,屏蔽掉。若有其他服务也在冲这个数据库连接,也要一并关掉,否则该DBA会一直处于锁状态。
sudo firewall-cmd --list-ports
关掉白名单端口
sudo firewall-cmd --zone=public --remove-port=<端口号1>/tcp --permanent
sudo firewall-cmd --zone=public --remove-port=<端口号2>/tcp --permanent
...
sudo firewall-cmd --reload
4、等待数据库password_lock_time过期解锁后,重新将密码回正,并重新将以上步骤环境还原。(这一步是针对Oracle数据库和达梦数据库的,其他数据库视具体问题而定)
ALTER USER "SYSDBA" IDNTIFIED BY "密码";
第4步用ssh工具进行,若使用达梦数据库需要使用 ./disql 命令,做法相差无几。