使用 Kerberos 和 Thin 驱动程序创建 Oracle 数据源
官方文档和软件
有关 Oracle 的详细信息,请参阅 官方文档。
要下载 Oracle 数据库软件,请参阅 官方软件下载。
更多版本的 Oracle JDBC 驱动程序,请参阅 官方 JDBC 驱动程序下载。
DataGrip 使用 JDBC 驱动程序通过 TNS 协议连接到 Oracle 服务器。 以下驱动模式可用:
在 Thin模式下,JDBC 驱动程序总是连接到 TNS 监听器。 在此模式下,可以使用各种版本的 JDBC 驱动程序。
在 OCI模式下,JDBC 驱动程序使用本机库。 在这种情况下,JDBC 驱动程序的版本必须与这些本机库的版本相同。
先决条件
本教程不涉及 Windows Server 和 Oracle 实例的配置。 建议阅读这些供应商的官方文档。
客户端
在 DataGrip 中配置连接之前,请确保您已配置并满足以下先决条件:
已配置 krb5.conf 。
已配置 Kerberos 客户端以运行
kinit。 有关配置和安装 Kerberos 的更多信息,请参阅 web.mit.edu 上的 Kerberos 文档。
服务器端
有关配置服务器端的更多信息,请参阅以下链接。
带有 Kerberos 的 Oracle 实例。 以下链接可能会对您有所帮助:
已配置 Active Directory 身份验证的 Windows Server。
在您的 Windows Server 机器上安装并配置了 Kerberos。 以下文档可能会对您有所帮助:
在 DataGrip 中配置数据源
在使用 Kerberos 认证连接到 Oracle 数据库之前,请通过在命令提示符或 终端中运行 Kerberos 命令,确保您已获取认证票据。
如果您的机器上有票据缓存文件,并且
useTicketCache设置为true,请运行klist命令。 确保它在缓存的票据中列出了您的票据。如果您的机器上未启用票据缓存,请执行以下操作:
运行
klist命令,并确保它列出了您的票据。如果您的身份验证票据未列出,请使用您的用户名运行
kinit命令,从服务器获取票据:kinit oraclekrb。 而非oraclekrb,请使用您的用户名。 在提示时,输入您的密码。
有关 Kerberos 票据的更多信息,请参阅 Kerberos 网站。
创建数据源
要连接到数据库,请创建一个数据源以存储您的连接详细信息。
选择您要创建的数据源。 您可以通过以下一种方式完成此操作:
在主菜单中,前往 并选择 Oracle。
在 数据库资源管理器 (⌘ 1 )中,单击工具栏上的
新建。 导航到 数据源 并选择 Oracle。

从 连接类型 列表中选择 SID。

在 主机 字段中,输入您的数据库主机地址。
在 SID 字段中,输入实例名称。 您可以向数据库管理员询问实例名称,或者在使用您的用户连接到实例时,在命令提示符中尝试运行以下查询:
SELECT sys_context('userenv','instance_name') FROM dual;从 驱动程序 列表中选择 Thin。

从 身份验证 列表中选择 Kerberos。

在 常规 选项卡上,单击 测试连接 以确保连接成功。

检查身份验证方法
从数据编辑器运行以下查询:
SELECT sys_context('userenv', 'authentication_method') FROM dual;
故障排除
EncryptionKey:密钥字节不能为空!
在某些情况下,Oracle 驱动程序 21.1.0.0 的连接可能无法正常工作。 尝试切换到其他驱动程序版本(例如 19.8.0.0 或 12.2.0.1)。 有关更改驱动程序版本的更多信息,请参阅 更改驱动程序版本。