一、部署Oracle
1. 拉取Oracle镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2.创建挂载文件的文件夹
mkdir -p /dockerImageFile/oracle/data/
3.创建临时Oracle容器
docker run --name oracle_temp -p 1500:1521 --privileged=true -d registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest
说明:这一步主要是为了创建临时容器,将临时容器的文件复制到主机中
4.复制临时Oracle容器内文件到主机中
docker cp oracle11g:/home/oracle/app/oracle/oradata/ /dockerImageFile/oracle/data/
5.修改挂载目录所属用户和用户组
chown -R 500:500 /dockerImageFile/oracle/
6.删除临时容器
docker rm -f oracle_temp
7.创建正式容器
docker run --name oracle11g -p 1521:1521 --privileged=true -d -v /dockerImageFile/oracle/data/oradata:/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest
二、Oracle用户操作
1.进入Oracle容器中
docker exec -it oracle11g bash
2. 删除
rm -rf /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
3.复制
cp /home/oracle/app/oracle/oradata/helowin/control01.ctl /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
4.退出容器,并重启容器
exit
docker restart oracle11g
5.再次进入容器内,设置用户信息
docker exec -it oracle11g bash
6.设置环境变量
source ~/.bash_profile
7.登入sqlplus
sqlplus / as sysdba
8.修改sys,system密码
修改system密码为123456
alter user system identified by 123456;
修改sts密码为123456
alter user sys identified by 123456;
9创建test用户,密码为123456
create user test identified by 123456;
10.将dba权限授权给内部管理员账
-- golaxy_orcl 为账号
grant connect,resource,dba to golaxy_orcl;
11.修改密码规则策略为密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
12.修改数据库最大连接数据
alter system set processes=1000 scope=spfile;
shutdown immediate;
startup;
13 最后退出容器,使用plsql测试
exit
# 重启容器
docker restart oracle
14 配置tnsnames.ora文件
localhost =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.87.128)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = helowin)
)
)
总结
一次按照上述步骤,即可实现docker环境下oralce的部署