Docker Desktop 安装Oracle 11g

本文详细介绍了如何在Docker环境下下载并启动Oracle 11g镜像,包括配置环境变量、创建软连接、修改用户密码、解锁及设置scott用户,最后通过Navicat测试数据库连接。过程中解决可能遇到的错误,如容器未运行的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.下载镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2.启动oracle镜像作为容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
3.进入镜像配置
docker exec -it oracle11g bash

注:如果出现Error response from daemon: Container is not runing

​ a.执行

  docker start  oracle11g

​ b.执行a无效的话,查看Docker Desktop 容器状态是否为EXITED(139),

​ 如果是,镜像版本问题导致。

​ 创建C:\Users\(用户名)\.wslconfig,里面写入

	[wsl2] 
	kernelCommandLine = vsyscall=emulate

​ 在cmd中执行

   	 wsl --shutdown

​ 重启Docker Desktop

4.进入root权限
su root

​ 密码:helowin

5.编辑配置文件
vi /etc/profile

按insert键进入编辑模式

在最下面加上

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2  export 

ORACLE_SID=helowin  

export PATH=$ORACLE_HOME/bin:$PATH

保存退出

6.创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
7.切换到oracle 用户
su - oracle
8.登录sqlplus并修改sys、system用户密码,设置密码永不过期
sqlplus /nolog

conn /as sysdba

alter user system identified by system

alter user sys identified by sys

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED
9.scott用户的开启

SCOTT 是 ORACLE 内部的一个实例用户,下面有 emp、dept 等实例表,这些表和表间的关系演示了关系型数据库的一些基本原理

alter user scott account unlock
alter user scott identified by abc
commit

10.使用Navicat 测试数据库连接

### 部署和运行Oracle数据库容器 #### 准备工作 为了在 Docker Desktop 上成功部署 Oracle 数据库,需先确认 Docker 已经正确安装启动。对于 Windows 和 Mac 用户来说,这通常意味着已经安装Docker Desktop 并正常运作。 #### 获取官方镜像 访问 Docker Hub 或者 Oracle 官方网站获取最新的 Oracle Database Enterprise Edition 的 Docker 镜像文件[^2]。使用 `docker pull` 命令拉取所需版本的 Oracle 数据库镜像到本地环境: ```bash docker pull store/oracle/database-enterprise:12.2.0.1 ``` 此命令会下载适用于企业版的 Oracle 12c 版本的镜像至用户的计算机中。 #### 启动容器实例 创建一个新的容器来承载 Oracle 数据库服务。可以指定端口映射、内存分配以及其他必要的配置参数。下面是一个典型的例子用于启动一个名为 "oracledb" 的新容器,并将其监听于主机上的特定 IP 地址与端口号之上: ```bash docker run -d --name oracledb \ -p 1521:1521 \ -e ORACLE_SID=ORCLCDB \ -e ORACLE_PWD=password \ store/oracle/database-enterprise:12.2.0.1 ``` 上述命令中的 `-e` 参数用来设置环境变量,在这里设置了 SID (System Identifier) 及管理员密码等重要信息[^1]。 #### 访问数据库 一旦容器顺利启动之后,就可以利用 SQL*Plus 或其他第三方工具连接到这个新的 Oracle 实例上了。默认情况下,可以通过如下方式登录: - 主机地址:取决于宿主机网络配置,默认为 localhost; - 端口:通常是 1521; - 用户名:SYS AS SYSDBA; - 密码:即之前设定的那个 ORACLE_PWD 的值。 #### 执行额外的任务 如果想要进一步定制化该 Oracle 数据库实例,则可能涉及到更多的操作,比如导入导出数据、备份恢复以及性能调优等方面的工作。这些都可以借助于 Oracle 提供的各种实用程序完成,例如 Data Pump Export/Import (`expdp`, `impdp`) 来处理大规模的数据迁移任务[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值