How to Connect DBeaver to Oracle Autonomous Database by JDBC Thin Driver

之前介绍了如何使用SQL Developer和使用PL/SQL Developer连接Oracle Autonomous Database。 但是实际上在macOS系统中,我更喜欢使用DBeaver这个GUI客户端来操作数据库,DBeaver是一款用Java编写的免费数据库工具,可以连接几十种数据库,包括RDBS,NoSQL,时序数据库,图数据库等等,非常丰富。 在DBeaver中连接Oracle ADB,需要使用Oracle JDBC驱动。这个解决方案是在Stackoverflow中找到的,有意思的是回答者是Jeff Smith,而Jeff是Oracle SQL Developer,Oracle SQL Developer Web,Oracle SQLcl等工具的产品经理。 下载最新的JDBC驱动 需要使用18.3版本以上的JDBC驱动,可以是18.3,也可以是19.3。下载地址分别是: Oracle Database 18c (18.3) drivers Oracle Database 19c (19.3) drivers 我们以18.3 JDBC Driver为例,下载ojdbc8-full.tar.gz,这个压缩包中包括ojdbc8.jar等一系列使用wallet连接Oracle ATP所必须的jar包。解压以后包含以下这些文件。 $ ls -l total 16640 -rw-r–r–@ 1 Kamus staff 2595 8 21 2018 README.txt -rwxr-xr-x@ 1 Kamus staff 11596 8 3 2018 ojdbc.policy…

How to Connect PL/SQL Developer to Oracle Autonomous Transaction Processing (ATP)

之前写过一篇如何使用SQL Developer连接Oracle Autonomous Database,那么如果主要使用的客户端并非Oracle SQL Developer,而是PL/SQL Developer的话,该如何连接呢? 首先,下载Oracle instant client,目前的最新版本是19.3。解压到任何目录都可以。如果你的Windows机器中已经安装了Oracle数据库软件,比如Oracle Database 18c (18.3) for Microsoft Windows x64,或者是Oracle客户端,比如Oracle Database 18c Client (18.3) for Microsoft Windows x64,那么可以跳过这一步。 其次,假设你已经按照我之前的那篇文章,下载了连接Oracle自治数据库服务的wallet zip文件,需要将该zip文件解压(在使用SQL Developer连接ATP或者ADW的时候无需解压zip文件)。 解压之后的目录中 包含了以下这些文件。 需要修改sqlnet.ora文件,将WALLET_LOCATION的位置修改为解压之后的目录的绝对地址。在我的机器上,修改以后如下: 然后,设置Windows系统的环境变量TNS_ADMIN到wallet文件解压目录,设置方法不再赘述。设置完毕以后echo命令显示如下: 最后,启动PL/SQL Developer,新增Connection。 新增Connection时候的Database处,填写wallet文件解压目录里tnsnames.ora文件中的任何一个连接串名称。 如果你的PL/SQL Developer没有自动探测到Oracle instant client的安装位置,那么可以在配置中手工指定。 现在,可以在PL/SQL Developer中访问ATP或者ADW服务了。 Enjoy the Oracle Cloud always free tier. 😀

How to Use Shared Disk PersistentVolumes for Oracle Kubernetes Engine (OKE) in Oracle Cloud Infrastructure (OCI)

上一篇文章我们尝试了在Oracle Cloud的容器云里创建了持久化卷,并且使用该卷创建了一个MySQL数据库的容器。这样数据库里的数据就保存在了容器外部,如果容器崩溃,那么Kubernetes会根据Deployment的定义,重新创建一个容器,而数据则不会丢失。 对于企业在使用存储来说,除了上述的数据持久性保存之外,共享性也是通常会考虑的一个因素,也就是一份存储上的数据同时被多个应用共享读写。 本文阐述如何在Oracle Cloud的容器云中创建和使用共享存储,在这篇文章中我们使用NFS的方式来实现共享。 创建文件系统 首先需要在Oracle Cloud的管理后台创建一个文件系统,菜单项位于File Storage->File Systems。 点击页面中的“Create File System”按钮,在新建文件系统的页面中点击“Edit Details”,可以对名字进行修改,实际上直接全部使用默认值也是可以的。 为了表意更清晰,我们将文件系统的名字修改为FileSystem-for-OKE,将Export路径修改为“/oke-export”,Mount Target名称不做变化。 这些Oracle Cloud中文件系统的术语的解释,可以参看官方文档。注意的是:其中Export路径在后续的容器配置中会使用到,不过这个路径的名称跟容器中会挂载到的路径没有任何关系,可以随意命名。 修改后的并且创建成功的文件系统,可以在管理后台中看到详细情况。 同样,通过oci命令行也可以获得创建成功的文件系统的信息。 $ oci fs file-system list \ > –compartment-id ocid1.tenancy.oc1..aaaaaaaaqxee2wwzpx3s6usguambydweb2q5yfx2y5ux3lwlrpaao4gdun7a \ > –availability-domain lOnA:AP-TOKYO-1-AD-1 { “data”: [ { “availability-domain”: “lOnA:AP-TOKYO-1-AD-1”, “compartment-id”: “ocid1.tenancy.oc1..aaaaaaaaqxee2wwzpx3s6usguambydweb2q5yfx2y5ux3lwlrpaao4gdun7a”, “defined-tags”: {}, “display-name”: “FileSystem-for-OKE”, “freeform-tags”: {}, “id”: “ocid1.filesystem.oc1.ap_tokyo_1.aaaaaaaaaaaafictnzzhillqojxwiotboawxi33lpfxs2mjnmfsc2mia”, “kms-key-id”: “”, “lifecycle-state”: “ACTIVE”, “metered-bytes”: 8704,…