news 2026/2/7 11:21:44

利用docker在windows 11 wsl中安装oracle 12cR2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
利用docker在windows 11 wsl中安装oracle 12cR2
  1. 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_12cr2_ee_lhr_12.2.0.1:2.0 Trying to pull registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_12cr2_ee_lhr_12.2.0.1:2.0... Getting image source signatures Copying blob 2bbf3863a307 done Copying config eb1a87913a done Writing manifest to image destination Storing signatures eb1a87913afe19faaa6c654619afcd3d724e9eb69c20e2246290259e6224faca
  1. 查看镜像
docker image list -a REPOSITORY TAG IMAGE ID CREATED SIZE registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_12cr2_ee_lhr_12.2.0.1 2.0 eb1a87913afe 5 years ago 16.2 GB
  1. 创建目录并设置权限

wsl环境, 在C盘d目录下建立oracle12g

cd /mnt/c/d mkdir -p oracle12g/ora_data mkdir -p oracle12g/data_temp chmod 777 oracle12g
  1. 启动容器

注意:不要使用刚才创建的目录,否则会找不到路径,如下所示

docker run -itd --name oracle12c \ --privileged=true \ --restart=always \ -p 1521:1521 \ -p 5500:5500 \ -p 5501:5501 \ -p 5522:22 \ -p 3389:3389 \ -v /mnt/c/d/oracle12g/data_temp:/home/oracle/data_temp \ -v /mnt/c/d/oracle12g/ora_data:/u01/app/oracle/ \ eb1a87913afe init 597bce2c1ffb181001a7adeae6318690170d0cfa7bc5b41db41a254ac2e377b5 docker exec -it oracle12c /bin/bash [root@597bce2c1ffb /]# su - oracle Last login: Fri Aug 21 11:24:52 CST 2020 on pts/4 [oracle@597bce2c1ffb ~]$ sqlplus system/oracle rlwrap: error: Cannot execute sqlplus: No such file or directory

这是因为rlwrap引用的路径被-v 参数指定到了刚才创建的宿主目录,那个目录下没有内容。
正确的写法如下,将刚才创建的目录映射到容器中一个无关的路径/par。在此之前先删除错误的容器。

docker stop oracle12c oracle12c docker rm oracle12c 597bce2c1ffb181001a7adeae6318690170d0cfa7bc5b41db41a254ac2e377b5 docker run -itd --name oracle12c \ --privileged=true \ --restart=always \ -p 1521:1521 \ -p 5500:5500 \ -p 5501:5501 \ -p 5522:22 \ -p 3389:3389 \ -v /mnt/c/d/oracle12g/ora_data:/par \ eb1a87913afe init 03796669a3be7c1ed904ae7d60724a06283af463abd32b06e63d0e273bd47392 docker exec -it oracle12c /bin/bash [root@03796669a3be /]# su - oracle Last login: Fri Aug 21 11:24:52 CST 2020 on pts/4 [oracle@03796669a3be ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sun Dec 21 10:26:12 2025 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to an idle instance.
  1. 启动数据库实例

直接启动报错

SYS@lhrcdb1> startup ORA-00821: Specified value of sga_target 768M is too small, needs to be at least 872M ORA-01078: failure in processing system parameters

用如下命令将spfile的内容保存到参数文件pfile(文件名是init+ORACLE_SID+.ora), 并退出sqlplus修改pfile相应行,然后进入sqlplus用参数文件pfile启动。

SYS@lhrcdb1> create pfile from spfile; File created. SYS@lhrcdb1> exit; Disconnected [oracle@03796669a3be dbs]$ ls hc_lhrcdb1.dat initlhrcdb1.ora lkLHRCDB1 orapwlhrcdb1 snapcf_lhrcdb1.f spfilelhrcdb1.ora hc_lhrsdb.dat init.ora lkLHRSDB orapwlhrsdb snapcf_lhrsdb.f spfilelhrsdb.ora [oracle@03796669a3be dbs]$ vi initlhrcdb1.ora [oracle@03796669a3be dbs]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sun Dec 21 10:35:35 2025 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to an idle instance. SYS@lhrcdb1> startup pfile='/u01/app/oracle/product/12.2.0.1/dbhome_1/dbs/initlhrcdb1.ora'; ORACLE instance started. Total System Global Area 1015021568 bytes Fixed Size 8800328 bytes Variable Size 771753912 bytes Database Buffers 226492416 bytes Redo Buffers 7974912 bytes Database mounted. Database opened.

数据库就可以使用了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/5 10:46:52

Excalidraw推荐系统架构图绘制实践

Excalidraw 在推荐系统架构图绘制中的实践探索 在技术团队频繁进行远程协作的今天,一张清晰、直观又富有表现力的架构图,往往比千言万语更能推动共识。尤其是在设计像推荐系统这样涉及数据流、模型迭代和多模块协同的复杂工程时,如何快速将抽…

作者头像 李华
网站建设 2026/2/5 0:44:20

Excalidraw机器学习Pipeline设计模板

Excalidraw 与 AI 的融合:构建智能设计协作新范式 在当今快节奏的技术开发环境中,一个常见的场景是:架构师在会议室里口若悬河地描述系统结构,“前端通过 API 网关调用用户服务,再异步通知日志中心……”,而…

作者头像 李华
网站建设 2026/2/7 1:35:35

为什么90%的团队在Open-AutoGLM适配中失败?真相令人震惊

第一章:为什么90%的团队在Open-AutoGLM适配中失败?真相令人震惊许多企业在引入 Open-AutoGLM 以实现自动化文本生成与推理时,往往高估了其开箱即用的能力,低估了底层架构适配的复杂性。真正导致项目失败的核心原因,并非…

作者头像 李华
网站建设 2026/2/6 3:15:47

Excalidraw量子计算算法结构图尝试绘制

Excalidraw 与量子计算:当手绘风格遇上算法结构设计 在一场远程的量子算法研讨会上,团队正试图解释 Grover 搜索的迭代机制。白板上密密麻麻的线条和门符号让人眼花缭乱,而某位成员脱口而出:“如果能一句话就画出这个电路该多好&a…

作者头像 李华
网站建设 2026/2/6 10:25:25

Excalidraw图形容器化组织方式介绍

Excalidraw图形容器化组织方式介绍 在现代软件团队的日常协作中,一张随手画出的架构草图,往往比千行文档更能快速传递设计意图。然而,当远程办公成为常态,白板从会议室搬到了浏览器里,我们却发现:很多“在线…

作者头像 李华
网站建设 2026/2/5 13:25:40

Excalidraw人工智能模型训练流程图解

Excalidraw与AI融合:从语言到图表的智能跃迁 在技术团队的日常协作中,一张清晰的架构图往往胜过千言万语。然而,无论是画一个简单的流程图还是设计复杂的微服务拓扑,传统绘图工具总是让人在“表达力”和“效率”之间艰难取舍——要…

作者头像 李华