Oracle

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

支持的版本

Metabase 支持从最旧支持版本到最新稳定版本的所有版本。请参阅 Oracle 的《当前数据库发布计划》

编辑连接详情

您可以随时编辑这些设置。请记住保存您的更改。

显示名称

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

主机

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

端口

数据库端口。例如,1521。

Oracle 系统 ID (SID)

通常是 ORCL 或 XE 之类的。如果使用服务名称,则可选。

Oracle 服务名称

可选的 TNS 别名。

用户名

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

密码

用于连接数据库的用户名对应的密码。

使用安全连接 (SSL)

您可以同时使用客户端和服务器身份验证(称为相互身份验证)。

连接到 Oracle 云自治数据库

如果您的数据库配置为需要相互 TLS (mTLS),您将需要一个钱包。要下载您的钱包:

  1. 前往您的 Oracle 自治数据库。
  2. 前往数据库详情。
  3. 点击数据库连接
  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 信任其证书链。请参阅 Oracle 文档中关于使用 keytool 管理密钥和信任库文件、导入证书等内容。

有关为 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 版本的文档。

© . All rights reserved.