Oracle的Docker制作


1、制作镜像文件

1)拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2)导出镜像

docker save -o oracle_11g.tar registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest

2、离线安装教程

1)加载镜像

docker load < oracle_11g.tar

2)先创建一个临时容器

docker run --name oracle_temp -p 1500:1521 --privileged=true -d registry.cn-hangzhou.aliyuncs.com/
helowin/oracle_11g:latest

#把临时容器中的oradata目录拷贝到正式容器要挂在的目录拷贝容器中的oradata目录

mkdir -p /data/app/oracle/oradata
docker cp oracle_temp:/home/oracle/app/oracle/oradata/ /data/app/oracle

#修改挂载目录所属用户和用户组

chown -R 500:500 /data/app/oracle/oradata/

#删除临时容器

docker rm -f oracle_temp

3)创建正式容器

命令:

docker run --name docker_oracle -p 1521:1521 --privileged=true -d -v /data/app/oracle/oradata:/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest
#进入容器
docker exec -it docker_oracle bash
#删除
rm -rf /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
#拷贝
cp /home/oracle/app/oracle/oradata/helowin/control01.ctl /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
#退出
exit;

重启

docker restart docker_oracle

#进入容器

docker exec -it docker_oracle bash

#环境变量

source ~/.bash_profile
sqlplus / as sysdba

#登录sqlplus
#修改system用户账号

alter user system identified by system;
#修改sys用户账号
alter user sys identified by system;
#创建内部管理员账号,创建一个用户名为golaxy_orcl的用户,密码为 oracle_cn
#create user golaxy_orcl identified by oracle_cn;
#将dba权限授权给内部管理员账
grant connect,resource,dba to golaxy_orcl;
#修改密码规则策略为密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
#修改数据库最大连接数据
alter system set processes=1000 scope=spfile;
shutdown immediate;
startup;

3、创建表空间

#进入容器
docker exec -it docker_oracle bash
#登录
source ~/.bash_profile
sqlplus / as sysdba
#创建表空间
create tablespace jobforge_dev datafile '/home/oracle/app/oracle/oradata/helowin/jobforge_dev.dbf' size 500m autoextend on next 10m maxsize unlimited;
创建用户
CREATE USER jobforge_dev IDENTIFIED BY jobforge_dev DEFAULT TABLESPACE jobforge_dev QUOTA UNLIMITED ON jobforge_dev;
grant create session to jobforge_dev;
grant connect,resource to jobforge_dev;
grant unlimited tablespace to jobforge_dev;
grant create any table to jobforge_dev;
grant drop any table to jobforge_dev;
grant insert any table to jobforge_dev;
grant update any table to jobforge_dev;
grant create view to jobforge_dev; 
SELECT * FROM v$nls_parameters WHERE parameter IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
DROP USER jobforge_dev cascade;
DROP TABLESPACE jobforge_dev INCLUDING CONTENTS AND DATAFILES;

4、开启归档日志

非必需,如若要记录数据库数据变化,可开启归档日志
查看归档日志是否开启,Enable未开启状态,Disable为未开启状态

archive log list
#开启归档日志
ALTER system set db_recovery_file_dest_size = 50G;
shutdown immediate
startup mount
alter database archivelog;
alter database open;
archive log list;

文章作者: 运维网YUNWEI.WANG
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 运维网YUNWEI.WANG !
  目录