1
/
5

OCIのAutonomous Databaseにはデータを簡単に入れられますよ!

こんにちは、那須です。

最近、Oracle Cloud Infrastructure(OCI)を触ることがあったので、備忘も兼ねて記事として公開します。何をやったかというと、OCIのサービスの1つであるAutonomous Transaction Processing(ATP)を作成して、そこにローカル保存していたデータをインポートする、という流れです。

※Oracle公式ドキュメント等にはデータをロードするという表現が使われていますが、個人的にインポートするという表現の方がしっくりくるので、この記事ではインポートで統一します。

ATPはAutonomous Database(ADB)の1つで、さまざまな用途のデータベースとして使われます。ADBの詳細については、Oracleさんから公開されている紹介資料をご参照ください。

簡単に説明すると、今まで誰かがDB運用業務として実施していたタスクを、Oracleさんがやってくれるという素晴らしいサービスです。物理サーバでの異常検知時の対応はもちろん、既知の不具合が発生すればその修正、自動サービスリクエスト(SR)の起票、バックアップ管理、オートスケーリング、クエリの最適化などをもう運用担当者が気にする必要がなくなります。まだそのような状況になったことがないのでわかりませんが、今までやっていたけどやらなくても良くなるというのはものすごく嬉しいことですね。

そんなATPにデータをインポートする機会があったのですが、かなり楽にできたのでご紹介します。よくあるのは、Data Pump等でインポートするやり方ですが、今回ご紹介するやり方はOCIコンソールからの操作だけで完結します。

実際の流れ

まずデータをインポートするATPを準備します。コンソールで対象のATPの詳細を表示し、ツールタブにあるデータベース・アクションを開くを押します。

ログイン画面に切り替わりますので、ATP作成時に設定したデータベースのユーザ名とパスワードでサインインします。

起動パッドという画面に移りますので、そこでデータ・ロードをクリックします。

今回はローカルにあるExcelファイルのデータをインポートしたいので、以下の画像のように選択して次に進みます。他のデータベースやクラウドストレージからデータを入れることもできるようです。Excelファイルのままインポートできるのは楽でいいですね。

↓こんな画面になりますので、インポートするファイルを準備しましょう。

インポートするデータはExcel(xlsxファイル)で準備しました。1行目にカラム名、2行目以降に実際のデータを入れておきます。今回はこの記事での紹介用に以下の画像のようなデータを準備しました。
IDは数値、NAMEとGENDERは文字列、CREATED_ATは日付データが入っていますね。

上記で準備したファイルをドラッグ&ドロップします。ちなみに、10MB以上のExcelデータだと何度やってもうまくアップロードできませんでした。その場合は、ExcelファイルをCSVに変換してからアップロードするとうまくいきますよ。
アップロードできたら、以下の画像の部分をクリックして内容を調整していきましょう。

一番上にテーブル名があるので、これを修正しましょう。Excelファイルをアップロードした場合は、シート名がそのまま入っています。ですので、アップロードする前にシート名をテーブル名に修正しておけばこの手間を省けますね。あとは、無効データをNULL変換するかどうかや、データ型の修正をおこないます。データ型はアップロードされたファイルを見て自動で提案してくれるので、ほとんどの場合は何もしなくても期待するデータ型になっていると思います。

上記の調整が完了したら、開始ボタンを押しましょう。これで実際のデータベースへのインポートが始まります。

今回は10件しかないデータだったのですぐに完了しました。約65万件のデータが入ったCSVファイルをインポートした時は3分程度で完了しました。これでデータのインポートは完了です。


インポートしたデータの確認

起動パッドの画面でSQLをクリックします。

クエリを実行できる画面が開きますので、ここでデータが問題なく入っていることを確認できます。


さいごに

今回はOCIのATPにデータをインポートしてデータを確認するところまでをご紹介しました。Data Pump等のCLIで実施することを考えると、比較的簡単なのでエンジニアじゃない方でも手順さえあれば簡単に実施できそうですね。

ADBは今回ご紹介した内容以外にも、REST APIをデプロイしたり、モデリングツールが付属していたり、ADBのデータを使ったWebアプリを簡単に構築できるようになっています。これまでのOracleDBやその周りのシステムを準備する時にかかっていた時間や手間が大幅に少なくできるようになっているので、皆さんもぜひADBを触ってみてください!

今は自社事業ではOCIは利用していませんが、共創事業ではOracleを使っている案件があります。AWSと記載がありますが一番近い募集が↓こちらになりますので、今後OracleDBやOCIにも触れてみたい方はぜひ話を聞いていただけると嬉しいです!


サーバーサイドエンジニア
他人事じゃない仕事!大企業の新規事業プロジェクトのサーバーサイドエンジニア
dotDとは! 【世の中に新しい価値を生み出し続ける事業創造ファーム】 私たちは「共創事業」と「自社事業」の2つを軸に、ひとりひとりの「当たり前」に変化をもたらす価値を創造し続ける「事業創造ファーム」です。 1. 共創事業 大企業の新規事業における構想・企画からプロトタイピング、製品版開発まで、先方の持っている課題感や構想をヒヤリングすることから始め、事業を成功に導くためのお手伝いをしています。 顧客企業の社会的影響力や利用可能な資源、dotDの強みである発想力や敏捷性・柔軟性、その両方を掛け合わせることで、ひとりひとりの「当たり前」に変化をもたらす価値を創造し続けます。 2. 自社事業 社会課題やメンバー自身の身近にある課題に対して仮説検証を繰り返しながら、自社でサービスの企画・開発・運営を行っています。 現在はPetTech(ペット x テクノロジー)、EdTech(エデュケーション x テクノロジー)での新サービス開発を中心に取り組んでいますが、今後も積極的にチャレンジする領域を広げ、新たな価値を創造していきます。
株式会社dotD


株式会社dotD's job postings

Weekly ranking

Show other rankings
Invitation from 株式会社dotD
If this story triggered your interest, have a chat with the team?