oracle19C 密码包含特殊字符@ 导致ORA-12154


欢迎关注作者 分享更多数据库安装配置,troubleshooting,调优,备份恢复知识和案例
CSDN:潇湘秦-CSDN博客
公众号:潇湘秦

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

近期出现的一个问题是,当使用Oracle 11g进行连接到Oracle 19c数据库时,会出现ORA-28040错误消息。这个错误通常发生在将新版数据库迁移到旧版数据库的过程中,根据Oracle支持文档,这个错误是由于Oracle 19c密码安全增强特性导致的。 Oracle 19c在默认情况下启用了一个新的密码安全特性:标识管理器。这个特性使用了高级算法和密码保护技术,以提高密码安全性。在使用此特性的情况下,Oracle 19c将拒绝使用不安全的经典密码进行身份验证,并只允许使用已启用标识管理器的用户进行连接,而Oracle 11g没有这个特性。 要解决ORA-28040错误,需要在Oracle 19c中创建一个经典密码,并将其设置为可以用于连接到Oracle 11g的用户。创建经典密码的步骤如下: 1. 使用SYS用户或其他具有管理权限的用户登录到Oracle 19c数据库。 2. 执行以下命令,启用经典密码模式: ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED PASSWORD_GRACE_TIME UNLIMITED PASSWORD_REUSE_MAX UNLIMITED PASSWORD_REUSE_TIME UNLIMITED PASSWORD_LOCK_TIME 1/24 PASSWORD_VERIFY_FUNCTION null; 3. 为在Oracle 11g中进行连接的用户创建经典密码。可以使用以下命令创建一个名为TEST的用户,并为该用户设置一个经典密码: CREATE USER TEST IDENTIFIED BY test_password; 4. 将用户的默认配置文件更改为启用经典密码: ALTER USER TEST PROFILE DEFAULT; 创建一个经典密码后,可以使用该密码Oracle 11g连接到Oracle 19c。要使用创建的经典密码进行连接,请确保已使用用户ID和密码连接到数据库,如下所示: SQLPLUS USERNAME/PASSWORD@//HOST:PORT/SERVICE 因此,要解决ORA-28040错误,需要在Oracle 19c中创建一个经典密码,并将其设置为可以用于连接到Oracle 11g的用户。这将确保Oracle 11g用户可以连接到Oracle 19c,并且不会收到ORA-28040错误消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潇湘秦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值