如何配置Oracle的外部口令存储_安全外部密码库Wallet自动登录

根本原因是数据库未启用外部口令存储支持,需在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是一款自动视频编辑工具,可以将文本、文章或故事转换为视频。

相关推荐
treacle田9 分钟前
达梦数据库-Linux DM数据守护主备集群缩改为单机-记录总结
linux·服务器·数据库·主备集群改单机
SelectDB技术团队10 分钟前
Apache Doris 支持同步/异步物化视图与 ROLLUP,多表加速能力优于 StarRocks
大数据·数据库·doris·技术选型·物化视图·starrock·查询加速
super大力张29 分钟前
MOE基于结构的药物设计(七):Ligand R-Vectors——如何判断配体可以从哪里继续生长?
数据库·算法·cadd·moe·svl·基于结构的药物设计
Databend30 分钟前
Databend 增量物化视图:基于 Change Tracking 的增量刷新与一致性读取
大数据·数据库·sql
kyrie_sakura1 小时前
python学习笔记11 -- 进程和线程
笔记·python·学习
腾讯云开发者1 小时前
与数据库打了几十年交道,WorkBuddy让我有了「第二知识库」
数据库
星云API技术支持1 小时前
企业微信二次开发机器人:实时消息回调与历史消息同步如何配合
数据库·机器人·企业微信
Jialu.1 小时前
中文 NLP 模型部署实战:FastAPI 接口 + Streamlit 看板
人工智能·python·自然语言处理·fastapi
Aolith1 小时前
我在React全栈项目中搭建了一个完整题库
数据库·react.js·全栈