閱讀974 返回首頁    go 阿裏雲 go 技術社區[雲棲]


獨家:在MAC上運行Docker和Oracle 12.2數據庫環境

雖然Docker是那麼的流行和熱鬧,可是沒想到我和Docker的第一次接觸是因為Oracle。Oracle在上個月宣布支持Docker的容器部署,再加上Oracle Database 12.2的發布,再到支持MAC上的部署,大家可以想一想這足以激起我動手的熱情,上一次在MAC上能夠直接部署的版本還是Oracle 10g,現在我們有了一個新的選擇。


基於Docker的部署簡單到隻需要一個命令,回顧一下我們在Oracle 8的年代,在Linux上部署Oracle,你想到什麼?無數的編譯錯誤,深深淺淺的坑坑窪窪,說多了都是淚。


看看Oracle在Docker上的部署吧!需要準備什麼呢?

  1. Docker 環境下載;

  2. 從Github上下載 Oracle docker-images ;

  3. 從OTN下載 Oracle for Linux 的安裝包;


生產資料具備了,還要做一點點粗加工:

  1. 在MAC上安裝並啟動Docker環境;

  2. 解壓docker-images-master.zip安裝包;

  3. 將Oracle安裝包整合到Docker images Master中;


我在Docker市場下載的穩定版本,115.6M,地址是:

https://store.docker.com/editions/community/docker-ce-desktop-mac


雖然是第一次,但是看到這條小鯨魚還是會很親切:

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

第二和第三步,我建立了一個獨立的Docker目錄存儲這些文件。


Github 上的文件下載地址是:

https://github.com/oracle/docker-images


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

然後兩個命令:

unzip docker-images-master.zip

mv linuxx64_12201_database.zip docker-images-master/OracleDatabase/dockerfiles/12.2.0.1/


接下來就可以擼起袖子加油幹了,當然也可以不擼袖子,因為會非常順利和流暢,我的MAC版本是:macOS sierra 10.12.4 。


這個環節就隻需要一條命令,需要執行 docker-images-master/OracleDatabase/dockerfiles 下的build腳本:

 ./buildDockerImage.sh -v 12.2.0.1 -e 


在這個步驟中首先需要安裝 OEL的 Slim 版本:oraclelinux:7-slim 。需要從網上下載文件,所以安裝過程中必須保持網絡的連通。整個過程有16個步驟,全部是自動執行的。


成功的日誌類似如下的:

Oracle Database Docker Image for 'ee' version 12.2.0.1 is ready to be extended: 

--> oracle/database:12.2.0.1-ee


Build completed in 52755 seconds.


完成了安裝之後,你擁有了兩個鏡像,一個是OEL 7-slim 版本,大約114MB,一個 oracle/database 大約14.8GB。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


創建並啟動數據庫隻需要一個命令:

docker run --name oracle -p 1521:1521 -p 5500:5500 -v /Users/eygle/oradata:/opt/oracle/oradata oracle/database:12.2.0.1-ee


這個命令有幾個主要參數:

-p 指定端口映射,主機到Docker的端口對應;

-v 指定數據庫的對應存儲路徑,我指定了一個Docker之外的本地存儲,將數據庫獨立出來。

完成這個命令,會在本地完成數據庫的構建並啟動數據庫,同時輸出告警日誌的監控。


當然如果你不想剝離數據庫文件出來,也可以用類似以下命令來構建數據庫:

docker run -p 1521:1521 --name eygle oracle/database:12.2.0.1-ee


由於數據庫缺省會指定用戶口令,所以我們可以通過如下命令來修改口令:

docker exec oracle ./setPassword.sh youpassword


其他的必備命令是:

docker start oracle

docker stop oracle

docker logs oracle

docker ps


接下來就可以在 SQL Developer 裏配置和連接這個數據庫了:

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


現在基於Docker來構建一個測試環境,變得非常快速和簡捷,大家簡化了學習了了解Oracle入門的複雜度,非常值得嚐試。


大家快來一起探索一下Oracle的變化吧。更詳細的信息請參考原文鏈接。


文章轉自數據和雲公眾號,原文鏈接

最後更新:2017-07-18 10:02:51

  上一篇:go  Oracle數據庫12c release 2優化器詳解
  下一篇:go  【12.2新特性】In-Memory列存儲的FastStart管理