ペンドリブン

1985年生まれ 仕事・家庭・etc. 雑記

*

Ora2Pgを使ってOracleからPostgresqlへ定義、データを丸ごと移動する

      2016/01/05

Oracle上にあるデータベースをPostgresqlに復元して、pgAdminとかでもっと気軽にダンプしたりリストアしたかったのでOra2Pgを使ってみた。

  

Ora2Pgのインストール手順

perlのインストール

http://www.activestate.com/activeperl

必要なモジュールインストール

Perl Package Managerで下記を検索しインストール

フォルダを展開して任意の場所に配置し、コマンドプロンプトで下記実行

perl Makefile.PL
dmake && dmake install

※MinGW64を入れろと途中で起こられたので、Perl Package Managerで同じくインストール

実行

下記のようなperlスクリプトを作成し実行

perl パールスクリプトファイル名 ora2pg_dist.conf
BEGIN {
# Oracleデータベースのインストール先
$ENV{ORACLE_HOME}='O:\product\10.2.0\db_1';
}

use strict;
use Ora2Pg;

my $schema=new Ora2Pg (
debug=>1,
export_schema=>1,
# host=OracleのIPアドレス
datasource=>'dbi:Oracle:host=IPアドレス;sid=SID;port=1521',
# ユーザ名
user=>'',
# パスワード
password=>'',
# エクスポートする内容を記述
# TABLE:テーブル定義、VIEW:VIEW定義、COPY:COPYコマンドでインポートできる形式でデータ出力、DATA:INSERT文でデータエクスポート
type=>'',
# oracleのencode
nls_lang=>'JAPANESE_JAPAN.JA16EUC',
# Postgresqlのencode
client_encoding=>'EUC_JP',
# Oracleのどのスキーマを出力するか
schema=>'',
# 出力したスキーマを強制的に変更
# Oracleでaaaというスキーマを出力し、Postgresqlのpublicスキーマに入れたい場合
# schema=>'aaa'、pg_schema=>'public'
pg_schema=>''
);
$schema->export_schema('C:\hoge.sql');
exit(0);

 - プログラム ,