Oracle CloudでDatabase Cloud Serviceインスタンスを作ってみた


# 概要
Oracle Cloudのトライアル環境を申し込めば、すぐにOracle Cloud上の各種クラウド・サービスが利用できるようになります。

- [Oracle Cloudのトライアル環境を申し込んでみた](http://qiita.com/shinyay/items/c2739190a60cb5126a9d)

Oracle Cloudが提供するクラウド・サービスには次のような種類があります。

- 各種オラクル製品環境をクラウド上で提供する**PaaS (Platform as a Service)**
- 基盤環境を提供する**IaaS (Infrastructre as a Service)**
- アプリケーションを提供する**SaaS (Software as a Service)**

この中から、PaaSとして提供されているクラウド・サービスの中から、Oracle Database環境を提供している**Database Cloud Service**のインスタンスを作成してみます。

## Database Cloud Service 概要
![DBCS-home](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/cloud.oracle.com_2016-08-18_19-08-57.png)

Database Cloud Serviceは、文字通りOracle Databaseをクラウド環境上で提供するクラウド・サービスです。

Oracle DatabaseをPaaSとして使う事のメリットとして次のような事があります。

- **高速な環境構築**
    - インストールイメージから環境構築をすると時間のかかりがちですが、Database Cloud Serviceではわずかな時間で環境が利用できるようになります。
- **シンプルな手順**
    - インストールイメージからインストールする場合には、インストール条件も考慮した手順を踏む必要がありますが、Database Cloud Serviceを利用すると、わずか数クリックの手順で環境が準備できます。
- **柔軟な構成**
    - 環境構成時に様々な選択オプションがあり、利用ニーズに応じた柔軟な構成が可能です。
- **選択の自由**
    - Oracle Databaseのバージョンやエディション、またオプションなど多種の選択が自由に行えます。

# Database Cloud Serviceのインスタンス作成手順
Database Cloud Service環境の利用手順を説明します。
流れは以下のようになります。

1. Oracle Cloudへログインしダッシュボード画面へアクセス
2. Database Cloud Serviceの作成メニューを選択
3. Oracle Databaseのタイプを選択
    - サービス・レベル
    - バージョン/エディション
4. Oracle Databaseの構成情報を入力
5. 作成開始
6. 作成完了

## 1. Oracle Cloudへログインしダッシュボード画面へアクセス
Oracle Cloudのトライアル環境の申込み方を説明した次の投稿の中でも説明していますが、Oracle Cloudのサインインページからログインが行えます。

- [以前の投稿内容：Oracle Cloudへログイン](http://qiita.com/shinyay/items/c2739190a60cb5126a9d#6-oracle-cloud%E3%81%B8%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3)
- [Oracle Cloudのサインインページ：<br>https://cloud.oracle.com/ja_JP/sign-in](https://cloud.oracle.com/ja_JP/sign-in)

ログインすると次のようなダッシュボード画面が表示されます。

![Dashboard](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/myservices.us.oraclecloud.com_2016-08-15_13-05-23.png)

この画面がOracle Cloudの各種クラウド・サービスの操作や管理をするためのポータルになります。

## 2. Database Cloud Serviceの作成メニューを選択
ダッシュボード画面上の中央部にある「**インスタンスの作成**」プルダウンを押し、「**データベース**」を選択します。

![Menu-DBCS](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/myservices.us.oraclecloud.com_2016-08-15_13-07-30.png)

このインスタンスの作製メニューから各サービスのインスタンス作成操作に入れます。
表示された画面上の「**サービスの作成**」を選択します。
![Create-Service](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/dbaas.oraclecloud.com_2016-08-15_13-09-39.png)

## 3. Oracle Databaseのタイプを選択 - サービス・レベル
まず、「サービス・レベル」を選択します。
![ServiceLevel](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/dbaas.oraclecloud.com_2016-08-15_13-14-45.png)

以下の「サービス・レベル」には選択肢があります。

- Oracle Database Cloud Service
- Oracle Database Cloud Service - Virtural Image

|-|Oracle Database Cloud Service|Oracle Database Cloud Service<br>Virtural Image|
|---|:---:|:---:|
|DBインストール|インストール済み|インストール済み|
|DBインスタンス構成|構成済み|利用者による<br>構成が必要|
|運用ルール<br>パッチ適用やバックアップ|使用可能|使用不可|

よって次のように考えられます。

- Oracle Database Cloud Serviceは、PaaSタイプのクラウド・サービス
- Oracle Database Cloud Service - Virtural Imageは、IaaS上にインストールしたOracle Database環境

なお、トライアル環境なので、請求頻度はいずれを選択しても問題ありません。

- 時間課金
- 月次課金

## 3. Oracle Databaseのタイプを選択 - バージョン/エディション
次にOracle Databaseのバージョンを選択します。
![Version](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/dbaas.oraclecloud.com_2016-08-15_13-15-06.png)

選択できるバージョンは、以下の11gと12cの2バージョンとなります。

|リリース・バージョン|
|:---:|
|Oracle Databae 11g Release2<br>11.2.0.4|
|Oracle Databae 12c Release1<br>12.1.0.2|

![Edition](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/dbaas.oraclecloud.com_2016-08-15_13-15-30.png)

エディションは、オンプレミスでのライセンスとは異なり、4エディションの中からの選択となります。

|データベース・エディション|
|:---:|
|Standard Edition|
|Enterprise Edition|
|Enterprise Edition - High Performance|
|Enterprise Edition - Extreme Performance|

それぞれのエディションの特徴は以下のオラクル掲示の資料の中から抜粋したスライドを参照ください。
High Performanceや、Exytreme Performanceエディションを選択すると、使用できるオプションが追加される事がオンプレミスのライセンス体系と異なっています。

- [Slideshare:Oracle Database Cloud Service：サービス概要のご紹介より抜粋](http://www.slideshare.net/oracle4engineer/oracle-database-cloud-service-55070570?qid=5955eea7-0a67-4203-afec-f8b01742ff8b&v=&b=&from_search=1)
![dbcs-edition](http://image.slidesharecdn.com/databasecloudserviceoverview-151113083727-lva1-app6891/95/oracle-database-cloud-service-24-638.jpg?cb=1464741817)

## 4. Oracle Databaseの構成情報を入力

![ServiceDetail](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/dbaas.oraclecloud.com_2016-08-15_13-24-36.png)

### サービス構成
Database Cloud Serviceの環境構成に関する情報を入力します。

#### シェイプ
サービス構成の中で設定する**シェイプ**という項目があります。
この**シェイプ**とは、クラウド環境のインスタンスに割り当てられるCPUの数とメモリ容量をを示すプロファイルです。

シェイプを選択すると対応するOCPU (Oracle Compute Units)が割り当てられます。

- OCPU
        - OCPUとは、ハイパースレッドを有効にしたIntel Xeonプロセッサの物理コアと同等のCPU性能を提供しています。

次のようなパターンがあります。

|シェイプ|OCPUの数|メモリー(GB)|
|:---:|:---:|:---:|
|OC3|1|7.5|
|OC4|2|15|
|OC5|4|30|
|OC6|8|60|
|OC7|16|120|
|OC1M|1|15|
|OC2M|2|30|
|OC3M|4|60|
|OC4M|8|120|
|OC5M|16|240|

#### SSH公開鍵
Oracle Databaseが稼働しているOSレベル(IaaSレベル)である、Compute Cloudにリモートアクセスするために必要になります。

SSH公開鍵はSSK鍵ペアとして秘密鍵と公開鍵で作る必要がありますが、準備の方法としては大きく２つあります。

1. 事前にssh-keygenなどで作成しておく
    - Linux環境などを主に扱っている基盤担当の人向け
2.  Database Cloud Serviceの作成メニュー上で作成されるものを使用
    - 簡単にDatabase Cloud Serviceを利用始めたい人向け

事前にSSH鍵を作成した場合は、公開鍵をアップロードする事で登録できます。
今回は、Database Cloud Serviceのメニューの中でSSH鍵ペアを作成してみます。

以下の図のように、SSH公開鍵の「編集」ボタンをクリックすると、公開鍵の入力メニューが表示されます。
そこで、「**Create a New Key**」を選択して、「入力」をクリックします。

![SSK-public-key](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/dbaas.oraclecloud.com_2016-08-15_13-25-04.png)

作成できたSSH鍵ペアをダウンロードできるので、ダウンロードし保存しておきます。
この時に作成されたSSH鍵ペアのうち、公開鍵はDatabase Cloud Serviceの作成メニューに登録されている状態になっています。

![SSK-key-download](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/dbaas.oraclecloud.com_2016-08-15_13-25-24.png)

### バックアップおよびリカバリ構成
Database Cloud Serviceで提供するOracle Databaseのバックアップ先に関する情報を入力します。

バックアップ先として指定できる環境は以下の2種類あります。

- クラウド・ストレージ
    - オブジェクト・ストレージを提供しているOracle Cloudを利用
- ローカル・ストレージ
    - ブロック・ストレージとして構成されているOracle Databaseが稼働している環境を利用

#### バックアップの保存先

|保存先|説明|
|---|---|
|クラウド・ストレージとローカル・ストレージ両方|DBが稼働している環境のローカル領域と<br>オブジェクトストレージ(Storage Cloud Service)の両方|
|クラウド・ストレージのみ|オブジェクト・ストレージ(Storage Cloud Service)|
|なし|バックアップをとらない|

#### クラウド・ストレージ・コンテナ
Storage Cloud Service上のオブジェクト・ストレージ・コンテナの名称を入力

コンテナ名の入力フォーマット

```
Storage-<IdentityDomain名>/<コンテナ名>
```

設定するコンテナは以下の2つの方法のうちのいずれかを選択
1. 事前にStorage Cloud Service上に作成したコンテナを選択
2. 新規に作成するコンテナ名を入力。新規に作成する場合は、この後のチェックボックスの**[Create Cloud Storage Container]**を選択する必要あり

#### クラウド・ストレージ・ユーザ名 / パスワード
Storage Cloud Serviceの捜査権限をもつユーザ名とパスワード

#### Create Cloud Storage Container
新規にStorage Cloud Service上にコンテナを作成する場合、このチェックボックスを選択する

Database Cloud Serviceの作成に関係なく、事前にStorage Cloud Service上にコンテナを作成するには、Storage Cloud Serviceが提供するREST APIを利用して作成を行う

- [Create container](http://docs.oracle.com/cloud/latest/storagecs_common/ASAPI/op-v1-%7Baccount%7D-%7Bcontainer%7D-put.html)

### データベース構成
Oracle Database環境作成時に使用するDBCA(Database Configuration Assisntant)で設定するようなデータベースの構成に関する情報を入力

#### 使用可能なデータベース記憶域(GB)
- 15GB ～ 1200GB

#### 管理パスワード
- データベース管理者ユーザのパスワード

#### データベース名(SID)
- SID名
    - デフォルト：ORCL

#### PDB名
 - PDB名
     - デフォルト：PDB1

#### Create Instance from Existing Backup
Databaseのバックアップ (**Database Backup Cloud Service上のバックアップイメージ**)を利用して、インスタンスを作成する

#### 文字セット / 各国語文字セット
- データベースで使用する文字セット
- デフォルト
    - 文字セット：AL32UTF8
    - 各国語文字セット：AL16UTF16

#### Data Guardを使用したスタンバイ・データベース
- 選択するとData Guard構成のスタンバイ・データベースのインスタンスが作成される

#### Oracle GoldenGateの有効化
- GoldenGate Cloud Serviceを利用したレプリケーションを使用する場合に選択

#### "デモ" PDBを組み込む
- 12cの新機能のデモを含んだ「Demos」PDBをデータベースに含める

## 5. 作成開始
構成内容を確認して、「作成」をクリックします。
![confirmation](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/dbaas.oraclecloud.com_2016-08-15_13-29-23.png)

作成中は、以下のようにステータスが**In Progress**となり、アイコンに**砂時計**がつきます。
![in-progress](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/dbaas.oraclecloud.com_2016-08-15_13-38-17.png)

## 6. 作成完了
大体30分程度で作成が完了します。
![complete](https://bytebucket.org/shinyay/images-for-blog/raw/17bef5bc86e931a65456921291de8e6c11a7ce13/qiita/160818_dbcs-instance-creation/dbaas.oraclecloud.com_2016-08-15_14-29-20.png)

# まとめ
Oracle CloudのDtabase Cloud Serviceを利用してデータベース環境を作成してみました。
簡単にOracle Database環境が用意できるのはとても便利です。
また、誰でも環境作成ができるので、Oracle Databaseをインストールした事がないような人でも、これでOracle Databaseを簡単に使い始める事ができますね。