前言
Docker 镜像
本文直接使用 DockerHub 平台上的 Oracle 11g 镜像,基于 Ubuntu 18.04 LTS 系统,数据库版本是 Oracle Express Edition 11g Release 2(11.2.0.2.0
)。
Oracle 版本列表
在 Oracle 数据库的发展中,数据库一直处于不断升级状态,一共有以下几个版本:
Oracle 8i
:Oracle 8i 表示 Oracle 正式向 Internet 上发展,其中 i 表示就是 internet。Oracle 9i
:Oracle 8i 是一个过渡版本,Oracle 9i 是一个更加完善的数据库版本。Oracle 10g
:g 表示 grid,代表网格的意思,即这种数据库采用网格计算的方式进行操作。Oracle 11g
:是 Oracle 10g 的稳定版本,Oracle 11g 是目前使用最广泛的版本。Oracle 12c
:是 Oracle 2013 年推出的数据库版本,c 代表 Cloud,代表云计算的意思,同时 Oracle 12c 支持大数据的处理能力。Oracle 18c、Oracle 19c
是对 12c 版本的完善和发展。
快速开始
拉取镜像
启动容器
- 出于性能考虑,启动容器时可能需要禁用磁盘异步 IO
1 2 3
| # 登录 http://localhost:8080/apex/apex_admin 并使用以下账号 username: ADMIN password: admin
|
对于最新的 APEX(18.1)用户,请先拉取 oracleinanutshell/oracle-xe-11g:18.04-apex
镜像
1 2 3
| # 登录 http://localhost:8080/apex/apex_admin 并使用以下账号 username: ADMIN password: Oracle_11g
|
Oracle 连接密码
默认情况下,密码验证是禁用的(密码永不过期),可以使用以下配置信息连接 Oracle 数据库
1 2 3 4 5
| hostname: localhost port: 1521 sid: xe username: system password: oracle
|
提示
SYS
和 SYSTEM
用户的默认密码都是 oracle
。
Oracle 连接测试
1 2 3 4 5
| SQL> conn system/oracle
SQL> SELECT BANNER FROM V$VERSION;
|
Docker-Compose 使用
1 2 3 4 5 6 7 8
| version: '3'
services: oracle-db: image: oracleinanutshell/oracle-xe-11g:latest ports: - 1521:1521 - 8080:8080
|
Java 连接 Oracel 数据库
下载 Oracle 驱动包
由于 Oracle 授权的问题,无法从 Maven 中央仓库下载 Oracle 的数据库驱动包,Oracle 11g 的数据库驱动包可以 点击这里 下载得到。
Maven 引入 Oracle 驱动包
将 Oralce 数据库驱动包存放到项目中的 lib
目录下,然后使用以下方式让 Maven 引入驱动包依赖。当然也可以使用其他方式引入,例如直接使用 Maven 命令 mvn install
将驱动包安装到本地仓库,接着按照平时的方式直接引入驱动包依赖即可,这里不再累述。
1 2 3 4 5 6 7
| <dependency> <groupId>oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.2.0</version> <scope>system</scope> <systemPath>${project.basedir}/lib/ojdbc6.jar</systemPath> </dependency>
|
配置 Oracle 的 JDBC 连接信息
1 2 3 4
| driver-class-name=oracle.jdbc.OracleDriver url=jdbc:oracle:thin:@localhost:1521:xe username=system password=oracle
|