PowerGres

第 3 回 データ移行 – Oracle マイグレーション

このページに記載の情報は、2005 年にリリースした PowerGres Plus V2 を対象としています。PowerGres Plus V2 の販売はすでに終了しています。

PowerGres Plus の最新バージョンに関する情報は、製品紹介ページまたは PowerGres 体験記ページを参照してください。

SRA OSS では、Oracle データベースなど他のデータベースから、PostgreSQL や PowerGres へのマイグレーションサービスを提供しています。

詳細は「データベースマイグレーションサービス」のページをご覧ください。

第 3 回 データ移行 『ツール使って簡単移行 データ編』

はじめに

データベース定義を移行しただけでは、データベースの移行とはいえません。その中に格納されているデータがなければ意味がありません。 第 2 回から引き続き、データ移行の方法を紹介します。「第 2 回 データベース定義の移行」と合わせてご覧ください。

PowerGres Plus はツールを使用することで、データベース定義だけでなく、データの移行も簡単に行えます。

第 3 回では、第 2 回のデータベース定義の移行に引き続き、データを移行するポイントについて説明します。

データベースの移行

このシリーズでは、データベースの移行を以下の順番で説明します。 図 1 はその概要です。

データ移行

図 1: データ移行

今回は、データ移行について説明します。

データ定義の移行

データはデータベース定義と同じ、ora2pg というツールを使用して簡単に移行することができます。 ora2pg は、Oracle からデータを移出 (export) し、テキストファイルに出力します。 必要であれば、修正をして PowerGres Plus に移入 (import) します。

ora2pg によるデータ移行

図 2: ora2pg によるデータ移行

ora2pg のインストール

ora2pg の入手

ora2pg は以下から入手できます。

https://www.samse.fr/GPL/ora2pg/ora2pg-3.3.tar.gz

関連モジュールの準備

ora2pg を使うためには、Perl 5 の実行環境が必要です。 また、以下のモジュールがインストールされているか確認し、インストールされていない場合は、ダウンロードしてインストールしてください。 関連モジュールのダウンロード先の情報は、「第 2 回 データベース定義の移行」で説明していますので、詳細はそちらを参照してください。

インストール

ダウンロードしたファイル「ora2pg-3.3.tar.gz」を任意のディレクトリに解凍します。 今回は、/usr/local に解凍しました。 解凍すると「ora2pg」というディレクトリが作成され、その下にすべてのファイルが格納されています。

データ移出用のサンプルスクリプト作成

データを移出するための簡単な Perl スクリプト「export_data.pl」を作成します。

export_data.pl
#!/usr/bin/perl

BEGIN {ldelim}
  $ENV{ldelim}ORACLE_HOME{rdelim}='/home/oracle/app/oracle/product/10.1.0/db_1';
$ENV{ldelim}NLS_LANG{rdelim} = 'JAPANESE_JAPAN.JA16EUC';
}

use strict;
use Ora2Pg;

my $schema=new Ora2Pg (
    datasource=>'dbi:Oracle:host=101.34.244.255;sid=demo1;port=1521',
    user=>'postgres',
    password=>'postgresplus',
    schema=>'POSTGRES',
    type=>'DATA',
    debug=>1
);

$data->export_data('/home/oracle/data_for_migrate/data.sql');
exit(0);
補足
ORACLE_HOME Oracle インストールディレクトリ
NLS_LANG Oracle データベースのコード系を指定してます。
datasource Oracle にアクセスするための接続方法を指定します。
user Oracle にアクセスするユーザ名
password ユーザ名のパスワード
schema 移出する定義が行われているスキーマを指定します。 必ず大文字で記述してください。
TYPE 出力する情報に「DATA」と指定します。 表定義と、インデックス定義の情報が出力されます。
schema->export_data PostgreSQL 用データファイルの出力ファイル名

Oracle からのデータの移出

ora2pg を解凍したディレクトリに移動して以下のコマンドを入力します。

perl export_data.pl ora2pg.conf

PowerGres Plus データ移入用の data.sql が作成されます。 data.sql は、PowerGres Plus 用に変換されて出力されます。

ora2pg の詳細な使用方法については、以下の URL を参照してください。

https://www.samse.fr/GPL/ora2pg/ora2pg.html

PowerGres Plus へのデータの移入

psql コマンドを以下のように入力し、データを移入します。

$ psql -d house < /home/oracle/data_for_migrate/data.sql
最後に

今回は、ツールを利用して Oracle のデータを PowerGres Plus に移行しました。 ツールを利用することで、簡単にデータベース定義を PowerGres Plus に構築できます。 今回、データベース移行を行うツールを探しているとき、ora2pg 以外にも、「オクトパス」と呼ばれるデータ移行ツールがありました。 機会があれば、体験記の中でご紹介していきたいと思います。

SRA OSS Online Shop

製品・サービスに関するお問い合わせ
03-5979-2701

お問い合せ受付時間 月 - 金 10:00 - 17:00

メールフォームでのお問い合わせ

ページトップへ