最近在Oracle Cloud Free Tier 上部署使用metabase 分析工具,由于oracle提供的免费自治数据库是使用wallet连接,Metabase部署文档中没有明确说明如何使用Oracle Wallet连接数据库,经过多番尝试,在java vm启动参数中将oracle wallet环境配置好,可以很方便的连接到免费的oracle 自治数据库。
配置步骤
1 下载 metabase
wget https://downloads.metabase.com/v0.44.3/metabase.jar
2、运行
java -jar metabase.jar
运行退出后,可以看到,同级目录下,有一个 plugins
目录,我们需要把下载的ojdbc驱动保存在这个目录下
3、下载oracle驱动
从 https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html下载 ojdbc11-full.tar.gz
记住,一定要下载 ojdbcxx-full的驱动文件,因为我们使用wallet时不仅需要
ojdbc11.jar
,还需要oraclepki.jar
,osdt_cert.jar
和osdt_core.jar
4、带参数运行metabase
java -classpath ./plugins/oraclepki.jar:./plugins/osdt_cert.jar:./plugins/osdt_core.jar:. \
-Doracle.net.tns_admin=/data/instantclient_19_10/network/admin \
-Doracle.net.wallet_location="(SOURCE=(METHOD=file)(METHOD_DATA=(DIRECTORY=/data/instantclient_19_10/network/admin)))" \
-Doracle.net.ssl_server_dn_match=true -jar metabase.jar
参数:
- Doracle.net.tns_admin : instantclient的admin目录
- Doracle.net.wallet_location : wallet目录
5、添加数据库连接
打开wallet包中的tnsnames.ora文件,查看high,low,medium中的任意一项配置,取值:
- host
- service_name
Metabase中,新增ORACLE数据库,参数配置如下图:
保存配置完成测试