Win10 docker部署 oracle12

Win10 docker部署 oracle12

前言

oracle的win10安装时比较费劲的,在安装的过程中,只要某一个环节出错,都有可能导致你整个服务不可用,然后系统中的oracle就相当于一个摆设了,卸载起来比较麻烦,除了单纯地通过控制面板 - 卸载程序,是卸载不干净的,还要手动去删除注册表,不小心将注册表误删/错删,其他应用就不可用了,严重的,系统可能会出现一点问题,所以,我觉得用容器化去部署oracle12,非常重要,当然这是自娱自乐的。本地测试使用比较好。

容器环境

目前比较流行的容器技术就是docker,所以我们需要在系统中安装docker Desktop工具。下载链接:https://www.docker.com/get-started,安装过程并不复杂。
安装完成之后,配置国内相对比较快的加速镜像服务器。如图所示:
在这里插入图片描述
选择settings:在这里插入图片描述
第一个是个人的阿里云镜像加速器,要用自己去申请。
网易:https://hub-mirror.c.163.com/
七牛云:https://reg-mirror.qiniu.com

oracle12的镜像

通过命令搜索:

docker search oracle

在这里插入图片描述
选择描述中显示copy of sath89/oracle-12c该镜像进行拉取:

docker pull truevoly/oracle-12c

该镜像比较大,时间会比较久,如果本地下载很慢的话,且不想等很久,建议使用阿里云镜像加速器,很快,地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
在这里插入图片描述
镜像完成下载后就是利用docker去运行镜像了。

运行镜像

我是通过docker-compose文件去执行的,贴出里面内容:

version: "3"
services:
  oracle-12c:
    image: registry-internal.cn-hangzhou.aliyuncs.com/oct/oracle-12c
    ports:
      - "8099:8080"
      - "1521:1521"
    environment:
      - WEB_CONSOLE=false
      - DBCA_TOTAL_MEMORY=1024
      - TZ=Asia/Shanghai
      - IMPORT_FROM_VOLUME=true
    volumes:
      - /E/DockerData/oracle/data:/data
      - /E/DockerData/oracle/mnt:/mnt
    container_name: oracle_12c


    #docker run -d --name oracle -p 8087:8080 -p 1521:1521 -v /E/ockerData/oracle/mnt:/mnt -v /E/DockerData/oracle/data:/u01/app/oracle -e TZ=Asia/Shanghai registry-internal.cn-hangzhou.aliyuncs.com/oct/oracle-12c

后面注释掉的是直接可以通过docker命令运行的;

运行之后的日志显示:

2020-08-11T02:45:37.627849372Z Database not initialized. Initializing database.
2020-08-11T02:45:37.638158971Z Starting tnslsnr
2020-08-11T02:45:52.167310448Z Copying database files
2020-08-11T02:45:52.214444959Z 1% complete
2020-08-11T02:46:04.500290488Z 3% complete
2020-08-11T02:46:04.526485495Z 11% complete
2020-08-11T02:46:44.530772558Z 18% complete
2020-08-11T02:47:34.536193189Z 26% complete
2020-08-11T02:47:39.217292954Z 37% complete
2020-08-11T02:47:39.218889554Z Creating and starting Oracle instance
2020-08-11T02:48:03.478852891Z 40% complete
2020-08-11T02:48:10.803260971Z 45% complete
2020-08-11T02:51:43.861129800Z 50% complete
2020-08-11T02:51:44.298604707Z 55% complete
2020-08-11T02:51:45.261419223Z 56% complete
2020-08-11T02:51:46.113015238Z 60% complete
2020-08-11T02:51:46.113626038Z 62% complete
2020-08-11T02:51:46.114579038Z Completing Database Creation
2020-08-11T02:55:10.235189300Z
2020-08-11T02:55:10.235375900Z PL/SQL procedure successfully completed.
2020-08-11T02:55:10.235385500Z
2020-08-11T02:55:10.250473400Z Starting import from '/docker-entrypoint-initdb.d':
2020-08-11T02:55:10.258941400Z ls: cannot access /docker-entrypoint-initdb.d/*: No such file or directory
2020-08-11T02:55:10.258961700Z Import finished
2020-08-11T02:55:10.258971000Z
2020-08-11T02:55:10.258974400Z Database ready to use. Enjoy! ;)
2020-08-11T03:34:11.816308855Z Terminated
2020-08-11T05:11:11.178876204Z found files in /u01/app/oracle/oradata Using them instead of initial database
2020-08-11T05:11:15.233445131Z ORACLE instance started.
2020-08-11T05:11:15.253678738Z
2020-08-11T05:11:15.253732738Z Total System Global Area  805306368 bytes
2020-08-11T05:11:15.253759738Z Fixed Size                   2929552 bytes
2020-08-11T05:11:15.253795138Z Variable Size              318770288 bytes
2020-08-11T05:11:15.253837438Z Database Buffers   478150656 bytes
2020-08-11T05:11:15.253873738Z Redo Buffers                 5455872 bytes
2020-08-11T05:11:19.427077251Z Database mounted.
2020-08-11T05:11:21.730643925Z Database opened.
2020-08-11T05:11:21.736795014Z Disabling web management console
2020-08-11T05:11:22.537255076Z
2020-08-11T05:11:22.537349075Z PL/SQL procedure successfully completed.
2020-08-11T05:11:22.537358875Z
2020-08-11T05:11:22.540568769Z Starting import from '/docker-entrypoint-initdb.d':
2020-08-11T05:11:22.545722759Z ls: cannot access /docker-entrypoint-initdb.d/*: No such file or directory
2020-08-11T05:11:22.545834859Z Import finished
2020-08-11T05:11:22.545843159Z
2020-08-11T05:11:22.545872059Z Database ready to use. Enjoy! ;)

这个日志是我已经创建了自己内部的账户,重启的日志,起始运行的话,后半部分内存占用情况是没有的,最终输出Database ready to use. Enjoy! 😉,表示已经成功了。该oracle实例镜像信息:

hostname:localhost
port:1521
sid:xe
username:system
password:oracle

进入容器:

C:\Users\hspcadmin> docker exec -it 容器id /bin/bash
#切换到oracle用户
root@5fa2e222e1f1:/# su oracle
#使用sysdba登录
oracle@5fa2e222e1f1:/$ $ORACLE_HOME/bin/sqlplus / as sysdba
#创建表空间 及表数据存储路径
oracle@5fa2e222e1f1:/$ create tablespace 表空间名称 datafile 表空间路径 size 3000m
#创建用户默认使用哪个表空间
oracle@5fa2e222e1f1:/$ create user 用户名 identified by 密码 default tablespace 刚创建表空间名称
#给用户赋权限
oracle@5fa2e222e1f1:/$ grant dba,connect to 用户名

完成之后退出镜像系统,返回原有系统。通过工具连接oracle。

连接Oracle

使用navicat连接(工具随意,看个人爱好)
在这里插入图片描述
点击测试连接
在这里插入图片描述
大功告成,可以开用。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值