1.创建文件夹

1
2
3
4
5
6
# 先创建oracle家目录
mkdir -p /usr/local/docker/oracle11g
# 进入oracle家目录
cd /usr/local/docker/oracle11g
# 创建数据持久化目录
mkdir data

2.编写启动脚本

1
2
3
4
5
6
7
8
9
10
11
12
# 创建文件start.sh
vim start.sh
# 复制如下内容进start.sh
docker run -d \
--name oracle11g \
--privileged=true \
--restart=always \
-p 1521:1521 \
-v data:/data/oracle/ \
registry.aliyuncs.com/helowin/oracle_11g
# 保存&退出
wq

3.启动脚本

1
sh start.sh

4.进入oracle容器

1
docker exec -it oracle11g bash

5.配置初始化密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# root密码helowin
su root
# 配置sqlplus环境变量
vi /etc/profile
# 文件末尾加入
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export PATH=$ORACLE_HOME/bin:$PATH
# 添加软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
# 配置初始化密码
su - oracle
source /etc/profile
# 连接oracle数据库
sqlplus /nolog
conn /as sysdba
# 修改system用户账号密码
alter user system identified by system123;
# 修改sys用户账号密码
alter user sys identified by sys123;
# 创建内部管理员账号密码
create user root identified by notming123;
# 将dba权限授权给内部管理员账号和密码;
grant connect,resource,dba to root;
# 修改密码规则策略为密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
# 修改数据库最大连接数据;
alter system set processes=1000 scope=spfile;

# 重启数据库,关闭数据库
shutdown immediate;
# 启动数据库
startup;

6.连接信息

1
2
3
4
url: jdbc:oracle:thin:@//ip:1521/helowin
url: jdbc:oracle:thin:@ip:1521:helowin
username: root
password: notming123