Docker版Oracle Database 18cをMacで使ってみる
Macでは、Oracleのインストーラが存在しないため、DockerでOracleを構築します。
OracleのDockerイメージの作成
GitHubからoracle/docker-imagesをクローンします。
https://github.com/oracle/docker-imagesクローンが完了すると、docker-imagesというフォルダが作成されます。
Oracle Databaseソフトウェアをダウンロードするために、以下にアクセスします。
https://www.oracle.com/technetwork/jp/database/enterprise-edition/downloads/index.html「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コマンドを実行し、以下のイメージが作成されていることを確認します。
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! #########################
ユーザー作成
- パスワードを変更する際は、以下のコマンドを実行します(任意)
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確認
- 作成したユーザーでログインします。
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です。
その他
Oracle Enterprise Managerにアクセスしてみる
- https://localhost:5500/em/にブラウザからアクセスすると、画面が表示されるため、以下の設定でログインします。
項目 | 値 |
---|---|
ユーザー名 | sys |
パスワード | oracle |
コンテナ名 | 空 |
SYSDBA権限 | チェックを入れる |
2. ログインに成功すると、以下のような画面が表示されます。
DBeaverを使用して、DBに接続してみる
- jdbcドライバをダウンロードします。
https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/jdbc-ucp-183-5013470.html - DBeaverを起動し、以下の赤枠のアイコンを押して、新しい接続を作成します。
- oracleを検索して、選択します。
- ドライバ設定の編集を押下して、ダウンロードしたjdbcドライバを設定します。
- jdbcドライバのパスを選択して、OKを押下します。
- 接続設定を入力して、終了を押下します。
項目 | 値 |
---|---|
Host | localhost |
Database | MYORCL |
User name | scott |
Password | tiger |
7. 接続に成功すると、テーブル参照できるようになります。