Oracle
要添加数据库连接,请点击右上角的齿轮图标,然后导航到管理员设置 > 数据库 > 添加数据库。
支持的版本
Metabase 支持从最旧的支持版本到最新稳定版本。请参阅 Oracle 的当前数据库版本发布计划。
编辑连接详情
您可以随时编辑这些设置。请务必保存您的更改。
连接字符串
在此处粘贴连接字符串以预填充以下剩余字段。
显示名称
Metabase 界面中数据库的显示名称。
主机
您的数据库 IP 地址或其域名(例如,esc.mydatabase.com)。
端口
数据库端口。例如,1521。
Oracle 系统 ID (SID)
通常是 ORCL 或 XE。如果使用服务名,则此项可选。
Oracle 服务名
可选的 TNS 别名。
用户名
用于连接数据库的账户的数据库用户名。您可以为同一个数据库设置多个连接,使用不同的用户账户,每个账户具有不同的权限。
密码
您用于连接数据库的用户的密码。
使用安全连接 (SSL)
您可以使用客户端和服务器身份验证(称为双向身份验证)。
连接到 Oracle Cloud 自动数据库
如果您已配置数据库要求双向 TLS (mTLS),您将需要一个钱包。要下载您的钱包
- 转到您的 Oracle 自动数据库。
- 转到数据库的详细信息。
- 点击数据库连接。
- 下载钱包。
- 为密钥文件创建密码。
- 将
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 信任其证书链。请参阅 Oracle 文档,了解如何使用 keytool 管理密钥和信任库文件、导入证书等。
有关为 AWS RDS Oracle 实例设置信任库的更多信息,请参阅 Amazon 提供的说明。
如果您需要使用 SSL 连接到其他数据库,而不是创建新的信任库,您可能需要将 RDS CA 添加到您现有的信任库文件(可能称为 cacerts)。
支持的 Oracle 数据库和 Oracle 驱动程序版本
- 驱动程序版本:最低 Oracle 驱动程序版本应为 19c,无论您使用的是哪个 Java 版本或 Oracle 数据库版本。
- 数据库版本:最低数据库版本应为 19c,因为 Oracle 不再支持 19c 之前的数据库版本。
下载 Oracle JDBC 驱动程序 JAR
您可以从 Oracle 的 JDBC 驱动程序下载页面下载 JDBC 驱动程序。
我们建议使用 ojdbc8.jar JAR。
将 Oracle JDBC 驱动程序 JAR 添加到 Metabase 插件目录
在您的 Metabase 目录(您存放和运行 metabase.jar 的目录)中,创建一个名为 plugins 的目录(如果它尚不存在)。
将您刚刚下载的 JAR(ojdbc8.jar)移到插件目录中,然后重启 Metabase。Metabase 在重新启动时将自动使 Oracle 驱动程序可用。
从 JAR 运行时
默认情况下,插件目录名为 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 的文档。