DockerでOracle 19cを構築する手順

Ubuntuホスト環境でDockerを使用してOracleデータベースを構築する方法について記載します。Windows 11での直接インストールに失敗したため、仮想マシン上でのDocker導入を選択しました。

root@jin-virtual-machine:/etc/docker# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.1 LTS
Release:        22.04
Codename:       jammy

Docker環境はhttps://www.cnblogs.com/wuyicode/p/11594514.htmlを参考に構築しました。

docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
# 大容量のイメージを取得するため、事前にDockerレジストリの設定を推奨
root@jin-virtual-machine:~# docker images  
REPOSITORY TAG IMAGE ID CREATED SIZE  
registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle 19c 7b5eb4597688 2 years ago 6.61GB
# データ永続化用ディレクトリ作成
mkdir -p /mydata/oracle/oradata
chmod 777 -R /mydata
docker run -d  \
-p 1525:1521 -p 5500:5500 \
-e ORACLE_SID=ORCL2 \
-e ORACLE_PDB=ORCLPDB2 \
-e ORACLE_PWD=oraclepass \
-e ORACLE_EDITION=standard \
-e ORACLE_CHARACTERSET=ZHS16GBK \
-v /mydata/oracle/oradata:/opt/oracle/oradata \
--name oracle19c \
registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
root@jin-virtual-machine:~# docker ps -a
CONTAINER ID   IMAGE                                                   COMMAND                  CREATED        STATUS                      PORTS     NAMES
5f14c00c937a   registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c   "/bin/sh -c 'exec $O…"   44 hours ago   Exited (137) 17 hours ago             oracle19c
# コンテナ起動
docker start oracle19c
docker logs -ft oracle19c
# コンテナ内接続
docker exec -it oracle19c /bin/bash
[oracle@5f14c00c937a ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jan 13 03:21:08 2023
Version 19.3.0.0.0

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

SQL> show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB2                       READ WRITE NO
# ユーザー作成
alter session set container=ORCLPDB2;
create user jin identified by 123456;
grant connect, resource, dba to jin;
grant sysdba to jin;
# 接続テスト(Windows側から)
D:\\PLSQL\\instantclient_19_17>sqlplus jin/123456@192.168.232.128:1525/orclpdb2
# DBeaverでの接続テスト(ドライバ自動ダウンロード)

タグ: Docker Oracle19c Ubuntu sqlplus DBeaver

5月21日 12:20 投稿