Oracle
要添加数据库连接,请单击右上角的 齿轮 图标,然后导航到 管理设置 > 数据库 > 添加数据库。
支持的版本
Metabase 支持从最旧支持版本到最新稳定版本。请参阅 Oracle 的当前数据库版本发布时间表。
设置
您可以随时编辑这些设置。只需记得保存您的更改。
显示名称
数据库在 Metabase 界面中显示的名称。
主机
你的数据库的 IP 地址或其域名(例如,esc.mydatabase.com)。
端口
数据库端口。例如,1521。
Oracle 系统 ID (SID)
通常类似于 ORCL 或 XE。如果使用服务名称,则为可选。
Oracle 服务名称
可选的 TNS 别名。
用户名
您要用于连接到数据库的帐户的数据库用户名。您可以使用不同的用户帐户设置到同一数据库的多个连接,每个连接具有不同的权限集。
密码
您用于连接到数据库的用户名密码。
使用安全连接 (SSL)
您可以使用客户端和服务器身份验证(称为双向身份验证)。
连接到 Oracle 云自治数据库
如果您已将数据库配置为需要双向 TLS (mTLS),则需要一个钱包。要下载您的钱包
- 转到您的 Oracle 自治数据库。
- 转到数据库的详细信息。
- 单击 DB 连接。
- 下载钱包。
- 为密钥文件创建密码。
- 将
keystore.jks
文件复制到您存储 Metabase 配置数据的位置。 - 使用
JAVA_OPTS
让 Metabase 知道密钥库的位置和密码(有关密钥库的更多信息,请参阅下一节)。 - 在 Metabase 中,在数据连接页面上,输入您的
host
、port
和service_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 版本的文档。