Docker 安装 Oracle 数据库
Cyanpink Lv2

Oracle11g


使用阿里云镜像 , root以及数据库密码helowin

  1. 拉取镜像

    docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  2. 创建容器

    在主机创建/docker_volume/oracle11g_mydata目录存放数据文件

    docker run -d --restart=always -p 1521:1521 --name oracle11g \
    -v /docker_volume/oracle11g_mydata:/home/oracle/app/oracle/oradata/mydata \
    registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  3. 进入容器(root用户)

    docker exec -it -u root oracle11g bash
  4. 如果挂载了数据库目录,之后把数据库目录权限改成oracle用户

    chown oracle /home/oracle/app/oracle/oradata/mydata
  5. 配置oracle环境变量

    vi /etc/profile # 末尾添加下面三行
    export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
    export ORACLE_SID=helowin
    export PATH=$ORACLE_HOME/bin:$PATH
    source /etc/profile # 刷新配置
  6. 创建软连接

    ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
  7. 切换oracle用户并连接数据库

    如果提示SP2-0750:You may need to set ORACLE_HOME,再次执行source /etc/profile

    su oracle
    sqlplus / as sysdba
  8. 修改密码

    alter user system identified by 123456;
    alter user sys identified by 123456;
    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
    exit;
  9. 接下来通过plsql就可以连了

    sqlplus system/123456@127.0.0.1/helowin

Oracle19c


使用阿里云镜像 , root以及数据库密码helowin

  1. 拉取镜像

    docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
  2. 创建容器

    在主机创建/docker_volume/oracle19c_mydata目录存放数据文件

    docker run -d -p 1521:1521 -p 5500:5500 --restart=always --name oracle19c \
    -e ORACLE_SID=orcl \
    -e ORACLE_PDB=orclpdb1 \
    -e ORACLE_PWD=oracle19c \
    -e ORACLE_CHARACTERSET=zhs16gbk \
    -e ORACLE_BASE=/opt/oracle \
    -e ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 \
    -e PATH=/opt/oracle/product/19c/dbhome_1/bin:/opt/oracle/product/19c/dbhome_1/OPatch/:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
    -v /docker_volume/oracle19c_mydata:/opt/oracle/oradata \
    registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
  3. 进入容器

    docker exec -it oracle19c bash
  4. 创建表空间及用户

    用户名需要以’C##’开头不然报ORA-65096错误

    sqlplus system/oracle19c@orcl
    -- 创建表空间
    create tablespace ORACLE_DATA datafile '/opt/oracle/oradata/ORCL/ORACLE_DATA_1.DBF' size 128M autoextend on next 32m;
    -- 扩展表空间 HISDATA
    alter tablespace ORACLE_DATA add datafile '/opt/oracle/oradata/ORCL/ORACLE_DATA_2.DBF' size 128M autoextend on next 32m;
    -- Create the user
    create user C##cyanpink
    identified by cyanpink
    default tablespace ORACLE_DATA
    temporary tablespace TEMP;
    -- Grant/Revoke role privileges
    grant resource to C##cyanpink;
    grant dba to C##cyanpink;
    grant connect to C##cyanpink;
    -- Grant/Revoke system privileges
    grant unlimited tablespace to C##cyanpink;
  5. 用户登录

    sqlplus C##cyanpink/cyanpink@127.0.0.1/orcl
  • 本文标题:Docker 安装 Oracle 数据库
  • 本文作者:Cyanpink
  • 创建时间:2021-07-28 22:05:57
  • 本文链接:https://cyanpink.cn/2021/07/28/Docker-安装-Oracle-数据库/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论