docker 安装 Oracle数据库
# docker 安装 Oracle数据库## 拉取镜像
```shell
## pull
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
## 查看
docker images | grep oracle
```
## 创建容器
```shell
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
```
## 启动容器
```shell
docker start oracle11g
```
> 若在启动容器出现以下错误
>
> (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 1521 -j DNAT --to-destination 172.17.0.2:1521 ! -i docker0: iptables: No chain/target/match by that name.
>
> 重启 docker 即可
进入镜像进行配置
```shell
docker exec -it oracle11g bash
```
> 1. 切换到 root 用户下
>
> su root
>
> helowin
>
> 2. 编辑 profile 文件配置 oracle 环境变量
>
> ```shell
> ## 打开环境变量配置文件
> vi/etc/profile
>
> ## 加入以下的环境变量配置
> export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhom_2
> export ORACLE_SID=helowin
> export PATH=$ORACLE_HOME/bin/$PATH
>
> # 环境变量生效
> source /etc/profile
> ```
>
> 3. 创建软连接(快捷方式)
>
> ```shell
> ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
> ```
>
> 4. 切换到 oracle 用户
>
> ```shell
> # 一定要加中间 - ,否则软连接无效
> su - oracle
> ```
>
> 5. 登录sqlplus 并修改 sys,system的用户密码
>
> ```shell
> sqlplus /nolog
>
> # 以 sysdba 的身份连接并操作数据库
> conn /as sysdba
>
> # 修改 system 的密码为 system
> alter user system identified by system;
>
> # 修改 sys 的密码为 sys
> alter user sys identified by sys;
>
> # 也可以创建用户
> create user test identified by test;
>
> # 给创建的用户赋予权限
> grant connect,resource,dba to test;
>
> # scott 用户的解锁
> alter user scott account unlock;
> # 解锁 scott 用户的密码【也可以用来重新设置密码】
> alter user scott identified by tiger;
> ```
## oracle 连接
使用 navicat 的 Bacis 方式用 scott 用户测试连接【其中的服务名是helowin】
使用 `select * from tab;` 显示数据库中的所有表
## 停止容器
```shell
docker stop oracle11g
``` 学习了,感谢感谢 收费吗? 学到了,感谢感谢! 好资源一起学习 正需要,开发测试使用挺好,感谢分享! 学习到了很多,感谢 感谢大佬,学到了 这个教程我看过,貌似局域网中的ip 连不上docker 中的oracle 人时地事 发表于 2023-3-25 21:28
这个教程我看过,貌似局域网中的ip 连不上docker 中的oracle
你把防火墙啥的关了试试
页:
[1]
2