根本原因是数据库未启用外部口令存储支持,需在sqlnet.ora中配置SQLNET.AUTHENTICATION_SERVICES=(EXTERNAL)和WALLET_LOCATION,并确保路径正确、权限合法、客户端环境重载。Oracle Wallet 创建后 sqlplus / @db 仍提示密码错误?根本原因不是 wallet 没建好,而是数据库没启用外部口令存储支持。oracle 默认关闭该功能,必须显式配置 sqlnet.authentication_services 和 wallet_location 才能走 wallet 自动登录。检查 $ORACLE_HOME/network/admin/sqlnet.ora 是否包含这两行(顺序无关):SQLNET.AUTHENTICATION_SERVICES = (EXTERNAL)WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /path/to/wallet)))WALLET_LOCATION 的 DIRECTORY 必须是绝对路径,且 Oracle 进程用户(如 oracle)对该目录有读+执行权限(chmod 700 安全起见)改完 sqlnet.ora 不需要重启监听或实例,但客户端环境(比如你 ssh 登录的 shell)要重新加载,或者新开终端------很多人卡在这一步,以为配置不生效用 mkstore 添加用户时提示 ORA-12154: TNS could not resolve the connect identifier这不是 Wallet 问题,而是 mkstore 命令本身不连接数据库,它只操作本地文件。这个错误说明你误在命令里写了 @db 或类似 TNS 别名------mkstore 根本不认连接串。正确添加用户名密码的命令长这样:mkstore -wrl "/path/to/wallet" -createCredential ORCL myuser mypass其中 ORCL 是 TNS 别名(对应 tnsnames.ora 里的条目),不是数据库名也不是服务名-createCredential 后的三个参数:Wallet 路径、TNS 别名、用户名、密码------顺序错一个就报各种奇怪错误如果 tnsnames.ora 里没有 ORCL 条目,sqlplus / @ORCL 当然连不上,但 Wallet 本身是好的;先确保 tnsping ORCL 通,再配 Wallet为什么 sqlplus / @ORCL 能自动登录,但 sqlplus myuser/mypass@ORCL 还是能连?Wallet 不会禁用口令认证,它只是多提供一种认证方式。只要用户名密码正确,传统方式依然有效------这反而是设计意图:Wallet 是增强,不是替代。真正想强制走 Wallet,得关掉口令登录:在 sqlnet.ora 加 SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8(不推荐)或更实际的做法是,在应用层统一用 / @db 格式,并移除应用代码里的明文密码注意 SQLNET.ALLOWED_LOGON_VERSION_SERVER 设太低会导致 12c+ 新特性失效,别乱调Wallet 本身不加密网络传输,它只解决"本地客户端免输密码"问题;链路加密还得靠 SQLNET.ENCRYPTION_CLIENT 单独配Wallet 文件被删或损坏后,sqlplus / @db 报 ORA-12649: Unknown encryption algorithm这个错误通常不是算法问题,而是 Oracle 尝试读一个已损坏、非 Wallet 格式、或权限不对的文件。Wallet 是二进制格式,不能用文本编辑器改,也不能用 cp 覆盖正在被使用的 wallet。 Tellers AI Tellers是一款自动视频编辑工具,可以将文本、文章或故事转换为视频。
相关推荐
2401_897190552 小时前
如何在MongoDB中实现连表查询_group与累计求和操作justjinji2 小时前
PHP源码运行是否受硬盘转速影响_7200转vs5400转对比【指南】2301_796588502 小时前
如何用 error 事件全局捕获页面图片或脚本加载失败状态曲幽2 小时前
FastAPI 生产环境避坑指南:用 Alembic 管理数据库迁移,别再手动改表结构了!GitCode官方2 小时前
G-Star 精选开源项目推荐|第十四期qq_413847402 小时前
JavaScript中利用Range对象实现复杂的文本选择操作qq_654366982 小时前
Vue.js组件通信Emit处理长列表滚动到底部后的数据请求用户0332126663672 小时前
使用 Python 提取 PDF 文件中的文本、表格、图片qq_654366982 小时前
CSS3 按钮悬停时显示手型光标(cursor- pointer)的正确写法