OCI: Oracle Cloudにデータベース環境を作ってみた(日本語UI編)

Oracle Cloud (OCI)ではDatabaseサービスが提供されています。クラウドのサービスを使用することで、素早くデータベース環境を作成することができます。OCIでは仮想マシンとベアメタル・サーバ、そしてExadataを用いたOracleデータベースの環境を使用できます。今回は仮想マシンを使ったデータベース環境を構築する手順を紹介します。
ちなみに、Oracle Cloud Infrastructure (OCI)は、2019年3月末にコンソール画面が[世界各国の29言語に対応できるようになりました](https://docs.oracle.com/cd/E97706_01/Content/GSG/Concepts/console.htm#multloc)。日本語の表示もできます。早速、日本語UIでDatabaseサービスを作成していこうと思います。

| <font color=aaaaaa>内容が古くなったので更新します。更新版は[こちら](https://qiita.com/o_nohike/items/da531bebe87e25105a8f)です</font> |
|:-:|

## 事前準備
* SSHアクセスに使用するSSHキーペア(公開鍵、秘密鍵)の用意
* データベース環境の配置先となる、VCN(Virtual Cloud Network)のサブネット(パブリック・サブネットあるいはプライベート・サブネット)
* 使用するコンパートメントの確認

## DBシステムの作成
DBシステムとは、Oracleデータベースがデプロイされた仮想マシンやベアメタルサーバーです。ユーザーが指定したCPUコア数やデータベースのエディション、バージョンで構成されます。OCI データベースサービスではよく使われる言葉のようで、マニュアルを見ると仮想マシンDBシステム、ベアメタルDBシステム、Exadata DBシステムというふうに使われています。

いきなり余談でしたが、話を戻して仮想マシンDBシステムを作成していきます。
まず、OCIコンソールの左上にあるメニューアイコンから、「ベア・メタル、VMおよびExadata」を選択します。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384729/a6a157af-edfc-afb3-ea53-5a0f296749a9.jpeg">

DBシステムの画面が表示されます。使用するコンパートメントが適切なものか確認して「DBシステムの起動」ボタンをクリックします。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384729/fa364356-781a-2aad-c868-57e3f735afb3.jpeg">

DBシステム起動ウィンドウが表示されます。このウィンドウは以下の3つに項目が分かれているので、それぞれ情報を入力していきます。
・DBシステムの情報
・DBシステムを配置するネットワークの情報
・DBの情報

**1. DBシステム情報の入力**
まず、DBシステムの情報を入力します。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384729/69a28ff2-4e33-290d-5765-9c623b0f9f14.jpeg">

**・表示名 :** 作成するDBシステムの任意の名前を入力します。
**・可用性ドメイン :** DBシステムを配置するアベイラビリティ・ドメインを選択します。リージョンによってアベイラビリティ・ドメインの数は異なります。
**・シェイプ・タイプ :** シェイプ・タイプを選択します。今回は仮想マシンを選択します。
**・シェイプ :** 使用するシェイプを選択します。シェイプによってCPUコア数やメモリサイズが決まります。下は現在の仮想マシンのシェイプです。

| シェイプ | CPUコア | メモリ |
|:-:|:-:|:-:|
|  VM.Standard2.1 |  1 |  15 GB |
|  VM.Standard2.2 |  2 |  30 GB |
|  VM.Standard2.4 |  4 |  60 GB |
|  VM.Standard2.8 |  8 |  120 GB |
|  VM.Standard2.16 | 16  |  240 GB |
|  VM.Standard2.24 | 24  |  320 GB |

**・合計ノード数 :** シングルノードの環境を構成する場合は1, RACを構成する場合2を選択します。今回は1のままです。
**・ORACLE DATABASEソフトウェア・エディション :** エディションを選択します。選択できるエディションは4種類あります。
　・Standard Edition
　・Enterprise Edition
　・Enterprise Edition High Performance
　・Enterprise Edition Extreme Performance
エディションによるデータベース・オプションの違いについては[Oracle CloudのFAQ](https://cloud.oracle.com/ja_JP/database/faq)から確認できます。
**・使用可能なストレージ・サイズ(GB) :** データベースのデータ格納領域のサイズを指定します。
**・ライセンス・タイプ :** ライセンスタイプを選択します。BYOLをしない場合は「含まれるライセンス」(LICENSE INCLUDED)を選択します。
**・SSH公開キー :** 事前準備で用意した公開鍵の登録をします。
**・拡張オプション :** フォルト・ドメインを指定する場合に使用します。フォルト・ドメインの詳細については[マニュアル](https://docs.oracle.com/cd/E97706_01/Content/General/Concepts/regions.htm#fault)を参照ください。

**2. ネットワーク情報の入力**
使用するネットワークの情報を入力します
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384729/ad012b36-87d4-53ef-40ae-15febb08c982.jpeg">
**・仮想クラウド・ネットワーク :** 使用するVCNを選択します。
**・クライアントのサブネット :** DBシステムを配置するサブネットを選択します。
**・ホスト名接頭辞 :** DBシステムのホスト名。サブネット内で一意である必要があります。

**3. データベース情報の入力**
作成するデータベースの情報を入力します
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384729/b2dff010-8e28-cd95-48d6-505fc865af3e.jpeg">

**・データベース名 :** データベース名を入力します。
**・データベース・バージョン :** データベースのバージョンを選択します。
**・PDB名 :** PDB名を入力します。
**・データベース管理パスワード :** データベース管理者のパスワード。SYS、SYSTEM、TDEウォレット、およびPDB Adminで使用されます。
**・自動バックアップの有効化 :** 自動バックアップを使用する場合はチェックを入れます。DBシステム作成後に有効化することも可能です。
**・データベース・ワークロード :** アプリケーションに最適なワークロード・タイプを選択します。
**・拡張オプション :** データベースのキャラクタセットを指定する場合に使用します。デフォルトはAL32UTF8です。

以上を入力し、「DBシステムの起動」をクリックするとDBシステムをプロビジョニングし始めます。アイコンが黄色(プロビジョニング中..)から緑(使用可能)に変わるとプロビジョニング終了です。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384729/c6d15d55-064a-bd4e-df22-ae0c1669d583.jpeg">プロビジョニング中..
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384729/c174d20d-33c5-8ab6-eee7-bf6f7ea26c35.jpeg">プロビジョニング終了!

## DBシステムへの接続
作成したDBシステムに接続してみましょう。
**1. IPアドレスの確認**
DBシステムがプロビジョニングされたら、DBシステム名のリンクをクリックすると詳細のページが開きます。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384729/81ba1272-b082-ed28-7811-46168e97997a.jpeg">

今回、DBシステムを配置したサブネットにパブリック・サブネットを使用しました。そのため、DBシステムにはパブリックIPが割り当てられています。IPアドレスの確認には、詳細ページの左側にある「ノード」のリンクをクリックします。ノードの情報が表示され、パブリックIPアドレスも確認できます。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384729/401d54e8-3f27-3100-c148-eac9a1925a64.jpeg">

**2. ターミナルから接続**
確認したIPアドレスを使って、ターミナルからDBシステムに接続します。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384729/61524eb3-1403-de55-1c3a-9679b5c38c23.jpeg">

**・ホスト :** パブリックIPを入力します。
**・TCPポート# :** 22
**・ユーザー名 :** opc (デフォルトでopcというユーザーが用意されています)
**・秘密鍵 :** DBシステム作成時に登録した公開鍵のペアとなる秘密鍵

接続が成功したらユーザーを切り替えます。rootにもなれます。
oracleユーザーに切り替えたら、早速SQL*Plusでつなげてみます。

```
[opc@oradb ~]$ sudo -s
[root@oradb opc]#
[root@oradb opc]# su - oracle
[oracle@oradb ~]$
[oracle@oradb ~]$ sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 - Production on Wed May 15 01:29:00 2019
Version 18.5.0.0.0

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


Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.5.0.0.0

SQL>
```

はい。DBシステムにログインし、データベースへの接続までできました。
仮想マシンのDBシステムでは作成時に ORACLE_SID や ORACLE_HOME、ORACLE_UNQNAME、PATHといった環境変数がセットされるので、地味に嬉しいですね。
ただし、PDBへの接続文字列はセットされていないので、必要に応じて tnsnames.oraファイルを編集する必要があります。

## 参考

* マニュアル 「[ベア・メタルおよび仮想マシンのDBシステムの管理](https://docs.oracle.com/cd/E97706_01/Content/Database/Tasks/launchingDB.htm)」
* チュートリアル「[クラウドでOracle Databaseを使う - Oracle Cloud Infrastructureを使ってみよう(その8)](https://community.oracle.com/docs/DOC-1019568)」