2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ora2pgのインストールから変換までを行う(Oracle→PostgreSQL)

Last updated at Posted at 2024-03-08

ora2pgとは

ora2pgとはOracleまたはMySQLからPostgreSQLへの移行を支援する移行ツールで、なんかいい感じに自動で型とか変換してくれるらしい。うれぴー

今回の目標

ora2pgを使ってOracleで使用していたテーブルやプロシージャを、PostgreSQLの形に変換できるようになることを目標とします。

ora2pgの実行に必要な下記3つのうち2つは既に用意してあるという前提のもと、Perlのインストールから始めます

  • Oracle稼働環境
  • PostgreSQL
  • Perl(モジュールも含めて)のインストール

環境

・Windows10
・Oracle19c 32bit
・PostgreSQL 16.2

Perlのインストール

まずはStrawberry Perl for Windowsをインストールします。64bitと32bitの2つがあるので、Oracleに合ったやつを選びましょう。
Strawberry PerlのサイトにアクセスしたらZIP, Portable, special editionsをクリック。でっけぇ🍓
ダウンロードリンク一覧ページに飛ぶので目的にあったものをRecommendeddownloadsの中からダウンロードします。今回はバージョン5.32.1.1/32bitのMSIエディションを選択。
bitはOracleに合わせ、バージョンは最新のものを選びました。

ダウンロードしたstrawberry-perl-5.32.1.1-32bit.msiをクリックするとインストーラーが起動するので「Next」を押して進みます。

次に「I accept the terms in the License Agreement」というチェックボックスが出てくるのでチェックを付けます。

次に、インストール先を指定します。今回はデフォルトのCドライブ直下に指定しました。最後に「Install」を押せばインストールが開始します。

インストールされているかの確認としてコマンドプロンプトに以下のコマンドを入力しましょう。

perl --version

バージョン情報が表示されればインストール作業は完了です。

This is perl 5, version 32, subversion 1 (v5.32.1) built for MSWin32-x86-multi-thread-64int

関連モジュールのインストール

スタートメニューから「Strawberry Perl」というフォルダを見つけて、中にある「CPAN Client」を起動します。

「install モジュール名」でモジュールをインストールできるので、CAPN上で以下のコマンドを入力しましょう

cpan> install DBI
cpan> install DBD::Oracle

環境変数の追加

Windowsの設定>システム>詳細情報>システムの詳細設定>環境変数で環境変数タブを開きます。「新規(N)」をクリックして環境変数を追加をします。

追加するパスはOracleのディレクトリの「\product\19.0.0\client_1」と、それから1つ下の層にあるlibです。もちろん人によって若干違うので注意。Oracleのパスが見つからないならOracle関連のソフトのプロパティの作業フォルダを見て探すといいかも。

変数
ORACLE_HOME C:\app\client\Administrator\product\19.0.0\client_1
LD_LIBRARY_PATH C:\app\client\Administrator\product\19.0.0\client_1\lib

OKを押して設定を反映させることも忘れずに。

ora2pgのインストール

ora2pgの公式サイトに行くかGitHubのページに飛んでora2pgをインストールします。

最終的にora2pgのGitHubに移動したら、<>Code>Download ZIPでZIPファイルをダウンロードします。

ZIPファイルを適当な場所で展開して、解凍されたファイルをCドライブ直下に移動させた後、コマンドプロンプトで展開したディレクトリに移動してからperlを使ってインストールを行います。

cd C:\ora2pg       # パスは人それぞれ
perl Makefile.PL
gmake
gmake install

確認作業として以下のコマンドを入力しましょう。

ora2pg –version

バージョン情報が出力されればインストールは成功。

Ora2Pg v24.1

これ以降はずっと基本的にora2pgのディレクトリ上で作業を行いましょう

設定

ora2pgのディレクトリにora2pg.conf.distというファイルがあるはずなので、コピーと名前変更でora2pg.confというファイルを作成しましょう。

ora2pg.conf.distは変更や削除はしないで初期のまま残しておきましょう。(なのでコピーしてから名前変更をしている)

ファイルを開いて中身を 移行元の環境 に合わせて編集しましょう。
ora2pgくんはこの設定ファイルの中身をみて変換作業を行います。

ORACLE_HOME [環境変数タブで追加したパス]
ORACLE_DSN dbi:Oracle:host=[ホスト名]:sid=[sid名]; port=[ポート番号]
ORACLE_USER [ユーザー名]
ORACLE_PWD [パスワード]
SHEMA [スキーマ名(大抵はユーザー名と同じ)]
TYPE [移行したいオブジェクトのタイプ]

TYPEに関してはファイル内に説明のコメントがあるのでそれを参考にキーワードを追加しましょう。

ora2pgのディレクトリ上で以下のコマンドを入力して接続確認を行います。

ora2pg -c ora2pg.conf -t SHOW_VERSION

バージョン情報が出力されればおk。

変換

以下のコマンドを入力します。

ora2pg -c ora2pg.conf

バーとパーセンテージが表示されるのでしばらく待ちましょう。
ディレクトリ直下に作成されるoutput.sqlというファイルが変換後のファイルです。

ちなみに

ora2pg -c [設定ファイルのパス] -o [変換後の.sqlの名前] -t [エクスポートタイプのキーワード]

とすると設定ファイルを弄らなくても変換後のファイル名やエクスポートするオブジェクトのタイプを変更できるので使えると便利!!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?