mac下使用docker安装oracle数据库

最近要学习数据库,由于本人使用的是mac电脑又不想安装虚拟机或者双系统,于是折腾了一下docker成功安装上了oracle-11g。
首先在mac上安装docker。我是在这个网址下载的docker。下载完成后无脑点击下一步安装即可。
然后运行docker,运行成功后任务栏会出现一个docker的图标
mac下使用docker安装oracle数据库_第1张图片
效果就像这样。
然后打开终端,我们要拉取oracle-11g-xe的镜像。
之所以选择xe(精简版)的原因是xe版本的镜像体积小,而且相较于正式版来说仅仅有了以下几个限制

对于学习来说还是绰绰有余的。

查找oracle的镜像

sudo docker search docker-oracle-xe-11g

执行结果的参考如下图。
mac下使用docker安装oracle数据库_第2张图片

拉取镜像

我们选择上面stars数量最多的镜像 ,因为群众的眼光应该不会差的。

sudo docker pull deepdiver/docker-oracle-xe-11g

然后慢慢等待它拉取完毕。参考图如下
mac下使用docker安装oracle数据库_第3张图片

启动oracle

sudo docker run -d -p 1521:1521 --name oracle11g deepdiver/docker-oracle-xe-11g

这里的-p参数就是将容器里的1521端口映射到本机的1521端口。
启动成功的参考图如下

这时容器已经在后台运行了。

进入容器shell

我们需要先获取后台运行的容器的进程id

docker ps


然后我们需要链接到容器的shell

sudo docker exec -it 87ba263e2b1f /bin/bash

-it后的字符串就是刚刚获取到的id。
然后我们就成功进入容器的shell里了。

调试oracle

sqlplus system/oracle

mac下使用docker安装oracle数据库_第4张图片
出现上图这样的信息之后说明我们成功启动了数据库。
接下来我们创建一个用户。

create user Jack identified by mima;

这里Jack可以替换成自己的用户名,mima可以替换成自己的密码;这两个东西之后链接数据库的时候需要用到。
提示User created.说明用户创建成功。
使用select * from all_users;就可以看到刚刚创建好的用户。
然后我们为这个用户授权grant connect,resource to JACK;,注意这里的用户名必须全部大写。
提示Grant succeeded.之后说明授权成功。

使用Navicat进行测试

新建链接-Oracle
mac下使用docker安装oracle数据库_第5张图片
一定注意!!!服务名要改成XE,否则无法链接!!!
主机名填写localhost或者127.0.0.1均可。用户名和密码就填刚刚创建时填写的。
mac下使用docker安装oracle数据库_第6张图片
链接成功!
不需要用的时候可以在docker的DashBoard里把这个容器关闭,也可以在终端里输入docker stop oracle11g
下次启动的时候也可以选择在DashBoard里启动,或者在终端里输入docker start oracle11g

一般数据库老师要求用的数据库管理系统是PL/SQL,我在知乎上看好像JB的DataGrip可以作为mac上的替代品,这个等我再多学一点了有缘再更吧。

2022.3再更

发现开源的DBeaver更符合课程的要求,大家可以试试看,图标长下面这个样子
mac下使用docker安装oracle数据库_第7张图片

你可能感兴趣的:(docker,数据库,oracle)