Windows 10下如何获取适配Oracle 11.2的Oracle Wallet Manager
原因说明
Oracle Instant Client属于精简运行时组件包,官方默认就不会集成Oracle Wallet Manager(OWM)、orapki这类管理类工具,找不到对应组件属于正常情况,不是安装包缺失或损坏。
适配Oracle 11.2的OWM获取安装方案
方案一:安装完整11.2版本Administrator级客户端(最稳定,推荐)
安装11.2版本Oracle客户端时,不要选择Instant Client、Runtime Client这类精简安装选项,直接选择Administrator安装类型,该安装级别会默认部署OWM、orapki、网络配置助手等全套管理工具:
- 安装完成后可以在Windows开始菜单的Oracle对应主目录分类下直接找到OWM的启动入口
orapki.exe会自动存放在客户端主目录的bin路径下,且路径会自动加入系统环境变量,可直接在命令行调用
*兼容性提示:11.2版本客户端可直接在Windows 10上正常运行,安装时如果弹出系统兼容性提示,直接选择「允许程序正常运行」即可,无需手动调整兼容模式。
方案二:单独提取组件(适合不想安装全量客户端的场景)
如果不想占用磁盘空间安装完整客户端,可以从同版本的完整Administrator客户端安装包中提取必要文件,放到你现有Instant Client的对应目录下,即可正常运行OWM:
- 从完整客户端的
bin目录提取owm.bat、owm.dll、orapki.exe、orazt11.dll、orannzsbb11.dll、oci.dll,复制到本地Instant Client的bin路径下 - 从完整客户端的
network\tools路径下提取整个owm资源文件夹,复制到本地Instant Client的network\tools路径下
操作完成后双击owm.bat即可启动Wallet管理器,命令行也可正常调用orapki命令。
Java端无硬编码凭据连接配置要点
- 用OWM创建Wallet时,务必勾选「自动登录」选项,生成
cwallet.sso单点登录文件,后续连接不需要在代码中传入Wallet密码 - 配置连接时不需要在代码中写入数据库账号密码,仅需配置两个JDBC参数:
oracle.net.wallet_location:指向本地存放Wallet文件的目录路径oracle.net.tns_admin:指向存放tnsnames.ora配置文件的目录,tns条目中仅需配置云端数据库的地址、端口、服务名,不需要写入账号密码
- JDBC连接串直接使用
jdbc:oracle:thin:@<你配置的TNS条目名>格式即可,驱动会自动从Wallet中读取凭据完成认证,不需要传入用户名、密码参数。
避坑提示
- 不要使用12c及以上版本的OWM创建适配11.2数据库的Wallet,高版本生成的Wallet格式与11.2版本不兼容,会出现认证失败问题,必须使用11.2版本的OWM/orapki创建目标Wallet
- Wallet生成后,需要将本地Wallet目录的权限设置为仅当前Windows登录用户可读写,避免数据库凭据泄露。
内容的提问来源于stack exchange,提问作者Amit Mahajan
相关产品推荐
相关产品推荐

