はじめまして。utsugiです。今まではオンプレミス環境で、主としてデータベースやデータ連携に携わってきました。AWS関連でも、そういった記事が書ければ良いなと思っています。
初回のシリーズでは、オンプレミス環境のOracleのデータをAWS上のRDS for Oracleに移行する主な手法について比較していこうと思います。
一般的にデータベースの移行方法は多種多様で、要件に応じた移行方法の検討が必要になります。これは、オンプレミス環境からクラウド環境に移行する際にも当てはまります。本記事が、検討時に少しでもお役に立たれば幸いです。それでは、さっそく、各手法についての概要を見ていきましょう。
目次
∗ OracleからRDSへのデータ移行方法 ∗ ∗ OracleからRDSへのデータ移行方法の概要 ∗ ∗ OracleからRDSへの移行方法の特徴比較 ∗ まとめ
OracleからRDSへの主なデータ移行方法
OracleのデータをRDSに移行する方法は複数ありますが、今回は比較的取り組みやすいと思われる方法について比較していきます。
なお、本記事に記載している方法以外も含めた詳細については、下記のホワイトペーパーにまとめられていますので、実際の移行検討時等には、ご確認いただければと存じます。 Strategies for Migrating Oracle Databases to AWS
また、今回はオンプレミス環境のOracleのデータ(テーブル定義等のメタデータ含まず)をRDS for Oracleに移行するという限定的な観点での比較を記載します。
定義を含めた全体の移行という観点ではないので、ご了承いただければと存じます。
OracleからRDSへのデータ移行方法の概要
移行方法 | 概要 |
---|---|
Database Migration Service(DMS) |
AWSが提供しているデータベース移行サービスです。 移行専用のインスタンスをAWS上に作成し、そのインスタンスを通して、移行元からデータを移行先に送ります。 全量の移行だけでなく、差分データのレプリケーションにも対応しています。 詳細: AWS Database Migration Service |
Data Pump |
Oracleが提供しているエクスポート/インポート用のユーティリティです。 実データだけでなくメタデータも含めることができ、移行するオブジェクトを詳細に指定することもできます。 エクスポートしたダンプファイルは実行サーバに生成され、インポートするためにはダンプファイルを対象サーバに配置する必要があります。 詳細: Oracle Data Pump |
SQL*Loader |
Oracleが提供しているデータロード用のユーティリティです。 どのようにデータをロードするかを細かく定義することができます。 データはテキストファイルなので、移行する前に対象データを修正することもできます。 詳細: SQL*Loader |
マテリアライズド・ビュー |
Oracleが提供している機能の1つです。 通常のビューは実データを持ちませんが、マテリアライズド・ビューは実データを保持します。 ログ機能を利用すれば、マスターテーブルの更新差分だけをマテリアライズド・ビューに反映することもできます。 詳細: 読取り専用マテリアライズド・ビューの管理 |
それぞれ向き不向きはありますが、利用方法次第では、データの移行に用いることができる機能です。DMS以外の手法は、Oracle管理者の方にとっては馴染み深いものなのではないでしょうか。
続いて、各手法の特徴を見ていきましょう。
OracleからRDSへの移行方法の特徴比較
移行方法 | 簡易性 | ダウンタイム | 更新差分の取得 | 移行元ARCHIVELOGモード | 移行元サプリメンタル・ロギング | オンプレミス環境とクラウド環境の接続 | 追加料金 |
---|---|---|---|---|---|---|---|
Database Migration Service(DMS) | 容易 | 短い(※1) | 可能 | 必要 | 必要 | 必要 | 必要(※2) |
Data Pump | 標準 | 長い | 不可能 | どちらでも可 | どちらでも可 | どちらでも可 | なし |
SQL*Loader | やや手間 | 長い | 不可能 | どちらでも可 | どちらでも可 | どちらでも可 | なし |
マテリアライズド・ビュー | やや手間 | 短い | 可能 | どちらでも可 | どちらでも可 | 必要 | なし |
※1: 利用する移行タイプ(全量、全量+差分、差分)によります。 ※2: DMS自体の利用料金です。
比較検討すべき項目が絞ってありますが、おおよその特徴は掴めると思います。どれも一長一短ですね。
まとめ
代表的だと思われるデータ移行方法について、概要を紹介してきました。
クラウド環境への移行特有の考慮点もありますが、オンプレミス環境同士の移行と同じく、事前検討が大切なことは変わりありません。
また、ここで見てきた移行方法だけが全てではありませんし、複数の手法を組み合わせて移行するようなこともできます。
次回以降は、各移行方法についての詳細を掘り下げていく形にできればと思います。それでは、またお会いしましょう。