Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

すぐ使える! Oracle Database Cloudのトライアル環境の取得とテーブル・データの作成

Oracle Database Cloudでいってみよう! ~ モダンな企業向けクラウドアプリを一番かんたん・安全につくる方法 【第2回】

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/12/17 14:00

 今回は、Oracle Cloudでデータベースサービスのトライアル環境を作成し、最もシンプルなスキーマサービスのトライアル環境を作成します。ユーザーにOracleソフトウェアを意識させず、自身のアプリケーション開発に専念できるサービスとなっており、基本操作も本稿で紹介するGUIで行えます。そのため、Oracleデータベースを全く扱ったことがない方でも、汎用的なRDBMSサービスとして利用できます。

前回紹介したとおり、データベースサービスにはいくつかのタイプが用意されています。今回はその中で最もシンプルな「スキーマサービス」のトライアル環境を作成します。

このスキーマサービスは完全に管理されたRDBMSのクラウドサービスであり、ユーザーはサーバープロセスの管理やデータベース本体の管理などを一切気にする必要がありません。バックアップや障害対策、各種パラメーターの調整もすべてクラウド側で実施されます。

トライアル環境を構築した後には、テーブルとそのフィールド(列)を定義し、データを追加(1件追加とCSVファイルからの一括追加)するところまでの基本操作をGUI上から行ってみます。

トライアル環境を取得する

まず、Oracle Database Cloud Serviceのサイトにアクセスし、[試してみる]をクリックします。

Oracle Database Cloud Serviceのサイト
Oracle Database Cloud Serviceのサイト

「30日間無料トライアル」画面で、Database Schema Serviceの[トライアルを開始]をクリックします。

トライアルを開始
トライアルを開始

Oracleのシングルサインインの画面に遷移しますので、Oracleプロファイルをお持ちであればそのままログインします。Oracleプロファイルをお持ちでない場合は、右側の「プロファイルの作成」をクリックして新規にアカウントを作成し、その後このページに戻ってサインインしてください。

シングルサインインの画面
シングルサインインの画面

「Oracle Database Cloud Serviceへのトライアル・サブスクリプションのサインアップ」に移るので、アカウント情報を入力して[次へ]をクリックします。各フィールドの詳細はそのフィールド右にある「?」マークをクリックすると表示されます。

アカウント情報を入力
アカウント情報を入力

この画面で[検証コードのリクエスト]ボタンをクリックすると、自分のメールアドレス宛に検証コードが送信されます。メールを確認し、そのコードを入力して[次へ]をクリックします。

検証コードのリクエストと入力
検証コードのリクエストと入力

サービスの詳細情報を入力します。この画面には、アイデンティティ・ドメインなど、Oracle Cloudを利用する上で知っておくべきパラメータがいくつかあります。順に説明しましょう。

サービスの詳細情報を入力
サービスの詳細情報を入力

「アイデンティティ・ドメイン」とは、このデータベースサービスが所属するグループです。1つのアイデンティティ・ドメインには複数のデータベースサービス、あるいは他のサービスを所属させることができ、それらを管理するユーザーも複数登録することができます。

アイデンティティ・ドメインのイメージ
アイデンティティ・ドメインのイメージ

一般的なユースケースでは、1つの企業につき1つのアイデンティティ・ドメインを作成し、その中に必要なサービスとユーザーをすべて含めていく形が考えられます。より大きな企業では、プロジェクトや部門ごとにアイデンティティ・ドメインを作成することも考えられます。

既存のアイデンティティ・ドメインがない場合は、先ほどの画面のように「新規アイデンティティ・ドメインの作成」を選択して、新しいアイデンティティ・ドメイン名を入力してください。

「サービス名」は、アイデンティティ・ドメイン内で今回作成するデータベースサービスを一意に識別するための文字列です。

「リージョン」はこのアイデンティティ・ドメインに属するサービスが稼働するデータセンターの場所です。

すべてのフィールドを入力したら[トライアルのリクエスト]ボタンをクリックします。

最後に確認画面が表示され、これでトライアル環境のリクエストは完了です。

確認画面
確認画面

なお、トライアル環境が作成されるまで、1〜2日を要することがあります。作成が完了すると、次のように一時パスワード、データセンターが記載されたメールが送られてきます。

トライアル環境が作成されると送られてくる、一時パスワードやデータセンターが記載されたメール
トライアル環境が作成されると送られてくる、一時パスワードやデータセンターが記載されたメール

トライアル環境にログインする

トライアル環境の作成ができたとメールが届いたら、さっそくログインしてみましょう。

「Oracle Cloudサービスのサイン・イン」ページにアクセスし、「マイ・サービス」セクションにて「データ・センター/地域を選択」のプルダウンメニューから、メールに記載されていたデータセンターを選択し、[マイ・サービスにサイン・イン]ボタンをクリックします。

「Oracle Cloudサービスのサイン・イン」ページ
「Oracle Cloudサービスのサイン・イン」ページ

サイン・インするためのページへリダイレクトされるので、まずアイデンティティ・ドメインを入力し、[実行]ボタンをクリックします。

サイン・インするためのページでアイデンティティ・ドメインを入力
サイン・インするためのページでアイデンティティ・ドメインを入力

次に、設定したユーザー名とメールに記載のあった一時パスワードを入力します。初回アクセス時はパスワードを変更するための画面に遷移しますので、そこでパスワードの変更を行います。最終的には、次のようなダッシュボードに遷移します。

ダッシュボード
ダッシュボード

このダッシュボードには、ログインしたユーザーが管理できるサービスの一覧が表示されます。最初は、作成したばかりのスキーマサービスが1つ表示されているはずです。

Application Express(APEX)にアクセスする

テーブル作成などのデータベース基本操作は、Application Express(以下、APEX)と呼ばれる管理コンソールで行います。APEXはデータベース基本操作だけでなく、Webアプリケーションの開発や、データベースにHTTP/HTTPSでアクセスするためのREST APIの作成もできる、極めて高機能な開発フレームワークです。

APEXにアクセスするには、ダッシュボード画面で対象サービスの「サービス・コンソールを開く」をクリックします。

APEXにアクセスするためのリンク
APEXにアクセスするためのリンク

クリックすると、次のようにAPEXのトップページが表示されます。

APEXのトップページ
APEXのトップページ

ページに4つのパネルが並んでいるとおり、APEXは大きく分けて、次の4つの機能を提供しています。

Application Builder
アプリケーション開発機能を提供します。ウィザード形式、ドラッグ&ドロップ形式にてWebアプリを開発することができます。
SQL Workshop
テーブルを作成、更新、一覧したり、任意のSQLコマンドを実行するコンソールを備えています。また、データベースにHTTP/HTTPSでアクセスするためのREST APIの作成もここで行います。
Team Development
開発プロジェクトのマイルストーンやTodo、バグを登録し、チームで共有する機能を提供します。
Package Apps
パッケージングされたAPEXアプリを管理する機能を提供します。APEXで作成したアプリケーションはパッケージとして配布可能な形にまとめることができ、配布されているパッケージをここでインストール、管理することができます。

これらの機能を使いこなせるようになれば、データベースサービスだけで様々なアプリケーションを開発、提供することができます。今回は始めてAPEXを体験するということで、テーブルの作成といった基本操作を行うツールとして簡単に使ってみましょう。

テーブルを作成する

まず、新しいテーブルを1つ作成してみましょう。APEXのトップページで、ページ上段にある「SQL Workshop」プルダウンメニューから「Object Browser」をクリックします。

「SQL Workshop」プルダウンメニューから「Object Browser」をクリック
「SQL Workshop」プルダウンメニューから「Object Browser」をクリック

すると、Object Browserの画面に遷移し、左のサイドバーには現時点でデータベースに存在するテーブルの一覧が表示されます。次に右上のプラス(+)ボタンをクリックし、「Table」を選択します。

右上のプラス(+)ボタンをクリックし「Table」を選択
右上のプラス(+)ボタンをクリックし「Table」を選択

これにより、テーブル作成のウィザードが始まります。最初にテーブル名とフィールドを定義します。今回は「プロジェクト管理アプリ」を作成するという仮定で、「project」テーブルを作成してみます。次のようにプライマリキーとなる「id」列、プロジェクト名となる「name」列、期限を示す「due_date」列を作成して、[Next]ボタンをクリックします。

projectテーブルのフィールド(列)を設定
projectテーブルのフィールド(列)を設定

次に、プライマリキーを設定します。新しいシーケンスから自動生成することを想定し、「Populated from a new sequece」を選択します。また、列には「ID(NUMBER)」を選択して、[Next]ボタンをクリックします。

プライマリキーを設定
プライマリキーを設定

次に外部キーの設定ですが、今回は特に設定しませんので、そのまま[Next]ボタンをクリックします。

今回は外部キーを設定しない
今回は外部キーを設定しない

次に制約の設定ですが、こちらも今回は特に設定しませんので、そのまま[Next]ボタンをクリックします。

制約も設定しない
制約も設定しない

設定は以上です。[Create Table]ボタンをクリックして、projectテーブルを作成します。

projectテーブルを作成
projectテーブルを作成

Object Browserのテーブル一覧の画面に戻ると、projectテーブルが作成されていることが分かります。

Object Browserのテーブル一覧にprojectテーブルがある
Object Browserのテーブル一覧にprojectテーブルがある

テーブルの作成が完了しました。ウィザード形式ですべて設定できるので、create table文や列のデータ型など、SQLの文法を覚えていなくても、あるいはOracleデータベースに精通していなくても、簡単にテーブルを作成できるのがお分かりいただけると思います。

テーブルにデータを追加する

続いて、作成したテーブルにデータを1行追加してみましょう。Object Browserで左サイドバーのテーブル一覧から[PROJECT」を選択します。次に「Data」タブを選択して「Insert Row]ボタンをクリックします。

projectテーブルにデータを1行する
projectテーブルにデータを1行する

すると、データ入力のフォームが表示されます。Id列は自動で入力されますので、それ以外の項目を適当に入力して[Create]ボタンをクリックします。

Id列以外を入力
Id列以外を入力

データ一覧の画面に戻り、データが挿入されていることが分かります。

データが挿入された
データが挿入された

同じような手順でデータの更新、削除も行うことができます。

テーブルにデータをロードする

次に、CSVファイルから一括でデータをロードしてみます。

まず、下記のようなデータでCSVファイルを作成しておきます。1行目にprojectテーブルの列名、2行目以降をその列のデータで構成します。必須でない項目は空でも構いません。

一括ロードするデータを書き込んだCSVファイル
一括ロードするデータを書き込んだCSVファイル

APEXに戻り、上段の「SQL Workshop」プルダウンメニューから「Utilities > Data Workshop」を選択します。

「Data Workshop」を選択
「Data Workshop」を選択

データロードにはいくつかの方法がありますが、今回はCSVファイルを想定しているため、「Text Data」を選択します。

データロードの方法を選択
データロードの方法を選択

データロードのウィザードが始まります。ロード先として既存のテーブル[Existing Table」を選択し、ロードデータとしてファイル「Upload file (comma separated or tab delimited)」を選択して「Next]ボタンをクリックします。

データロードのウィザード
データロードのウィザード

ロード先のテーブルを選択します。Table Ownerはデフォルトで選択されているままとし、Table Nameで先ほど作成した「PROJECT」を選択します。

ロード先のテーブルを選択
ロード先のテーブルを選択

「File」に、あらかじめ作成しておいたCSVファイルを選択します。また、CSVファイルの文字コード(エンコーディング形式)を「File Character Set」で選択し、[Next]ボタンをクリックします。

ロードするデータファイルとその文字コード(エンコーディング形式)を選択
ロードするデータファイルとその文字コード(エンコーディング形式)を選択

CSVファイルのヘッダー(1行目)が列名と一致すれば、正しくデータが各フィールドにマッピングされているはずです。もし正しくなければファイルを修正するか、「Load Data - Column Mapping」画面の「Column Names」で直してください。最後に[Load Data]をクリックすれば完了です。

「Load Data - Column Mapping」画面
「Load Data - Column Mapping」画面

ロード結果は次のように表示されます。「Failed」列を見て、失敗したデータがなかったかどうか確認しておくとよいでしょう。

ロード結果の表示
ロード結果の表示

Object Browserでprojectテーブルを表示し、データがロードされているかどうか確認してみてください。成功していれば、次のように2行追加されているはずです。

2行追加されている
2行追加されている

まとめ

本稿では、Oracle Database Cloudの中でも最もシンプルで使いやすいスキーマサービスの環境を作成するとともに、APEXという管理・開発ツールを使った基本的な操作を説明しました。

スキーマサービスはOracleデータベース固有の知識を必要とせず、Oracleデータベースを触ったことがないユーザーでもアプリケーション開発に使えます。環境はインスタントに立ち上げることができて、開発ツールも多機能。また、Oracleデータベースと全く同じエンジンを使い、開発元であるOracle自身が運用していることで高い性能や信頼性なども期待できます。

中小規模のアプリケーションのプラットフォーム選びにおいて、これまでの考え方を変える選択肢になるのではないかと、筆者は考えています。

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 中嶋 一樹(ナカジマ カズキ)

    日本オラクルのエバンジェリスト。Cloud Platformに関するエンジニアリングと啓蒙活動を担当。クラウドのビルディングブロックを使ったモダンなアプリケーションの開発、エコシステムの構築をライフワークにしている。公私ともに何かを開発していることが多い。

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5