LoginSignup
1
2

ローカルでOracleDB構築

Last updated at Posted at 2024-03-17

前書き

最近OracleDBAのSilver取得しようと思いまして、参考書読んだりしていますが。
どうにも手を動かさないと頭に入ってきません。
ということで、ローカルにOracleDBを構築しようと思います。
ひとまずSQLやコマンドが叩ければよいので、そこまでをゴールにします。

環境

  • Windows 11 Pro
  • WSL 2.1.4.0
  • Ubuntu 22.04.3 LTS

手順

1. Oracle DBダウンロード

以下のURLから取得できる。今回は「Oracle Database 21c for Linux x86-64」を選択。
https://www.oracle.com/jp/database/technologies/oracle-database-software-downloads.html

2. docker image作成の準備

以下のURLのリポジトリをclone
https://github.com/oracle/docker-images

3. Oracle DBをリポジトリ内に配置

以下のように、バージョン配下にダウンロードしてきたzipファイルを配置する。

docker-images/OracleDatabase/SingleInstance/dockerfiles/21.3.0/LINUX.X64_213000_db_home.zip

4. docker image 作成シェル実行

$ sudo ./docker-images/OracleDatabase/SingleInstance/dockerfiles/buildContainerImage.sh  -v 21.3.0 -e -i

※コマンドのオプションなど、以下のREADME参照。
https://github.com/oracle/docker-images/tree/main/OracleDatabase/SingleInstance#building-oracle-database-container-images

5. docker image 確認

$ docker images
REPOSITORY        TAG         IMAGE ID       CREATED      SIZE
oracle/database   21.3.0-ee   3dcd229551c2   7 days ago   7.94GB

6. docker-compose.yml作成

docker-compose.yml
version: '3'
services:
  do:
    image: oracle/database:21.3.0-ee
    container_name: my-oracle
    ports:
      - 1521:1521
      - 5500:5500
    volumes:
      - ./oradata:/opt/oracle/oradata
    environment:
      - ORACLE_PWD=opensesami
      - ORACLE_PDB=ORCLPDB1

7. マウントするディレクトリ作成

$ mkdir oradata

$ chmod 777 ./oradata

8. コンテナ起動とアクセス

$ docker-compose up -d
Recreating my-oracle ... done
$ docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED         STATUS                            PORTS                                                                                  NAMES
55a94bda9bfa   oracle/database:21.3.0-ee   "/bin/sh -c 'exec $O…"   7 seconds ago   Up 5 seconds (health: starting)   0.0.0.0:1521->1521/tcp, :::1521->1521/tcp, 0.0.0.0:5500->5500/tcp, :::5500->5500/tcp   my-oracle

$ docker exec -it my-oracle /bin/bash

9. Oracle動作確認

コンテナ内からsqlplusでDBアクセス。適当なSQLでSQL実行できることを確認。

$ sqlplus system/opensesami@ORCLCDB

SQL*Plus: Release 21.0.0.0.0 - Production on Sun Mar 17 06:21:10 2024
Version 21.3.0.0.0

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

Last Successful login time: Sun Mar 17 2024 06:16:30 +00:00

Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0

SQL> select name, open_mode from v$database;

NAME      OPEN_MODE
--------- --------------------
ORCLCDB   READ WRITE

参照

下記の記事、参考にさせて頂きました :bow_tone1:

1
2
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
1
2