使用Docker安裝Oracle數據庫


  在很多時候,我們需要在本地安裝Oracle數據庫,但是整個安裝的過程時間非常長而且安裝文件大,那么有不有更好的辦法來安裝Oracle數據庫既能減少安裝的時間而且還能夠快速進行部署呢?答案就是使用Docker來數據庫容器,那么具體該怎么進行呢?本文介紹如何在Win7和Win10上面進行Oracle鏡像的安裝以及如何使用DataGrip建立連接。

  一 Windows7上面的安裝

       首先就是在Window7上面安裝Docker Toolbox,具體安裝的過程,請參考這篇文檔。安裝完成后在桌面上一般會有一個Oracle VM VirtualBox和一個Docker Quickstart Terminal,一般在進行操作之前右鍵單擊Docker Quickstart Terminal,然后進入啟動界面,如果出現下面的界面就表示安裝已經成功了。

圖一 啟動Docker Quickstart Terminal

  啟動完畢后我們就可以進行鏡像的拉取和運行了,這里我們使用 docker search oracle 來搜索oralce鏡像。 

  A    搜索鏡像

圖二 搜索Oracle鏡像

  B 創建volume以持久化數據

  在命令行輸入 docker volume create exeed-db命令創建名稱為exeed-db的volume

  C 創建並運行Oracle數據庫

        在命令行中輸入:docker run -d --name exeed-db -p 1521:1521 -p 8080:8080 --shm-size=1g --restart=always -e ORACLE_PWD=XXX -v exeed-db:/u01/app/oracle/oradata zerda/oracle-database:11.2.0.2-xe

  這里有幾點需要注意的是:

  1 --name exeed-db指定創建的volume .

  2  --shm-size=1g:設置/dev/shm的大小。格式為:。number必須大於0。unit可選,可以是b,k,m或g。如果不指定unit,系統默認使用字節。如果此參數不指定,默認使用64m。

  3  --restart=always  --restart 標志會檢查容器的退出代碼,並據此來決定是否要重啟容器,默認是不會重啟。--restart的參數說明  always:無論容器的退出代碼是什么,Docker都會自動重啟該容器。on-failure:只有當容器的退出代碼為非0值的時候才會自動重啟。另外,該參數還接受一個可選的重啟次數參數,`--restart=on-fialure:5`表示當容器退出代碼為非0時,Docker會嘗試自動重啟該容器,最多5次。(注意:這里如果不限定該重啟策略,那么每一次重啟電腦后都要手動通過docker start命令來重啟當前容器)

  4   ORACLE_PWD用於設置當前Oracle數據庫密碼。

  5   -v exeed-db:/u01/app/oracle/oradata zerda/oracle-database:11.2.0.2-xe用於指定使用的Oracle鏡像如果本地找不到的話那么就會去聯網進行下載。

  當上面的命令執行完畢以后,如果出現下面的提示,則表示Oracle已經在當前機器上安裝完畢並且沒有錯誤。  

  SQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
  #########################
  DATABASE IS READY TO USE!
  #########################

  D 查看安裝鏡像的狀態

圖三 查看已經正確運行的鏡像

  E  使用DataGrip來連接創建的Oracle數據庫

圖四 DataGrip連接Oracle數據庫

  這里也許對Host有疑問,不應該是localhost,這里其實我們安裝的oracle是跑在虛擬機上面的,這里的地址指的是虛擬機的地址,我們可以在命令行中輸入 docker-machine ls來查看當前的虛擬機的地址。

圖五 獲取當前的Docker Machine 信息

  這里我們使用sys as sysdba來作為登錄用戶,這里的密碼就是執行docker run 運行時創建的密碼,然后點擊測試就可以連接自己的oracle數據庫了。

  F 后續操作

  使用sys as sysdba登錄后創建新的用戶:AfterSales,這里記住要創建默認的表空間,接着我們就可以給剛才創建的用戶AfterSales授予權限了,這樣下次我們就可以通過新建的賬戶來進行數據庫操作了。

  -- Oracle 管理用戶

  -- 創建用戶
  CREATE USER AfterSales IDENTIFIED BY XXX  DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA UNLIMITED ON users;

  -- 賦予權限
  GRANT CONNECT, CREATE TABLE, CREATE TRIGGER, CREATE PROCEDURE, CREATE VIEW, CREATE SEQUENCE, DEBUG CONNECT SESSION TO AfterSales ;

  -- 刪除用戶
  DROP USER AfterSales CASCADE;

  二  Windows10上面的安裝

  Windows10上面的安裝和Windows7上面有些差別,具體使用的技術也是完全不同的。

   A   啟用Hyper-V

  打開控制面板 - 程序和功能 - 啟用或關閉Windows功能,勾選Hyper-V,然后點擊確定即可,如圖:

圖六 開啟Hyper-V

  B 安裝Docker

  Docker下載地址請點擊這里, 點擊如圖處即可下載安裝包,然后進行安裝。

  C 重啟機器

  在重啟機器后我們可以在任務欄中發現已經運行的Docker,這點和Windows7上面不同,Windows7需要每次重啟啟動Docker Quickstart Terminal,Windows10則不需要。  

圖七 Windows10中Docker任務欄圖標

  另外后續的過程和Windows7中完全一樣,只不過Windows10中Host不再是虛擬機的地址了,而是直接使用localhost便可以進行登錄了。

  最后附上Oracle官方給出的在Docker上面安裝Oracle的文檔,請點擊這里。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM