このチュートリアルでは、Dockerコンテナを使用してOracle 12cをAlibaba Cloud上でホストする方法を紹介します。
本ブログは英語版からの翻訳です。オリジナルはこちらからご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。
#Alibaba Cloud上でDockerを使用してOracle 12cをホスティングする
500以上の新機能で、Oracle Database 12cは、Oracleの顧客がクラウドコンピューティング、ビッグデータ、セキュリティ、および可用性の必要性を与えるように設計されています。Dockerは、コンテナ内のアプリケーションをパッケージ化するオープンソースのコンテナソフトウェアですので、それらはLinux上で実行されているシステム間でポータルすることができます。OracleはOracle 12 cのDockerイメージをリリースし、Alibaba CloudはコンテナとLinux VMの両方を持っているので、Alibaba Cloud上でOracle Database 12cを採用するのに役立ちます。
#1. Ubuntu 16.04にDockerをインストール
公式のUbuntu 16.04リポジトリで利用可能なDockerのインストールパッケージは、最新版ではない場合があります。最新かつ最高のバージョンを入手するには、公式のDockerリポジトリからDockerをインストールします。ここでは、その方法を紹介します。
まず、公式DockerリポジトリのGPGキーをシステムに追加します。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
APTソースにDockerリポジトリを追加します。
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release-cs) stable"
次に、新しく追加したレポのDockerパッケージでパッケージデータベースを更新します。
sudo apt-get update
デフォルトのUbuntu 16.04のレポではなく、Dockerのレポからインストールしようとしていることを確認してください。
apt-cache policy docker-ce
以下のような出力が表示されるはずです。
Output of apt-cache policy docker-ce
docker-ce:
Installed: (none)
Candidate: 17.03.1~ce-0~ubuntu-xenial
Version table:
17.03.1~ce-0~ubuntu-xenial 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
17.03.0~ce-0~ubuntu-xenial 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ceはインストールされていませんが、インストール候補はUbuntu 16.04のDockerリポジトリからであることに注意してください。docker-ceのバージョン番号が違うかもしれません。
最後にDockerをインストールします。
sudo apt-get install -y docker-ce
これでDockerがインストールされ、デーモンが起動し、起動時にプロセスが起動するようになったはずです。実行されていることを確認してください。
sudo systemctl status docker
出力は以下のようなもので、サービスがアクティブで実行されていることを示します。
docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2016-05-01 06:53:52 CDT; 1 weeks 3 days ago
Docs: https://docs.docker.com
Main PID: 749 (docker)
#2. Alibaba Cloud上にOracle Dockerイメージを設定する
上記で作成したVMに資格情報を入力してDockerストアにログインします。
$ docker login
$ docker pull store/oracle/database-enterprise:12.2.0.1
$ docker run -d -it --name db1 -P store/oracle/database-enterprise:12.2.0.1
以下のようにすると、docker images と docker ps -a コマンドを実行すると、以下のような出力が表示されます。
root@iZt4neefbpoojkuy4fdvqzZ:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
store/oracle/database-enterprise 12.2.0.1 12a359cd0528 2 months ago 3.44GB
root@iZt4neefbpoojkuy4fdvqzZ:~# docker ps -a
CONTAINER
ID IMAGE COMMAND CREATED STATUS PORTS NAMES
92997757be9e store/oracle/database-enterprise:12.2.0.1 "/bin/sh -c '/bin/..." 39 hours ago Up 39 hours (healthy) 0.0.0.0:32775->1521/tcp, 0.0.0.0:32774->5500/tcp db1
おめでとうございます。Alibaba Cloud VM Container上にDockerイメージを正常に設定しました。
#3. ローカルデスクトップからVM外のOracle DB Containerを接続する
###OracleサイトからOracle Clientをインストール
クライアントマシンにOracle Clientがインストールされていることを確認します。次のリンクからインストールできます: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
インストールして、PATH変数が設定されていることを確認して、sqlplusコマンドを実行できるようにしてください。
Nikeshs-MacBook-Pro:~ nikeshgogia$ export PATH=$PATH:/Users/nikeshgogia/Downloads/instantclient_12_2
Nikeshs-MacBook-Pro:~ nikeshgogia$ sqlplus
###b. ローカルデスクトップからの接続を確立する
nikeshgogia$ sqlplus
sys/Oradoc_db1@47.74.181.105:32775/ORCLCDB.localdomain as sysdba
以下のような出力が表示され、Connection Developedが表示されます。
注:上記のコマンドでは、sys/Oradoc_db1@47.74.181.105:32775、sys
にはユーザ名Oradoc_db1がパスワード、ポートは32775となっています。セキュリティグループでこのポートを開いていることを確認し、IP 47.74...がパブリックIPであることを確認してください。さらに、サービス名としてORCLCDB.localdomain
をそのままにしていることを確認する必要があります。
Nikeshs-MacBook-Pro:~ nikeshgogia$ sqlplus sys/Oradoc_db1@47.74.181.105:32775/ORCLCDB.localdomain as
sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Sat Oct 28 11:16:44 2017
Copyright (c) 1982, 2017, Oracle. All rights reserved.
Last Successful login time: Thu Oct 26 2017 21:50:32 +05:30
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL>
#結論
以上のことから、Alibaba CloudはOracle 12cをホスティングすることができるという結論に至りました。Alibaba Cloud Container ServiceやECSサーバー上でOracleを実行することで、安定した高度な機能を備えた最新のクラウド対応データベースを楽しむことができます。
アリババクラウドは日本に2つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
アリババクラウドジャパン公式ページ