「開発環境の準備、もっと早く終わらないかな…」「本番データで安全にテストしたいけど、環境構築が面倒…」
データベース担当者の皆さん、こんにちは!こんな悩み、日常茶飯事ですよね。私もつい先日まで、データベースのコピーも含めた新しい検証環境の用意に、半日以上を費やしていました。
特にデータベースのコピーは、データ量が膨大になると、単純なファイルコピーのように簡単にはいきません。データの整合性を保ちながら安全に移行するためのエクスポートやインポート作業に時間がかかり、予期せぬエラーが発生することも少なくないため、非常に手間と時間を要する作業でした。
しかし、そんな長年の悩みを一瞬で解決してくれるOCI (Oracle Cloud Infrastructure) のBaseDBのクローン機能を試したところ、あまりの簡単さとスピードに衝撃を受けました!
この記事では、私が実際に社内環境で試した手順を交えながら、BaseDBのクローン機能の魅力と使い方、そして注意点までを解説します。
データベース環境の準備は半日もかかっていたのか?
従来のデータベースコピーにおける環境準備の課題
冒頭で半日以上と書きましたが、データがテラバイト級にもなると、丸一日かかっても終わらないケースさえあります。データベースのコピーがなぜこれほどまでに大変なのか、その主な理由を挙げてみましょう。
1. データのエクスポート・インポートの長時間化:
一般的な方法として、Data Pumpなどのツールでデータを一度ファイル(ダンプファイル)に書き出し、それを新しい環境で読み込ませる(インポートする)方法があります。しかし、データ量が多ければ多いほど、この書き出しと読み込みの処理時間自体が膨大になります。
2. 中間ストレージの確保:
エクスポートしたダンプファイルを保存するための一時的な置き場所(ストレージ)が必要です。本番DBと同じくらいの容量を求められることもあり、その確保と管理だけでも一苦労です。
3. 複雑な手順:
ターゲットとなるサーバーのOS設定、ネットワーク設定、Oracleソフトウェアのインストール、パッチ適用、そしてデータベースの初期作成…と、インポート作業にたどり着くまでに多くの手作業が発生します。
OCI BaseDBが提供する2種類のクローン機能
OCIのBaseDBクローン機能は、一言でいえば「稼働中のデータベースのコピーを、超簡単かつ高速に作成できる機能」です。この機能には、大きく分けて2つの種類があります。
1. DBシステムのクローニング
データベースサーバーを丸ごと複製するイメージです。OS、ミドルウェア、データベースの構成、そしてデータに至るまで、システム全体がそっくりそのままコピーされます。
※一部クローンに含まれない設定もございます。
こんな時に便利:
- 本番と全く同じ構成でパッチ適用の事前検証をしたい時
- システム全体の性能テスト環境を用意したい時
2. PDBのクローニング
こちらは、マルチテナント・アーキテクチャのプラガブル・データベース(PDB)という、データベース内の特定領域だけを複製するイメージです。大きな箱(CDB)の中に入っている小さな箱(PDB)だけをコピーするようなもので、より手軽に利用できます。
こんな時に便利:
- 特定のスキーマやアプリケーションデータだけを開発者に渡したい時
- 既存のDBサーバーリソース内で、新しい開発環境を素早く作りたい時
今回は、よりインパクトの大きかったDBシステムのクローニングを実際に試してみました!
やってみた!BaseDBのクローン作成手順(実録)
百聞は一見に如かず。私が社内検証環境で行った手順を、OCIコンソールの画面イメージと共にご紹介します。本当に驚くほど簡単でした。
Step 1: クローン元のDBシステムを選択
まず、OCIコンソールにログインし、ナビゲーションメニューから「Oracle AI Database」>「Oracle Base Database Service」と進みます。
クローンしたいDBシステムの一覧が表示されるので、対象の名前をクリックします。
Step 2: 「クローン」操作を開始
DBシステムの詳細画面が表示されたら、「アクション」というプルダウンメニューの中の「クローン」という項目をクリックします。
Step 3: クローン先の情報を入力
クローンの作成画面が開きます。ここで、新しく作るDBシステム(クローン先)の情報をいくつか入力します。
入力内容に関しては、以下のオラクル社資料をご確認ください。
https://docs.oracle.com/ja/cloud/paas/base-database/clone-dbs/#GUID-6B7B1411-8C19-4E2E-BB47-2A1114B87ED8
※クリックすると、オラクル社のサイトに移動します。
Step 4: 実測30分未満!あっという間に作成完了
必要な情報を入力し終えたら、一番下の「クローン」ボタンをクリックします。
あとは待つだけです。ステータスが「プロビジョニング中」に変わり、私の環境では30分もかからずに「使用可能」になりました。コーヒーを一杯飲んでいる間に、本番と瓜二つの検証環境が完成してしまったのです!
こんな時に使いたい!クローン機能のおすすめ活用シーン3選
この感動的な手軽さを、ぜひ皆さんにも味わってほしいです。
開発・テスト環境の即時準備
新メンバー用の環境も、プロジェクトごとの使い捨て環境も、もう気兼ねなく作れます。
これまでは数日待ってもらっていた環境渡しが、依頼されたその日のうちに完了。開発のリードタイムを大幅に短縮できます。
本番データを使った安全な検証・調査
本番環境に影響を与える心配は一切なし。クローン環境で心ゆくまでデータ分析や不具合調査ができます。
「データ量が少ない開発環境では再現しない不具合」や「本番データでのSQLパフォーマンス確認」も、安全かつ確実に実施できます。
パッチ適用やアップグレードのリハーサル
本番と全く同じクローン環境でリハーサルを行えば、作業手順の確認や影響範囲の特定が確実に行えます。
特に「実際の処理に何分かかるか」という正確な時間を把握できるため、本番メンテナンス時の停止計画も精緻に立てられます。
実際に使ってわかったクローン機能の注意点
実際に使ってみて感じた、いくつか注意点も共有します。
注意点1:思わぬコスト超過も? クローン環境の消し忘れに注意
クローンしたDBシステムにも、利用料金がしっかり発生します。私も検証後に消し忘れて、後で請求を見て少しヒヤッとしたことがあります(笑)。不要になったクローンは即削除!が鉄則ですね。
注意点2:ホスト名やIPアドレスは新しくなる
クローンはあくまで新しい別のシステムです。アプリケーションからの接続先設定などは、クローン先の新しい情報に忘れずに変更しましょう。
注意点3:本番データ利用時のマスキング検討
本番データを開発者が利用する場合、個人情報などの機密データはマスキング(無意味な値に置き換えること)が必要になる場合があります。OCIにはData Safeというマスキング機能もあるので、セットで検討すると良いでしょう。
まとめ
BaseDBのクローン機能は、データベース環境の準備という面倒な作業を過去のものにする、まさに革命的な機能です。この手軽さとスピードは、日々の運用業務を劇的に効率化し、開発者の生産性を大きく向上させてくれるはずです。データベース環境の準備に少しでも課題を感じている方は、ぜひ一度、この魔法のような機能を試してみてください!
Oracle Cloudとは?という方へ
Oracle Cloudとはなにか、図解や簡単な言葉でわかりやすく20分程にまとめた動画です。
Oracle Cloudがなぜ選ばれているか、事例も交えて魅力も説明しています。
ご興味のある方はどうぞご活用ください。
執筆者情報
2016年入社。Oracle Databaseのフィールドエンジニアとしてお客様先での構築支援やOracle Database Applianceに従事。 SQL関連の教育セミナーの講師も務める。2021年からはOracle Exadata Database Machineを中心に担当。 趣味はサウナ。 ...show more