yuluo829 发表于 2023-3-25 15:42

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
```

Rabb 发表于 2023-3-25 16:02

学习了,感谢感谢

pasyou 发表于 2023-3-25 17:05

收费吗?

wlshang 发表于 2023-3-25 17:24

学到了,感谢感谢!

EXiaoLu 发表于 2023-3-25 17:30

好资源一起学习

alan3258 发表于 2023-3-25 17:44

正需要,开发测试使用挺好,感谢分享!

KONT1995 发表于 2023-3-25 18:15

学习到了很多,感谢

dadaliya 发表于 2023-3-25 18:17

感谢大佬,学到了

人时地事 发表于 2023-3-25 21:28

这个教程我看过,貌似局域网中的ip 连不上docker 中的oracle

adtic 发表于 2023-3-25 23:03

人时地事 发表于 2023-3-25 21:28
这个教程我看过,貌似局域网中的ip 连不上docker 中的oracle

你把防火墙啥的关了试试
页: [1] 2
查看完整版本: docker 安装 Oracle数据库