一次Oracle密码复杂性校验错误解决

结构化解决问题的步骤
1、识别问题:明确具体是什么问题。
2、定义问题:将问题分解成可管理的小问题。
3、调查:收集数据和信息。
4、分析:找出问题的根本原因。
5、解决:从众多解决方案中选择最合适的一个。
6、检查解决方案:确认是否已经解决了问题。

今天,业务系统导入数据时,报了一个错误(如图)。折腾了一翻,问题解决比较曲折,特此记录下。


一、识别问题:明确具体是什么问题

1、明确具体是什么问题?
本业务系统使用已七八年,数据导入模式比较原始,每次新周期数据导入时,需要通过专门的工具连接数据库导入数据。今天正常按操作程序导入时,提示如下错误:

错误提示

2、什么情况下出现的?
在新周期数据导入时出现,距离上次操作数据库,间隔为28天。


二、定义问题:将问题分解成可管理的小问题

通过将问题分解成可管理的小问题,进一步定位最本质的问题。
针对本问题,具体步骤如下:
1、导入操作不当出现的问题?
经多人验证,出现同样的错误,问题排除。

2、公司数据库有新的变更?
咨询公司DBA后,排除这种肯能。

3、供应商有执行新的变更?
本业务系统供应商操作系统时,都要通过我的验证,最近并没有执行相关操作。同时,跟供应商有权限的工程师确认,也排除本可能。

4、数据库本身设置的问题?
有这种可能,需要进一步分析、排除。


三、调查:收集数据和信息

1、搞清楚业务系统导入工具逻辑。
通过咨询供应商,了解到详细的导入逻辑,进一步分析每一个可能出错的环节。

2、从错误提示入手

根据错误提示查询相关资料,找出可能的原因。

本例问题很类似,问题指向Oracle密码复杂性校验错误。

3、连接数据库
连接数据库发现,其他账号均能正常登陆,只有出问题的帐号不能登陆。


四、分析:找出问题的根本原因

通过汇总分析及供应商协助:清晰定位问题,初步制定以下解决方案。

解决方案:备份数据库,重新创建用户。

重新创建用户

创建不成功,提示问题依旧

ORA-28003: password verification for the specified password failed
ORA-20001: Password same as or similar to user

根据错误提示,定位问题:因为Oracle密码复杂性校验导致
Check the output of the below query.
Check the value for resource_name "PASSWORD_VERIFY_FUNCTION" , if it is not null(LIMIT column) then change it to null.

密码复杂性校验


五、解决:从众多解决方案中选择最合适的一个

1、取消Oracle密码复杂度检查:

SQL> alter profile default limit password_verify_function null;

2、重新创建用户


六、检查解决方案:确认是否已经解决了问题

经验证,业务数据已能正常导入。
至此,问题解决~!

还有个问题:本工具已正常使用多年,在没人动系统配置和数据库环境的情况下,为何会突然出现这个问题,还在进一步分析。

你可能感兴趣的:(一次Oracle密码复杂性校验错误解决)