Oracle
要添加数据库连接,请点击右上角的齿轮图标,然后导航到管理设置 > 数据库 > 添加数据库。
支持的版本
Metabase 支持从最旧支持版本到最新稳定版本的所有版本。请参阅 Oracle 的《当前数据库发布计划》。
编辑连接详情
您可以随时编辑这些设置。请记住保存您的更改。
显示名称
数据库在 Metabase 界面中的显示名称。
主机
您的数据库 IP 地址,或其域名(例如,esc.mydatabase.com)。
端口
数据库端口。例如,1521。
Oracle 系统 ID (SID)
通常是 ORCL 或 XE 之类的。如果使用服务名称,则可选。
Oracle 服务名称
可选的 TNS 别名。
用户名
您希望用于连接数据库的账户的数据库用户名。您可以使用不同的用户账户设置到同一数据库的多个连接,每个连接具有不同的权限集。
密码
用于连接数据库的用户名对应的密码。
使用安全连接 (SSL)
您可以同时使用客户端和服务器身份验证(称为相互身份验证)。
连接到 Oracle 云自治数据库
如果您的数据库配置为需要相互 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 不再支持 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 版本的文档。