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在设置密码时不要使用@ 不要使用@ 不要使用@



















