約半年程の就活の結果、大変ありがたいことにシステム開発の企業に内定を頂けました。
1日でも早く戦力になりたいので、入社までの少しの間にしっかりと学習して技術を身に付けたいと考えています。
今回、データベース学習の一環として、入社予定の企業よりオラクルマスターの資格取得を勧められました。
基礎的なデータベース、SQLの知識が学べるので、未経験者にも有効と教えていただけたので早速オラクルを使ってみたいと思います。
Oracle Database
個人学習であれば、完全版の製品を無償で使うことができるそうです。
事前準備
オラクルデータべースにはmacOS用がないので、Dockerをインストールします。
インストールして起動すると、タブにクジラのマークが表示されます。
macOSへのインストール手順
まずは、オラクルのデータベースをインストールします。
- Oracle.comのユーザー登録
- Oracleプロファイルにサインイン
- 技術リソースからダウンロード
今回は、Oracle Database 19c
の 19.3
Linux x86-64
をインストールしてみます。
GitHubの公式リポジトリからDockerイメージをダウンロードします。
git clone https://github.com/oracle/docker-images.git
ダウンロードしたdocker-images
内のdockerfiles
ディレクトリに移動します。
cd docker-images/OracleDatabase/SingleInstance/dockerfiles
mvコマンドやFinderをつかって、こちらでダウンロードしたOracle Databaseのインストールバイナリ(zipファイル)をビルドしたいバージョンのディレクトリ直下に配置します。(※LINUX.X64_193000_db_home.zip
といったファイル名です。解凍せずに配置します)
準備ができたら、バージョンを指定してビルドを実行します。
./buildDockerImage.sh -v 19.3.0 -e -i
公式ドキュメントにも書いてありますが、
- オプションの
-e
は、creates image based on 'Enterprise Edition'
- オプションの
-i
は、ignores the MD5 checksums
(※OSXは必要)
となっています。
ビルドが実行され、完了すると下記のようなメッセージが表示されます。
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
で情報が取得できていれば、ビルドができていることが確認できます。
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 [オプション] イメージ[:タグ|@ダイジェスト値] [コマンド] [引数...]
となります。
docker run --name docker_oracle -p 1521:1521 -p 5500:5500 oracle/database:19.3.0-ee
しばらく待って、DATABASE IS READY TO USE!
が表示されるとビルド成功です。結構、時間がかかります。
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!
#########################
システムユーザー用のパスワードも表示されるので控えておきます。
ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: [パスワード]
SQLへの接続
Dockerコンテナの情報を確認します。
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]を書き換えて実行します。
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