はじめに
前回はアクセラテクノロジが運営するブログ記事の総合検索サイト「アクセラナビ(http://www.accelanavi.com)※対象ページ閉鎖」の「PostgreSQLからOracleへのデータベース移行」についての概要を説明しました。
今回は、技術面における問題点や注意点について掘り下げていきます。実際に移行を考えている方々には参考となる面もあるかもしれません。
前回までの内容を踏まえて、移行のために決定すべきポイントを簡単に整理しますと、最初に取りかかるべき内容として、「移行後のデータ定義」があります。
「移行前(PostgreSQL)のデータ型やデータベース内のオブジェクトが、そのまま移行後(Oracle)に使用できるか否か?」を十分検証することが必要です。
データベース定義などの変更がアプリケーションに与える影響も判断して、仕様修正もここで決定しておく必要があります。表とそのデータだけにとどま らず、データベースで実装された部分の機能はすべて移行するため、トリガやプロシージャなどアプリケーションの一部についても考慮する必要があります。
今回の事例の場合では、データベースをOracleに選定した際に確認を済ませており、特に大きな問題点はあがりませんでした。
移行前後のデータ型が決定したならば、次に以下の2点を考慮することになります。
- 移行環境の準備(並行稼働可能)
- 移行方法の選択
表1の2点はシステムの環境によって様々な制約を受ける部分であり、その解決方法もシステムごとに異なります。アクセラテクノロジの場合では、移行 環境の準備が移行方法を決定する中で1つのキーとなっていましたが、その環境にあった最適で安全な方法を考慮しなければなりません。
これらを決定する上での技術的な問題点と注意点をいくつか紹介します。
技術的な問題点
技術的な問題点として、以下の3つを取り上げます。
- データ型とそのサイズの問題
- 移行手段の検討
- 移行スケジュール上の問題(移行速度)