首页 » Cloud, MySQL/TiDB/GoldenDB » Troubleshooting DB Logon failed ORA-01017 when Listener show Service has 2 instances
Troubleshooting DB Logon failed ORA-01017 when Listener show Service has 2 instances
一套oracle 12c physical casecade dataguard 多租户环境,a–>b –>c, 用户在登录B standby数据库时间隔性提示ora-1017密码错误, 并且发现只是其中一个Pdb 存在这样的问题,如连续多次登录中其中有部分登录成功。
如果是持续登录失败,建议检查:
- >sec_case_sensitive_logon参数是否为true
>sqlnet.ora 密码版本
>dba_users.password_version 是否兼容
>刷新shared_pool 重试
>重置密码
>密码大小写
>密码中存储特殊符号
间断性的密码失败:
- tns连接串中alias name是否有重复,解析到了不同的db, 我们使用ezconnect 方式问题依旧;
- 创建新用户尝试问题依旧;在primary db尝试不存在相同问题。 数据库本机登录问题依旧;
- 使用ip 方式不存在域名解析问题。
启用errorstack 跟踪:
alter system set events '1017 trace name ERRORSTACK level 3';
复现报错,实例alert log中并没有报错信息,检查发现本机存在多个数据库实例, 检查listener service状态
Note:
注意一个service下有两个实例,这也就是问题根本原因,因为同一主机不同实例中有2个同名PDB name, 默认的与db 同名的service被注册在两个实例下,数据库登录使用该service name时就有可能分发到了不同的实例出现随机性密码错误问题,还好报错,如果密码刚好相同,而操作错误了数据库内的数据后果可能就更加严重。
解决方法:
创建自定义service 或规避同一主机相同pdb name问题。
增加检查项:
lsnrctl status中service has 实例数大于1的告警。
注:当存在静态注册时会存有2个相同SID的instance, 其中静态注册为unknown
对不起,这篇文章暂时关闭评论。