Metabase Pleo



v0.39.0.1 / Administration Guide / Oracle

Microsoft is here to help you with products including Office, Windows, Surface, and more. Find articles, videos, training, tutorials, and more. Here's what people are saying about Metabase. Super impressed with @metabase! We are using it internally for a dashboard and it really offers a great combination of ease of use, flexibility, and speed. Paavo Niskala (@Paavi) December 17, 2019. @metabase is the most impressive piece of software I’ve used in a long time.

Working with Oracle in Metabase

Starting in v0.20.0, Metabase provides a driver for connecting to Oracle databases. Under the hood, Metabase uses Oracle’s JDBC driver; due to licensing restrictions, we can’tinclude it as part of Metabase. Luckily, downloading it yourself and making it available to Metabase is straightforward and only takes a few minutes.

Downloading the Oracle JDBC Driver JAR

You can download the JDBC driver from Oracle’s JDBC driver downloads page.Head to this page, accept the license agreement, and download ojdbc8.jar:

Before downloading this JAR you may need to sign up for a free account with Oracle. We have had success with the latest version at the time of this writing, 19.3 (even with older Oracle 12c databases), but any version should work.

Adding the Oracle JDBC Driver JAR to the Metabase Plugins Directory

Metabase will automatically make the Oracle driver available if it finds the Oracle JDBC driver JAR in the Metabase plugins directory when it starts up.All you need to do is create the directory, move the JAR you just downloaded into it, and restart Metabase.

Connecting with SSL

To connect to Oracle via SSL and enable encryption, check the Use a secure connection (SSL)? option on the connectionsetup page. You can add other SSL features (including client and/or server authentication) as explained below. You canuse both client and server authentication (known as mutual authentication).

Metabase Port

Server authentication

To configure the client (Metabase) to authenticate the identity of the server (the Oracle server), you may need toconfigure a truststore file that includes the server’s root CA, so that the JVM running Metabase trusts itscertificate chain. Refer to theOracle documentation on using keytool tomanage key and truststore files, importing certificates, etc. Once you have a truststore file ready, add thefollowing JVM options for Metabase:

With this done, the SSL connection to Oracle will authenticate the server.

For more information on setting up a truststore for AWS RDS Oracle instances, see theinstructions provided by Amazon.Note that if you require connecting to other databases using SSL, instead of creating a new truststore, as shown inthose examples, you’ll probably want to add the RDS CA to your existing truststore file (likely called cacerts),

Client authentication

To configure the server (the Oracle server) to authenticate the identity of the client (Metabase), you need toconfigure a keystore file that includes the client’s private key. The steps are almost identical to thoseabove, except that you will import the client’s private key into the keystore rather than a root CA into a truststorefile.

With this done, the Oracle server will authenticate Metabase using the private key when Metabase tries to connect overSSL.

When running from a JAR

Example

By default, the plugins directory is called plugins, and lives in the same directory as the Metabase JAR.

For example, if you’re running Metabase from a directory called /app/, you should move the Oracle JDBC driver JAR to /app/plugins/:

When running the Mac App

If you’re running Metabase from the Mac App, the plugins directory defaults to ~/Library/Application Support/Metabase/Plugins/:

Metabase Percentile

Finally, you can choose a custom plugins directory if the default doesn’t suit your needs by setting the environment variable MB_PLUGINS_DIR.

Metabase

When running from Docker

Metabase Permissions

The process for adding plugins when running via Docker is similar, but you’ll need to mount the plugins directory. Refer to instructions here for more details.