oracle钱包中ewallet.p12.lck和cwallet.sso.lck文件的意义是什么?

oracle钱包中ewallet.p12.lck和cwallet.sso.lck文件的意义是什么?,oracle,jdbc,oracle12c,Oracle,Jdbc,Oracle12c,我对ewallet.p12.lck文件和cwallet.sso.lck文件的重要性感到困惑。我假设,与任何其他锁定文件一样,每当用户尝试使用钱包创建DB连接时,它都会创建一个lck文件,以便其他用户无法再次使用相同的钱包文件。 我的假设正确吗? 如果是,是否每次使用钱包创建新连接时都会重新创建lck文件 我查看了oracle钱包文档,他们解释了ewallet.p12和cwallet.sso文件的使用,但没有说明创建的.lck文件的意义。 Oracle DB版本12c请检查此项,*.lck文件是

我对ewallet.p12.lck文件和cwallet.sso.lck文件的重要性感到困惑。我假设,与任何其他锁定文件一样,每当用户尝试使用钱包创建DB连接时,它都会创建一个lck文件,以便其他用户无法再次使用相同的钱包文件。 我的假设正确吗? 如果是,是否每次使用钱包创建新连接时都会重新创建lck文件

我查看了oracle钱包文档,他们解释了ewallet.p12和cwallet.sso文件的使用,但没有说明创建的.lck文件的意义。


Oracle DB版本12c

请检查此项,*.lck文件是在设置钱包文件时创建的。但是,在建立连接时不会创建这些。此外,要建立连接,您只需要拥有ewallet.p12和cwallet.sso

这是我使用Oracle钱包的经验

锁文件:
ewallet.p12.lck
cwallet.sso.lck
是由Oracle UCP驱动程序在访问钱包文件
ewallet.p12
cwallet.sso
后在启动时创建的,这些文件必须位于
-Doracle.net.wallet\u location=
指向的路径中

它们似乎是使用
rw------
权限创建的,这表明它们不应该被其他用户使用,但我还没有测试这是否可行

锁文件不会在每次创建新连接时重新创建。它们仅在启动时创建,作为获取DB连接字符串的一种方式


在我的测试中,不同的进程可以读取相同的钱包文件并获得到DB的连接,尽管如果它们同时启动,很可能会得到一个
锁定失败-cwallet.sso.lck(访问被拒绝)
,我解决了在不同目录位置复制钱包文件的问题。

我无法确认这一点。从19c运行JDBC驱动程序时,我们的服务无法正常启动,因为无法创建锁文件。服务帐户没有对电子钱包目录的写入权限,只有
oracle:oracle
有。