LoginSignup
16

More than 5 years have passed since last update.

Docker版Oracle Database 18cをMacで使ってみる

Last updated at Posted at 2019-01-31

Macでは、Oracleのインストーラが存在しないため、DockerでOracleを構築します。
DBeaverを使用した接続例もまとめています。

OracleのDockerイメージの作成

  1. GitHubからoracle/docker-imagesをクローンします。
    [https://github.com/oracle/docker-images]

  2. クローンが完了すると、docker-imagesというフォルダが作成されます。

  3. Oracle Databaseソフトウェアをダウンロードするために、以下にアクセスします。
    [https://www.oracle.com/technetwork/jp/database/enterprise-edition/downloads/index.html]

  4. Oracle Database 18c (18.3)のLinux x86-64をダウンロードします。
    1.png

  5. 「LINUX.X64_180000_db_home.zip」がダウンロードされるため、ダウンロード完了したら、ファイルを以下のパスに移動します。

./docker-images/OracleDatabase/SingleInstance/dockerfiles/18.3.0

6 ./docker-images/OracleDatabase/SingleInstance/dockerfilesにある「buildDockerImage.sh」を実行します。

./buildDockerImage.sh -v 18.3.0 -e -i

 
7. 実行完了後、docker imagesコマンドを実行し、以下のイメージが作成されていることを確認します。
20181228132031.png
 
8. ./docker-images/OracleDatabase/SingleInstance/dockerfilesに「oracle.env」を作成します。
ここでは、日本語環境となるような環境変数を設定します。
また、SID=ORCL, PDB=MYORCL, PWD=oracleとしています。

TZ=Asia/Tokyo
ORACLE_SID=ORCL
ORACLE_PDB=MYORCL
ORACLE_PWD=oracle
ORACLE_CHARACTERSET=AL32UTF8
NLS_LANG=Japanese_Japan.AL32UTF8

 
9. ./docker-images/OracleDatabase/SingleInstance/dockerfilesにカレントディレクトリを移動し、以下のコマンドを実行します。

docker run -d --env-file ./oracle.env -p 1521:1521 -p 5500:5500 -it --name my_oracle oracle/database:18.3.0-ee

 
10. 以下のキーワードが表示されれば、実行完了です。

#########################
DATABASE IS READY TO USE!
#########################

ユーザー作成

  1. パスワードを変更する際は、以下のコマンドを実行します(任意)
docker exec <container name> ./setPassword.sh <your password>

 
2. コンテナの中に入ります。

docker exec -it <container name> bash

 
3. sqlplusでMYORCLにログインします。(sysユーザー)

sqlplus sys/oracle@//localhost:1521/MYORCL as sysdba

 
4. ユーザーを作成します。

CREATE USER scott IDENTIFIED BY tiger DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 10M ON users;
GRANT create session, create table TO scott;

 
5. sqlplusから抜けます。

quit

テーブル作成とINSERT, SELECT確認

  1. 作成したユーザーでログインします。
sqlplus scott/tiger@//localhost:1521/MYORCL

 
2. 任意のテーブルを作成します。

CREATE TABLE employee (
    id     NUMBER,
    name     VARCHAR2(45) NOT NULL, 
    primary key( id )
);

 
3. INSERTできることを確認します。

INSERT INTO employee VALUES(1, 'user1');
INSERT INTO employee VALUES(2, 'ユーザー2');

 
4. SELECTできることを確認します。

SELECT * from employee;

 
5. 以下のように出力されればOKです。
20181228131743.png

その他

Oracle Enterprise Managerにアクセスしてみる

  1. https://localhost:5500/em/にブラウザからアクセスすると、画面が表示されるため、以下の設定でログインします。

2.png

項目
ユーザー名 sys
パスワード oracle
コンテナ名
SYSDBA権限 チェックを入れる

 
2. ログインに成功すると、以下のような画面が表示されます。
3.png
 

DBeaverを使用して、DBに接続してみる

  1. jdbcドライバをダウンロードします。
    [https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/jdbc-ucp-183-5013470.html]
    4.png

  2. DBeaverを起動し、以下の赤枠のアイコンを押して、新しい接続を作成します。
    5.png
     

  3. oracleを検索して、選択します。
    6.png

  4. ドライバ設定の編集を押下して、ダウンロードしたjdbcドライバを設定します。
    7.png

  5. jdbcドライバのパスを選択して、OKを押下します。
    8.png

  6. 接続設定を入力して、終了を押下します。

項目
Host localhost
Database MYORCL
User name scott
Password tiger

9.png
 
7. 接続に成功すると、テーブル参照できるようになります。
10.png

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
16