docker下安装oracle11g

本文详述了使用Docker拉取阿里云的Oracle11g镜像,并完成环境配置及连接的全过程。从镜像拉取、容器创建、环境变量设置、软连接建立,到修改用户密码、Navicat连接,每一步都附有具体命令。

Docker 拉取 oracle 11g镜像配置
开始记录docker拉取阿里的oracle11g 镜像并进行配置,
用pl/sql 可以登录为最终结果
navicat连接是在最后一步

但是根据这个进行配置会有一些问题,所以写这篇记录一下,希望可以帮助其他人

开始:

1. 开始拉取镜像-执行命令:

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
下载的过程少长,等待吧,喝杯咖啡,休息一会!(镜像6.8G)
下载完成后 查看镜像: docker images
在这里插入图片描述
可以看到已经下载好了

2.创建容器

docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
这里说一下,命令后面的地址一定要是你下载的镜像地址也就是你拉取镜像名字,否则会出现名字已存在等问题!
如果创建成功能会返回容器id
在这里插入图片描述

3.启动容器

1.docker start oracle11g
在这里插入图片描述
2.进行软连接
sqlplus /nolog

发现没有这个命令,用不了
3.切换到root 用户下
su root
密码:helowin
注意这里还是在容器当中。。有朋友退去了。。。。。。。
4.编辑profile文件配置ORACLE环境变量

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
 
export ORACLE_SID=helowin
 
export PATH=$ORACLE_HOME/bin:$PATH

vi /etc/profile
在这里插入图片描述
保存并退出 :wq
5.创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
6.切换到oracle 用户
这里还要说一下,一定要写中间的内条 - 必须要,否则软连接无效
在这里插入图片描述

5.登录sqlplus并修改sys、system用户密码

sqlplus /nolog
conn /as sysdba
在这里插入图片描述
接着执行下面命令
alter user system identified by system;

alter user sys identified by sys;

也可以创建用户 create user test identified by test;

并给用户赋予权限 grant connect,resource,dba to test;
注意了这里的坑开始出现了
当执行修改密码的时候出现 : database not open
提示数据库没有打开,不急按如下操作
输入:alter database open;

注意了:这里也许还会提示 : ORA-01507: database not mounted
在这里插入图片描述
解决方法

输入:alter database mount;

输入 :alter database open;
然后就可执行 修改数据库密码的命令了

改完之后输入:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
刷新下表

exit 是退休sql 软连接

navicat连接

有几个朋友用的是navicat连的所以故此添加这一步

打开navicat后(navicat12不用配置oci.dll文件了)

直接新建连接
在这里插入图片描述

### 安装配置 Oracle 11g 数据库镜像 #### 准备工作 为了在 Docker 中成功安装和配置 Oracle 11g 数据库,需先准备必要的文件夹结构以及获取合适的 Docker 镜像。 创建用于存储数据的工作目录,并初始化 `docker-compose.yml` 文件: ```bash mkdir -p oracle/data cd oracle touch docker-compose.yml ``` #### 获取镜像 拉取适合的 Oracle 11g 的 Docker 镜像。推荐使用来自阿里云仓库中的 helowin 提供的镜像,因其稳定性较好[^3]。 执行如下命令来下载该镜像: ```bash docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g ``` 确认已成功下载镜像: ```bash docker images ``` #### 启动容器 通过指定参数启动容器,确保能够持久保存数据库文件至主机磁盘,并开放必要端口以便外部访问。这里采用 `-v` 参数映射本地路径 `/home/oracle` 到容器内的 `/data/oracle` 路径下;同时设置容器重启策略为始终自动重启(`--restart=always`)以提高服务可用性。 具体命令如下所示: ```bash docker run --privileged -d \ --restart=always \ -v /home/oracle:/data/oracle \ -p 1521:1521 \ --name oracle11g \ registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g ``` 此操作会基于所选镜像创建一个新的名为 "oracle11g" 的容器实例,在后台持续运行并监听默认的 Oracle 端口号 (即 1521),允许远程连接到新建立的数据库服务器。 #### 使用 Docker Compose 方式简化管理 如果希望进一步简化多服务应用的管理和部署流程,则可以考虑编写 `docker-compose.yml` 来定义所需的服务及其依赖关系。下面是一个简单的例子,它描述了一个仅含单个 Oracle 服务的应用场景[^1]。 ```yaml version: '3' services: db: image: registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g container_name: oracle11g ports: - "1521:1521" volumes: - ./data:/data/oracle restart: always ``` 之后只需在一个命令中即可完成上述所有步骤: ```bash docker-compose up -d ``` 这将依据配置文件的内容构建相应的网络环境和服务集群,极大地方便了日常运维工作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值