LoginSignup
7
9

More than 3 years have passed since last update.

macOSにDockerでOracle Database 19c(Linux x86-64)をインストール

Last updated at Posted at 2020-07-19

約半年程の就活の結果、大変ありがたいことにシステム開発の企業に内定を頂けました。

1日でも早く戦力になりたいので、入社までの少しの間にしっかりと学習して技術を身に付けたいと考えています。

今回、データベース学習の一環として、入社予定の企業よりオラクルマスターの資格取得を勧められました。

基礎的なデータベース、SQLの知識が学べるので、未経験者にも有効と教えていただけたので早速オラクルを使ってみたいと思います。

Oracle Database

個人学習であれば、完全版の製品を無償で使うことができるそうです。

事前準備

オラクルデータべースにはmacOS用がないので、Dockerをインストールします。

Screen Shot 0032-07-18 at 12.23.36.png

インストールして起動すると、タブにクジラのマークが表示されます。
Screen Shot 0032-07-18 at 12.26.05.png

macOSへのインストール手順

まずは、オラクルのデータベースをインストールします。

  1. Oracle.comのユーザー登録
  2. Oracleプロファイルにサインイン
  3. 技術リソースからダウンロード

今回は、Oracle Database 19c19.3 Linux x86-64をインストールしてみます。
Screen Shot 0032-07-18 at 12.38.29.png

GitHubの公式リポジトリからDockerイメージをダウンロードします。

Terminal.app
git clone https://github.com/oracle/docker-images.git

ダウンロードしたdocker-images内のdockerfilesディレクトリに移動します。

Terminal.app
cd docker-images/OracleDatabase/SingleInstance/dockerfiles

Screen Shot 0032-07-18 at 16.23.06.png

mvコマンドやFinderをつかって、こちらでダウンロードしたOracle Databaseのインストールバイナリ(zipファイル)をビルドしたいバージョンのディレクトリ直下に配置します。(※LINUX.X64_193000_db_home.zipといったファイル名です。解凍せずに配置します)

Screen Shot 0032-07-18 at 16.13.04.png

準備ができたら、バージョンを指定してビルドを実行します。

Terminal.app
./buildDockerImage.sh -v 19.3.0 -e -i

公式ドキュメントにも書いてありますが、

  • オプションの-eは、creates image based on 'Enterprise Edition'
  • オプションの-iは、ignores the MD5 checksums (※OSXは必要)

となっています。

ビルドが実行され、完了すると下記のようなメッセージが表示されます。

Terminal.app
Successfully built 45c638577f4f
Successfully tagged oracle/database:19.3.0-ee

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

    --> oracle/database:19.3.0-ee

  Build completed in 2972 seconds.

docker imagesで情報が取得できていれば、ビルドができていることが確認できます。

Terminal.app
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
oracle/database           19.3.0-ee           45c638577f4f        42 minutes ago      6.54GB
oraclelinux               7-slim              153f8d73287e        30 hours ago        131MB

イメージからコンテナを起動します。

docker runコマンドの形式は、
$ docker run [オプション] イメージ[:タグ|@ダイジェスト値] [コマンド] [引数...]となります。

Terminal.app
docker run --name docker_oracle  -p 1521:1521 -p 5500:5500  oracle/database:19.3.0-ee

しばらく待って、DATABASE IS READY TO USE!が表示されるとビルド成功です。結構、時間がかかります。

Terminal.app
Database creation complete. For details check the logfiles at:
 /opt/oracle/cfgtoollogs/dbca/ORCLCDB.
Database Information:
Global Database Name:ORCLCDB
System Identifier(SID):ORCLCDB
Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Jul 18 11:40:30 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> 
System altered.

SQL> 
System altered.

SQL> 
Pluggable database altered.

SQL> 
PL/SQL procedure successfully completed.

SQL> Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
The Oracle base remains unchanged with value /opt/oracle
#########################
DATABASE IS READY TO USE!
#########################

システムユーザー用のパスワードも表示されるので控えておきます。

Terminal.app
ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: [パスワード]

SQLへの接続

Dockerコンテナの情報を確認します。

Terminal.app
docker container ls

CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS                  PORTS                                            NAMES
8378ab904f59        oracle/database:19.3.0-ee   "/bin/sh -c 'exec $O…"   22 hours ago        Up 22 hours (healthy)   0.0.0.0:1521->1521/tcp, 0.0.0.0:5500->5500/tcp   docker_oracle

一番左のCONTAINER IDを確認して、下記の[コンテナID]を書き換えて実行します。

Terminal.app
docker exec -it [コンテナID]  bash -c "source /home/oracle/.bashrc; sqlplus /nolog"

SQL*Plus: Release 19.0.0.0.0 - Production on Sun Jul 19 08:29:34 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

SQL> 

続く...

参考・使用サイトリンク

◆Qiita
OS X 10.11で,Oracle Database 12cのDocker Imageを使ってみた
CentOS7上のDockerにOracle19cを構築してみた

◆GitHub
GitHug:oracle/docker-images
GitHub:Oracle Database on Docker

◆Oracle
Oracle Database Documentation
Docker : Oracle Database on Docker
oracle Database ソフトウェア・ダウンロード

◆Youtube
Install Oracle database on Docker and connect with SQL Developer

7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9