最后一次用 Oracle 应该还是在2012的时候,之后就一路用开源数据库。
没想到现在还有反手回摸的时候。
回摸也就算了,等准备好 Oracle 知识回顾,最后发现计划赶不上变化,暂时用不上了。
重新 review 了一把自己的kanban和计划清单,赶紧记录一下,回到目标的事务上去。
1. MacOS 安装 Oracle
对于已经习惯了所有工具都要本地装一装、摸一摸的工程师而言,装个单例数据库这事儿自然不在话下。
然而search homebrew 和 dockerhub,突然发现 —— 居然没有oracle database。这不就尴尬了嘛?
去 Oracle 官网查看了一下,要想在 MacOS 上安装Oracle,两种方式:1. visualBox 2. 本地 dockerfile build。
那自然是选择2了。
1.1. Oracle 官方dockerfile大合集
访问 Oracle 官方在 github 上 repo docker-images。
$ git clone git@github.com:oracle/docker-images.git
子目录是 Oracle 各种产品目录。比如database,就是 OracleDatabase
, OGG 就是 OracleGoldenGate
。
1.2. 查看 dockerfile
进入到本地 repo 目录 OracleDatabase/SingleInstance/dockerfiles
,可以看到目前支持的数据库版本:
选择一个版本,比如 19.3.0,进入目录。
1.3. 下载 Linux Oracle Database 程序包
可以查找官网,也可以通过 readme 文件上的链接跳入下载页面。
点击链接,手动下载。
对,2.8G。
1.4. 将下载的database程序包移入OracleDatabase/SingleInstance/dockerfiles/19.3.0/
1.5. 运行buildContainerImage
回到OracleDatabase/SingleInstance/dockerfiles
目录,运行命令buildContainerImage.sh
。
$ ./buildContainerImage.sh -h
$ ./buildContainerImage.sh -v 19.3.0 -s
注意 运行命令build之前,确保本地没有开启任何网络代理,不然 build 时会失败。
build成功之后,通过docker images
查看image,总大小6个多G,体量感人。。
另外,如果想要安装其他版本,比如18.4.0 和 xe 版本,相同的步骤和方式,但可能需要修改dockerfile的部分语句。
即使进行了dockerfile修改,xe 版本本人build并没有成功过,这个需要再次检验和查看。
1.6. docker run
docker run --name oracle19 -d -p 11521:1521 -p 15500:5500 -e ORACLE_PWD=123456 -v ~/tmp-oradata:/opt/oracle/oradata oracle/database/19.3.0-se2
这时候,通过docker host本地 11521 端口,就可以连接docker oracle了。