oracle钱包中ewallet.p12.lck和cwallet.sso.lck文件的意义是什么?
我对ewallet.p12.lck文件和cwallet.sso.lck文件的重要性感到困惑。我假设,与任何其他锁定文件一样,每当用户尝试使用钱包创建DB连接时,它都会创建一个lck文件,以便其他用户无法再次使用相同的钱包文件。 我的假设正确吗? 如果是,是否每次使用钱包创建新连接时都会重新创建lck文件 我查看了oracle钱包文档,他们解释了ewallet.p12和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文件是
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
有。