我在服务器上部署某个第三方系统的数据库的时候,服务器数据库版本为oracle 12c。我采用的方式是新建了一个实例。访问正常。
后来项目的负责人告诉我,oracle12C支持所谓的可插拔数据库。可插拔?这是什么鬼?我立刻在网上寻寻觅觅,找到的示意图,真的将数据库画成一个个U盘的形状。哇!真的可插拔呀!高大上!我看好你哟。
但是,所谓的可插拔,不就是一个数据库实例下,挂着一个个数据库么?SQL SERVER好像早就有了,却从不未见它吹嘘什么可插拔。Oracle不是号称关系型数据库里的老大么?
负责人说,多个实例太耗资源了,要可插拔。于是将数据库从我建的实例中导到某个实例里(ORACLE应该管这个实例叫容器数据库吧。。。)
于是,原本可以正常访问的系统故障了。
我将该系统的配置文件改来改去,终于发现是jdbc的连接串问题。
如果传统样式,数据库部署在实例中,连接串应该酱紫写:
jdbc:oracle:thin:@192.168.0.1:1521:SSO
(假设实例名为SSO)
如果是所谓可插拔数据库,数据库名为PDBSSO,则连接串应该酱紫:
jdbc:oracle:thin:@192.168.0.1:1521/PDBSSO
可插拔,插插拔拔,不停地插进拔出,呵呵
另外,tomcat下,配置文件如果带有汉字注释,最好去掉。否则,有时会导致报错。