1.docker安装 卸载旧版本docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装必要的安装包
yum install -y yum-utils
设置镜像仓库(阿里)
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum索引
yum makecache fast
安装docker docker-ce 为社区版本 docker-ee 为企业版
yum install docker-ce docker-cli containerd.io
启动docker
systemctl start docker
2.oracle19c安装 下载
docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
创建文件夹并且赋予权限(防止权限不足,直接改为777,测试可以这样,正式请勿直接加此权限)
mkdir -p /mydata/oracle/oradatachmod 777 /mydata/oracle/oradata
运行容器(密码为 ORACLE_PWD)
docker run -d\
-p 1521:1521 -p 5500:5500 \
-e ORACLE_SID=ORCLCDB \
-e ORACLE_PDB=ORCLPDB1 \
-e ORACLE_PWD=123456 \
-e ORACLE_EDITION=standard \
-e ORACLE_CHARACTERSET=AL32UTF8 \
-v /mydata/oracle/oradata:/opt/oracle/oradata \
--name orcl19c \
registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
运行成功,会打印出一串字符串,为容器ID
【数据库篇|Docker内安装Oracle19c(踩坑版放心安装)】如果执行失败,按需要执行如下命令(可以重新创建容器)
# 查看历史容器
docker ps -a
# 查看正在运行的容器
docker ps
# 删除容器
docker rm 容器id
进入容器(将oracle容器id换成你自己的id,docker ps 可以查看你的容器id,下面附截图)
docker exec -it oracle容器id bash
文章图片
创建表空间文件所需要的文件夹,当前登陆的用户为oracle,由于我也不知道容器初始化的root密码是什么,所以只能在有权限的文件夹下面创建
cd /home/oraclellmkdir datafilechmod 777 datafile
以dba的方式连接oracle
sqlplus / as sysdba
查看编码格式是否正确(如果编码格式跟你要求的不一样,建议删除镜像,再重新执行命令,修改创建镜像时的编码,因为手动修改oracle编码也很麻烦)
select userenv('language') from dual;
创建表空间以及赋予权限(注意19c数据库用户名前面的c##必需要有)
创建账号密码表空间
create tablespace 表空间名字 datafile '/home/oracle/datafile/datafile2.dbf' size 100m autoextend on next 20m;
create user c##用户名 identified by 密码 default tablespace 表空间名字;
grant dba to c##用户名;
如果第二个创建用户失败,往下看
show con_name
文章图片
select name,open_mode from v$pdbs;
文章图片
alter session set container=ORCLPDB1;
切换完库之后
创建一个与另一个库一样名字的表空间,但是dbf文件名字不能一样
如果你完全按照我的步骤走的话,执行下面的语句(注意你的表空间名字),否则按你的文件名字改下就可以
create tablespace 表空间名字 datafile '/home/oracle/datafile/datafile1.dbf' size 100m
然后返回去创建账号密码并且分配权限即可
自此,19c在docker中安装完毕!
推荐阅读
- 微服务|【黑马-SpringCloud技术栈】【08】Docker_安装_自定义镜像_DockerCompose_搭建私有镜像仓库
- MySQL|MySQL慢SQL调优
- Java|MySQL调优之SQL语句(如何写出高性能SQL语句())
- 大数据|腾讯云云原生数据湖DLC重磅推出免运维、零成本、高性能spark shuffle manager
- Java学习之路|k8s集群添加新节点-主节点和工作节点
- 云原生|【云原生 | 22】Docker运行Web服务实战之Nginx
- 安全|【期末复习】网络空间安全导论
- mongodb|MongoDB集群和安全
- docker|Docker(十八)--Docker k8s--Kubernetes存储--Configmap配置管理