Oracle如何使用db_connect_string名称从Oracle钱包文件中提取密码

时间:2018-08-23 07:16:09

标签: java oracle apache-spark hadoop

我已经从oracle页面使用oracle的mkstore创建了一个oracle钱包:

https://docs.oracle.com/middleware/1213/wls/JDBCA/oraclewallet.htm#JDBCA600

mkstore命令mkstore -wrl <wallet_location> -createCredential <db_connect_string> <username> <password>在给定的wallet_location中生成两个文件。 生成的文件为:cwallet.sso and ewallet.p12

这些文件需要在Java -Doracle.net.wallet_location=中设置为系统属性,并在dburl连接字符串中提供db_connect_string。这样,oracle成功地对数据库进行了身份验证。

我的询问是oracle如何从钱包文件内部确定密码。

我问这个问题的原因是,我正在Apache Spark的集群分布式模式下工作,但我不知道连接将在哪台机器执行器上进行。因此,我无法在所有执行程序上预先设置系统属性-Doracle.net.wallet_location=。由于该属性不是系统属性,因此连接失败,并显示unknownhost exception。连接发生在spark的驱动程序上,在此我可以控制设置系统属性。当任务被分发时,它开始失败。

此外,假设我有别名和钱包文件,是否有办法从钱包文件中获取usernamepassword

我没有使用hadoop凭证存储的选项。 必须使用Oracle钱包。

0 个答案:

没有答案