oracle 19C 密码包含特殊字符@ 出现登录失败,针对此问题一次说个明白
ORA-12154: TNS:could not resolve the connect identifier specified
Oracle 19c之前密码是可以包含@特殊字符,但是如果包含特殊字符需要双引号
比如oracle11g 正常
如果密码包含特殊字符的加双引号
Oracle 12C 正常
但是到19C如果包含特殊字符则会报错
ORA-12154: TNS:could not resolve the connect identifier specified
但是测试如果@后不跟特殊字符是可以登陆的(不在@前后跟着特殊字符)
如特殊字符不在一起
如只包含一个@特殊字符
但是如果两个包含连续的特殊字符@!,@# 则会报错
原因 Bug 31628975 - SQL*PLUS COMMAND LINE ERROR WHEN AN “@” CHARACTER IS PRESENT IN PASSWORD
ORA-12154: Cannot Connect to SQLPLUS When Username or Password Contains “@” Special Character (Doc ID 2761789.1)
https://support.oracle.com/epmos/faces/SearchDocDisplay?_afrLoop=439953365313298&_afrWindowMode=0&_adf.ctrl-state=i945eysqj_4
文档中的表述有所偏差,仅仅只有@特殊字符没有问题,如果出现@+特殊字符则会出现问题;文档中表述该问题在23.1被修复,实际上经过测试19.15已经修复了这个bug
19.15修改该BUG
如下19.20可以正常登陆
19.21可以正常登陆
最后建议oracle 19C在设置密码时不要使用@ 不要使用@ 不要使用@