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
,并且与 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 的文档。