对于MySQL,MXJ连接器使launch a managed MySQL instance非常容易。
我知道Oracle提供Oracle XE进行快速设置,但我只找到了需要安装的RPM分发版。是否有一个整齐打包的jar我可以放入类路径并通过调用特定的JDBC url,一个HSQLDB或MXJ来启动?
我有兴趣让开发人员在本地使用它来运行测试,以及我们的持续集成服务器。
答案 0 :(得分:3)
简短的回答是否定的.Oracle是数据库的一大块。除此之外,它通常希望自己由自己的特殊用户而不是客户端用户运行。
为简单起见,您最好的选择是一个单独的数据库服务器,每个开发人员在数据库中都有自己的用户名/密码(因此也就是他们自己的独立模式)。
答案 1 :(得分:1)
虽然Oracle不提供嵌入式数据库,但启动运行Oracle XE的本地Docker容器可能是适应特定于Oracle的本地集成测试的理想方式。由于Docker容器在设计上本质上是短暂的,因此数据库也可以根据需要完全拆除,提供干净的沙盒。
我找到的DockerHub上的alexeiled/docker-oracle-xe-11g
图片具有特别清晰的设置和文档说明:https://hub.docker.com/r/alexeiled/docker-oracle-xe-11g/
旋转Docker容器后,请务必:
Reset Password...
。否则可能会引发以下错误java.lang.ArithmeticException when attempting to get connection in Oracle 11.2.0.2.0 (64 bit) 正如文档所述,docker run
命令也可以设计为在容器启动时自动运行SQL脚本,这在CI /集成测试工作流程中也非常有用。
希望这有帮助!