• Docker内安装Oracle19c(踩坑版放心安装)


    1.docker安装

    卸载旧版本docker 

    1. yum remove docker \
    2. docker-client \
    3. docker-client-latest \
    4. docker-common \
    5. docker-latest \
    6. docker-latest-logrotate \
    7. docker-logrotate \
    8. docker-engine

    安装必要的安装包

    yum install -y yum-utils

    设置镜像仓库(阿里)

    1. yum-config-manager \
    2. --add-repo \
    3. 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,测试可以这样,正式请勿直接加此权限)

    1. mkdir -p /mydata/oracle/oradata
    2. chmod 777 /mydata/oracle/oradata

    运行容器(密码为 ORACLE_PWD)

    1. docker run -d \
    2. -p 1521:1521 -p 5500:5500 \
    3. -e ORACLE_SID=ORCLCDB \
    4. -e ORACLE_PDB=ORCLPDB1 \
    5. -e ORACLE_PWD=123456 \
    6. -e ORACLE_EDITION=standard \
    7. -e ORACLE_CHARACTERSET=AL32UTF8 \
    8. -v /mydata/oracle/oradata:/opt/oracle/oradata \
    9. --name orcl19c \
    10. registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

    运行成功,会打印出一串字符串,为容器ID

    如果执行失败,按需要执行如下命令(可以重新创建容器)

    1. # 查看历史容器
    2. docker ps -a
    3. # 查看正在运行的容器
    4. docker ps
    5. # 删除容器
    6. docker rm 容器id

    进入容器(将oracle容器id换成你自己的id,docker ps 可以查看你的容器id,下面附截图)

    docker exec -it oracle容器id bash

    创建表空间文件所需要的文件夹,当前登陆的用户为oracle,由于我也不知道容器初始化的root密码是什么,所以只能在有权限的文件夹下面创建

    1. cd /home/oracle
    2. ll
    3. mkdir datafile
    4. chmod 777 datafile

     以dba的方式连接oracle

    sqlplus / as sysdba

    查看编码格式是否正确(如果编码格式跟你要求的不一样,建议删除镜像,再重新执行命令,修改创建镜像时的编码,因为手动修改oracle编码也很麻烦)

    select userenv('language') from dual;

    创建表空间以及赋予权限(注意19c数据库用户名前面的c##必需要有)

    创建账号密码表空间

    1. create tablespace 表空间名字 datafile '/home/oracle/datafile/datafile2.dbf' size 100m autoextend on next 20m;
    2. create user c##用户名 identified by 密码 default tablespace 表空间名字;
    3. 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中安装完毕!

  • 相关阅读:
    92.(leaflet篇)leaflet态势标绘-进攻方向采集
    httprunner中使用JMESPath进行数据提取技巧
    集合框架面试题
    CentOS7 挂载镜像为本地YUM源
    传奇登录器打不开的四种原因
    浅谈叉车车载电脑的市场现状
    吃透阿里大佬私藏的这本 Java 进阶核心手册, 侥幸入职 P7
    HTML+CSS个人静态网页设计
    代码源每日一题div1 区间和
    Linux高并发服务器开发—多线程
  • 原文地址:https://blog.csdn.net/weixin_44231805/article/details/126289535