当我设置 TNS_ADMIN 参数时无法在 oracle 数据库中通过 SSO 登录
Not able to login by SSO in oracle database when i set TNS_ADMIN parameter
我在 oracle 数据库 D1 和其他具有密码登录方法的 oracle 数据库 D2 上激活了我的单点登录。我不想使用 oracle home Tnsnames.ora 文件。我创建了自己的 tnsnames.ora 并添加了两个数据库。
我将 TNS_ADMIN 设置为路径,在该路径下我给出了我保存 tnsnames 文件的位置路径。
我尝试在命令提示符下执行 sqlplus /@db1
然后它抛出一个错误说 "invalid username /password"
但是当我在 tsetting TNS_ADMIN 参数之前使用 sqlplus /@db1
时,它需要我的本地 tns 文件(我猜)并正确登录。
现在设置 TNS_ADMIN 后,如果我尝试 sqlplus user/pass@DB2
这会正常工作,因为使用密码访问 DB2 并且未在此服务器上激活 SSO。
问题是当我设置 TNS_ADMIN 参数时,SQLplus 中的 SSO 登录不起作用,tns 条目是正确的,因为我使用激活 SSO 之前的同一个 db1。
我是否需要在位于我的 tnsnsames 文件的 sqlnet.ora 中添加一些参数来激活我的 SSO 或任何特殊设置 DBA 来激活用户和 tns 上的 SSO 以便我也可以做同样的事情来使用我的 tnsnames.ora 文件。
场景
cmd > sqlplus /@db1 --Logs successfully
cmd> set TNS_ADMIN=path/tns (my tnsnames.ora file location)
cmd > sqlplus /@db1 --Logs successfully --Fails to login
cmd > sqlplus user/pass@DB2 --Logs successfully
请注意,我的 tnsnames.ora 没有更改,并且在密码登录时保持原始连接使用 db1。
我们在 oracle 主路径中的 oracle sqlnet 文件的 SSO 登录中使用 Kerberos,我们设置了一些与 Kerberos 相关的参数,例如 Kerberos_CC_NAME、Kerberos_CONF、Kerberos_CONF_MIT 参数.我在我的 sqlnet 文件中使用了相同的方法,但它不起作用。
您必须在 sqlnet.ora
文件中指定钱包的位置,请参阅 Profile Parameters (sqlnet.ora)
如果出现问题,请编辑您的 sqlnet.ora
文件并添加这些行
TNSPING.TRACE_DIRECTORY = path (location where you like to get trace file)
TNSPING.TRACE_LEVEL = user
跟踪文件应提供更多信息,说明出了什么问题。
我在 oracle 数据库 D1 和其他具有密码登录方法的 oracle 数据库 D2 上激活了我的单点登录。我不想使用 oracle home Tnsnames.ora 文件。我创建了自己的 tnsnames.ora 并添加了两个数据库。
我将 TNS_ADMIN 设置为路径,在该路径下我给出了我保存 tnsnames 文件的位置路径。
我尝试在命令提示符下执行 sqlplus /@db1
然后它抛出一个错误说 "invalid username /password"
但是当我在 tsetting TNS_ADMIN 参数之前使用 sqlplus /@db1
时,它需要我的本地 tns 文件(我猜)并正确登录。
现在设置 TNS_ADMIN 后,如果我尝试 sqlplus user/pass@DB2
这会正常工作,因为使用密码访问 DB2 并且未在此服务器上激活 SSO。
问题是当我设置 TNS_ADMIN 参数时,SQLplus 中的 SSO 登录不起作用,tns 条目是正确的,因为我使用激活 SSO 之前的同一个 db1。
我是否需要在位于我的 tnsnsames 文件的 sqlnet.ora 中添加一些参数来激活我的 SSO 或任何特殊设置 DBA 来激活用户和 tns 上的 SSO 以便我也可以做同样的事情来使用我的 tnsnames.ora 文件。
场景
cmd > sqlplus /@db1 --Logs successfully
cmd> set TNS_ADMIN=path/tns (my tnsnames.ora file location)
cmd > sqlplus /@db1 --Logs successfully --Fails to login
cmd > sqlplus user/pass@DB2 --Logs successfully
请注意,我的 tnsnames.ora 没有更改,并且在密码登录时保持原始连接使用 db1。
我们在 oracle 主路径中的 oracle sqlnet 文件的 SSO 登录中使用 Kerberos,我们设置了一些与 Kerberos 相关的参数,例如 Kerberos_CC_NAME、Kerberos_CONF、Kerberos_CONF_MIT 参数.我在我的 sqlnet 文件中使用了相同的方法,但它不起作用。
您必须在 sqlnet.ora
文件中指定钱包的位置,请参阅 Profile Parameters (sqlnet.ora)
如果出现问题,请编辑您的 sqlnet.ora
文件并添加这些行
TNSPING.TRACE_DIRECTORY = path (location where you like to get trace file)
TNSPING.TRACE_LEVEL = user
跟踪文件应提供更多信息,说明出了什么问题。