Oracle

要添加数据库连接,请单击右上角的 齿轮 图标,然后导航到 管理设置 > 数据库 > 添加数据库

支持的版本

Metabase 支持从最旧支持版本到最新稳定版本。请参阅 Oracle 的当前数据库版本发布时间表

设置

您可以随时编辑这些设置。只需记得保存您的更改。

显示名称

数据库在 Metabase 界面中显示的名称。

主机

你的数据库的 IP 地址或其域名(例如,esc.mydatabase.com)。

端口

数据库端口。例如,1521。

Oracle 系统 ID (SID)

通常类似于 ORCL 或 XE。如果使用服务名称,则为可选。

Oracle 服务名称

可选的 TNS 别名。

用户名

您要用于连接到数据库的帐户的数据库用户名。您可以使用不同的用户帐户设置到同一数据库的多个连接,每个连接具有不同的权限集。

密码

您用于连接到数据库的用户名密码。

使用安全连接 (SSL)

您可以使用客户端和服务器身份验证(称为双向身份验证)。

连接到 Oracle 云自治数据库

如果您已将数据库配置为需要双向 TLS (mTLS),则需要一个钱包。要下载您的钱包

  1. 转到您的 Oracle 自治数据库。
  2. 转到数据库的详细信息。
  3. 单击 DB 连接
  4. 下载钱包。
  5. 为密钥文件创建密码。
  6. keystore.jks 文件复制到您存储 Metabase 配置数据的位置。
  7. 使用 JAVA_OPTS 让 Metabase 知道密钥库的位置和密码(有关密钥库的更多信息,请参阅下一节)。
  8. 在 Metabase 中,在数据连接页面上,输入您的 hostportservice_name。您可以在 tsnnames.ora 文件中找到这些值。

使用密钥库进行客户端身份验证

要配置服务器(Oracle 服务器)以验证客户端(Metabase)的身份,您需要配置一个包含客户端私钥的密钥库文件。

您需要将客户端的私钥导入到密钥库中(而不是将根 CA 导入到信任库文件中)。为 Metabase 添加以下 JVM 选项

-Djavax.net.ssl.keyStore=/path/to/keystore.jks
-Djavax.net.ssl.keyStoreType=JKS \
-Djavax.net.ssl.keyStorePassword=<keyStorePassword>

您可以使用 JAVA_OPTS 环境变量定义这些,如下所示

JAVA_OPTS: "-Djavax.net.ssl.keyStore=/scripts/keystore.jks -Djavax.net.ssl.keyStoreType=JKS -Djavax.net.ssl.keyStorePassword=<keyStorePassword>"

完成此操作后,当 Metabase 尝试通过 SSL 连接时,Oracle 服务器将使用私钥验证 Metabase。

使用信任库进行服务器身份验证

要配置客户端 (Metabase) 以验证服务器 (Oracle 服务器) 的身份,您可能需要配置一个包含服务器根 CA 的信任库文件,以便运行 Metabase 的 JVM 信任其证书链。有关使用 keytool 管理密钥和信任库文件、导入证书等的更多信息,请参阅 Oracle 文档

有关为 AWS RDS Oracle 实例设置信任库的更多信息,请参阅 Amazon 提供的说明

如果您需要使用 SSL 连接到其他数据库,则可能需要将 RDS CA 添加到您现有的信任库文件(可能称为 cacerts),而不是创建新的信任库。

支持的 Oracle 数据库和 Oracle 驱动程序版本

  • 驱动程序版本:最低 Oracle 驱动程序版本应为 19c,无论您拥有哪个 Java 版本或 Oracle 数据库版本。
  • 数据库版本:最低数据库版本应为 19c,因为 Oracle 不再支持 19 之前的数据库版本

下载 Oracle JDBC 驱动程序 JAR

您可以从 Oracle 的 JDBC 驱动程序下载页面下载 JDBC 驱动程序。

我们建议使用 ojdbc8.jar JAR。

将 Oracle JDBC 驱动程序 JAR 添加到 Metabase 插件目录

在您的 Metabase 目录(您保存和运行 metabase.jar 的目录)中,创建一个名为 plugins 的目录(如果它尚不存在)。

将您刚刚下载的 JAR 文件 (ojdbc8.jar) 移动到 plugins 目录中,然后重启 Metabase。Metabase 将在重新启动后自动使 Oracle 驱动程序可用。

从 JAR 运行时

默认情况下,plugins 目录名为 plugins,并且与 Metabase JAR 位于同一目录中。

例如,如果您从名为 /app/ 的目录运行 Metabase,则应将 Oracle JDBC 驱动程序 JAR 移动到 /app/plugins/

# example directory structure for running Metabase with Oracle support
/app/metabase.jar
/app/plugins/ojdbc8.jar

从 Docker 运行时

通过 Docker 运行时添加插件的过程类似,但您需要挂载 plugins 目录。有关更多详细信息,请参阅此处的说明。

进一步阅读

阅读其他 Metabase 版本的文档