1:TNS:could not resolve the connect identifier specified
无法解析指定的连接标识符
今天用plsql连接数据库时,突然报出这个错误,无法连接。
网上查出方案,大多是让修改 tnsmames.ora 文件,配置连接,还有配置环境变量等。
但这都是针对第一次访问不了,可我之前是能访问的,然后又访问不了。
最后让我发现问题:原来之前连接公司的远程库配置了Oracle连接,但是现在本地连接不需要这些配置,删掉就可以了。
如果有和我问题一样的,可以试下我的解决方案:
连接成功。
2:Oracle密码过期
对于Oracle密码过期的情况,可以这样解决。
1:修改账户密码
alter user 账号 identified by 密码;
2:如果用户被锁定,解锁
alter user 账号 account unlock;
3:设置密码过期时间
可以根据个人需要,设置对应的密码过期时间(默认180天),如果是本地的,那么设置成无限制则更加方便。
注意:登录root用户操作
--修改用户密码过期时间
--查询当前用户(获取profile维度)
SELECT username,PROFILE FROM dba_users;
--查询密码过期时间
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
--修改密码过期时间为 无限制(不需要重启,直接生效)
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改成功重新登录即可。
3:Java中连接Oracle:不支持的字符集
Caused by: java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
解决:添加依赖
<!--解决数据库中文乱码问题:不支持的字符集,不支持的字符集合-->
<!-- https://mvnrepository.com/artifact/cn.easyproject/orai18n -->
<dependency>
<groupId>cn.easyproject</groupId>
<artifactId>orai18n</artifactId>
<version>12.1.0.2.0</version>
</dependency>
解决,可以正常查到数据。
日常连接数据库发现的问题,特此记录。希望可以帮到大家。后续有问题会再更新。