66
Postgres Plus 移行ガイド Postgres Plus Advanced Server 9.2 Postgres ソリューションパック 2012 年 11 月 13 日

Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Embed Size (px)

Citation preview

Page 1: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

                                                         

Postgres Plus 移行ガイド                      

Postgres Plus Advanced Server 9.2 Postgres ソリューションパック

2012 年 11 月 13 日

Page 2: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 2  

Postgres Plus 移行ガイド、Version 2.0 by EnterpriseDB Corporation

Copyright © 2012 EnterpriseDB Corporation. All rights reserved.                                                                                                                  

EnterpriseDB Corporation, 34 Crosby Drive, Suite 100, Bedford, MA 01730, USA T +1 781 357 3390 F +1 978 467 1307 E info@enterprised b.com www.enterprisedb.com

Page 3: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 3

Postgres Plus Migration Guide  

 

   

目次 1 はじめに ................................................................................................................. 5

1.1 本ガイドで使用する表記上の規則 ............................................................... 6 2 移行手順 ............................................................................................................... 7

2.1 移行プロセス .................................................................................................. 7 2.2 Postgres へのアプリケーションの接続 ............................................................... 9

3 機能概説 .............................................................................................................. 11 4 Migration Toolkit のインストール ......................................................................... 13

4.1 Advanced Server 付属の Migration Toolkit のインストール ........................... 13

4.2 Stack Builder を利用した Migration Toolkit のインストール ........................... 14 4.3 ソースに対応したドライバのインストール ..................................................... 28

5 toolkit.properties ファイルの構築 .............................................................................. 29 5.1 Advanced Server URL の定義 ....................................................................... 31

5.2 PostgreSQL URL の定義 ............................................................................... 33

5.3 Oracle URL の定義 ....................................................................................... 35 5.4 MySQL URL の定義 .................................................................................... 37

5.5 Sybase URL の定義 ...................................................................................... 38 5.6 SQL サーバ URL の定義 ............................................................................. 39

6 Migration Toolkit の実行 ................................................................................... 41 6.1 Oracle からのスキーマの移行 .................................................................. 42

6.2 Oracle 以外のソースデータベースからの移行 ....................................... 43

7 Migration Toolkit コマンドオプション .............................................................. 45 7.1 オフライン移行 .............................................................................................. 46

7.1.1 オフライン移行スクリプトの実行 ............................................................. 47 7.2 インポートオプション ..................................................................................... 47

7.3 スキーマ作成オプション ............................................................................... 48 7.4 スキーマオブジェクト選択オプション ............................................................ 49

7.5 移行オプション ............................................................................................ 51

7.6 Oracle 固有オプション ................................................................................... 55 7.7 その他のオプション .................................................................................... 57

Page 4: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 4

Postgres Plus Migration Guide  

 

8 移行に関する問題 .............................................................................................. 58 8.1 Migration Toolkit 接続エラー .................................................................. 58

8.1.1 無効なユーザ名 / パスワード ................................................................... 58

8.1.2 接続リジェクト: FATAL :パスワード ............................................................ 59

8.1.3 例外: ORA-28000: アカウントのロック .................................................... 59 8.1.4 例外: oracle.jdbs.driver.Oracle ドライバ ............................................... 59

8.1.5 I/O 例外:ネットワークアダプタが接続を確立できない .............................. 59 8.1.6 例外: 接続失敗 ........................................................................................ 60

8.2 Migration Toolkit の移行エラー ............................................................. 61 8.2.1 エラー: カラムの 後に余分なデータがある ................................................ 61

8.2.2 テーブルへのデータ読み込みエラー: TABLE_NAME が null ......................... 61

8.2.3 CONS_NAME_FK 制約作成エラー ............................................................ 61 8.2.4 テーブルへのデータ読み込みエラー ........................................................... 62

8.2.5 エラー: タイプに対して値が長すぎる ........................................................... 62 8.2.6 エラー: Toolkit スレッドの例外 : OutOfMemoryError ....................................... 63

8.3 サポートされていない Oracle の機能 ............................................................ 64

8.4 よくある質問と回答 ....................................................................................... 65

Page 5: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 5

Postgres Plus Migration Guide  

 

       

1 はじめに  

 Migration Toolkit は、移行プロセスのきめ細かい制御を提供する強力なコマンドラインツールです。Migration Toolkit は、以下のデータベースから、Advanced Server またはPostgreSQL データベースへのデータベースオブジェクトの移行を円滑に行います。

 

 ❷ Oracle ❷ MySQL ❷ Sybase ❷ SQL Server

Migration Toolkit によって Advanced Server とPostgreSQL 間の移行も可能です。 Migration Toolkit は、Postgres Plus Advanced Server インストーラー、または Stack Builder を利用してインストールすることができます。Stack Builder は、Advanced Server、および下記の EnterpriseDB ウェブサイトで入手可能な PostgreSQL オンラインクリックインストーラーと共に配布されています。  

http://www.enterpris edb.com/downloads /pos tgres -pos tgres ql-downloads  

本ガイドは、Migration Toolkit について、移行プロセスに関する手順の高度な説明、および設定と使用方法の説明を提供します。また、移行に関するよくある問題の解決法、サポートされていない事項の詳細と可能な対応策についても解説します。  注記:

   本ガイドで使用されている用語 Postgres は、Postgres Plus Advanced Server またはPostgreSQL のいずれかのインストールを指します。

 

 本ガイドで使用されている用語 Stack Builder は、StackBuilder Plus(Postgres Plus Advanced Server と共に配布)または Stack Builder(EnterpriseDB の PostgreSQL オンラインクリックインストーラーと共に配布)のいずれかを指します。  

Page 6: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 6

Postgres Plus Migration Guide  

 

   

1.1 本ガイドで使用する表記上の規則  本マニュアルでは、コマンド、命令文、プログラム、例などの意味や使用法を明確にするために特定の表記上の規則を使用しています。本章ではこれらの規則の概要を説明します。

 

 下記の記述中の語は、言語キーワード、ユーザー指定値、文字などの任意の言葉や言葉の組み合わせを指します。

   

❷ イタリック(斜体)フォントは、新しく出てきた語、特に文中に初出で定義するものを示します。

❷ 固定幅フォント(等幅フォント)は、例中で使われている SQL コマンド、特定

の表やカラム名、プログラミング言語のキーワードなどのように既定の表記

通りに使用しなければならない語を示します。 例: SELECT * FROM emp;

❷ イタリック体の固定幅フォントは、実際の使用時にはユーザが値を置き換えな

くてはならない語を示します。 例: DELETE FROM table_name;

❷ 縦線 (|) は、線の両側の語から選択することを意味します。縦線は、角括弧(任意で選択)または中括弧(1 つを必須選択)内の 2 つ以上の選択肢を分けるのに使われます。

❷ 角括弧 ([]) は、その中に含まれる語の 1 つを使用するか、または 1 つも使用しないことを示します。例えば、[ a | b ] は "a" または "b" のうちの 1 つを選択するか、またはどちらも選択しないことを意味します。

❷ 中括弧 ({}) は、その中に含まれる選択肢から必ず 1 つを指定しなければな

らないことを示します。例えば、{ a | b } は必ず "a" または "b" のうちどち

らか 1 つを指定することを意味します。 ❷ 点 (...) は、使用する語を繰り返す可能性があることを示します。例えば、

[ a | b ] ... は、 "b a a b a" という連続となる場合があることを意味します。

Page 7: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 7

Postgres Plus Migration Guide  

 

     

2 移行手順  

 あるデータベースから他のデータベースへ移行を検討する理由は数多くあります。移行によって、新しい技術またはより優れた技術のメリットを受けることができます。もし現在のデータベースがシステムを規模拡大するにあたり適切な能力を有していないのであれば、必要な機能を備えたデータベースに移行することは、あなたの組織にとって 適な戦略と言えるでしょう。

 

 移行はまた、費用効果も非常に高いものになり得ます。メンテナンスコストが高いシステムを移行することによって、システムの維持管理に掛かる費用を節約できます。複数のデータベースを一元管理することで、社内の管理コストの削減も可能です。利用するデータベースのプラットホームの数を少なくすることで(または場合によってはデータベースの互換性を活用して)、現在の IT 予算でこれまで以上のことができるようになります。

 

 複数のデータベースプラットホームを使えることで、ベンダーの価格設定が上がったり、あるいは企業方針が変わったとしても、快適に移行を行うことができます。EnterpriseDB は、既存のデータベースから Postgres への移行について長期にわたって企業を支援してきました。

 

 2.1章 移行プロセス に記載されている手順に沿って実施されることをお勧めします。  2.1 移行プロセス  Postgres への移行方法には大きく次のような手順があります。

 

 1. はじめに移行するデータベースオブジェクトとデータを決定します。移行元シ

ステムのアーキテクチャと実装について詳しい人物を含めた移行チームを作ります。

 2. 移行の潜在的な問題を特定します。Oracle から Advanced Server への移行で

あれば、Postgres Plus Advanced Server Oracle Compatibility Developer's Guideを参照し、Advanced Server がサポートする互換性の特徴について詳細を把握します。この調査の支援に、EnterpriseDB の移行評価サービスの利用もご検討ください。

   

3. 移行環境を用意します。必要なソフトウェアを用意してインストールし、サーバ間の接続を構築します。

 

 4. 大規模データを含む移行には、データを移す前にスキーマ定義の移行を

検討します。DDL 移行の結果を確認し、移行サマリーで報告された

Page 8: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 8

Postgres Plus Migration Guide  

 

問題を解決します。本文書の 8 章 に、移行問題の解決に関する情報があります。

 

5. データを移行します。データセットが小さい場合は Migration Toolkit を使用します。Oracle(から Advanced Server へ)の移行の場合で、データセットが大きいか、またはデータ転送が遅い場合は、利用可能な他のデータ移動方法を利用します。

 ❷ Advanced Server Oracle 互換データベースリンク機能を使用します。

   

❷ データに BLOB または CLOB データがある場合は、Oracle 形式のデータベースリンクの代わりに dblink_ora 形式のデータベースリンクを使用します。

 

 これらのいずれの方法も、Oracle への接続に Oracle Call Interface (OCI)を使用します。接続後、SQLstatement を使用して、‘リンク済みの’ Oracle データベースからデータを選択し、Postgres Plus Advanced Server データベースへデータを挿入します。

 

 6. データ移行の結果を確認し、移行サマリに報告された問題を解決します。

 7. 新規に移行した Postgres データベースと共に機能するようにアプリケーショ

ンを変換します。JDBC または ODBC などのオープンスタンダードな接続方法を使用する場合は、通常必要なのはデータベース接続文字列への変更と EnterpriseDB ドライバーの選択だけです。詳細については、2.2章Postgresへのアプリケーションの接続 をご参照ください。

 

 8. システムのパフォーマンスを試験し、新しいサーバを調整します。Advanced

Server データベースへの移行の場合は、Advanced Server のパフォーマンスチューニングユーティリティをご利用ください:

 ❷ Dynatune を使用してデータベースのコンフィグリソースを動的に調整

する。  

❷ Optimizer Hint を使用してクエリーパスを指定する。  

❷ ANALYZE コマンドを使用してデータベースの統計値を調べる。  Postgres Plus Advanced Server Performance Features Guide および Postgres Plus Oracle Developer's Guide(いずれも EnterpriseDB ウェブサイトより入手可能)に、Advanced Server と共に入手可能なパフォーマンスチューニングツールの情報があります。

Page 9: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 9

Postgres Plus Migration Guide  

 

   

2.2 Postgresへのアプリケーションの接続  Postgres データベースを使うためにクライアントアプリケーションを変換するには、新

しいターゲットデータベースを指定するように接続プロパティを変更する必要があり

ます。Java アプリケーションの場合は、JDBC ドライバ名(Class.forName)および

JDBC URL を変更します。  Oracle 上で実行する Java アプリケーションには、下記の接続プロパティがある場合が

あります。  

Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con =

DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "user", "password")

 接続文字列を Postgres への接続に変更します。

 Class.forName("com.edb.Driver") Connection con =

DriverManager.getConnection("jdbc:edb://localhost:5444/edb", "user", "password");

 ODBC アプリケーションを Postgres のインスタンスへの接続に変換するには 2 ステップのプロセスがあります。ODBC アプリケーションの接続するには:

 

 1. ODBC データソースアドミニストレーターを使用し、新しいターゲットデータ

ベースの接続プロパティを定義するデータソースを作成します。  ほとんどの Linux および Windows システムには、ODBC データソースを作成、編集するためのグラフィカルツールが含まれています。ODBC をインストールした後、ODBC Data Source Administrator へリンクするために Administrative Tools メニューを確認してください。Add ボタンをクリックして Create New Data Source ウィザードを開始します。ダイアログを完了して新しいターゲットデータソースを定義します。  

2. 新しいデータソースを使用するようにアプリケーションを変更します。    アプリケーションに含まれる SQLConnect(場合により SQLDriverConnect)の呼び

出しを、データベースソース名に変えるように編集します。下記の例では、データソー

スは"OracleDSN"という名前です:  

result = SQLConnect(conHandle, // Connection handle (returned) "OracleDSN", SQL_NTS, // Data s ource name username, SQL_NTS, // User name password, SQL_NTS); // Password

 "PostgresDSN"というデータソース名で定義された Postgres のインスタンスへ接続するようデータソース名を変更します:

 

Page 10: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 10

Postgres Plus Migration Guide  

 

result = SQLConnect(conHandle, // Connection handle (returned) "PostgresDSN", SQL_NTS, // Data source nameusername, SQL_NTS, // User name password, SQL_NTS); // Password

 アプリケーションとサーバ間の接続確立後、アプリケーションと移行したスキーマ間

の互換性の問題を見つけるためアプリケーションを試験します。ほとんどの場合、

アプリケーションに起こる不適合は簡単な変更によって解決可能です。サポートさ

れていない機能の場合は、回避方法やサードパーティのツールを使用してアプリケ

ーションが必要とする機能を提供します。よくある問題や回避方法に関する情報は

8章 移行問題 をご参照ください。

Page 11: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 11

Postgres Plus Migration Guide  

 

     

3 機能概説  

 Migration Toolkit は、移行プロセスのきめ細かい制御を提供する強力なコマンドラインツールです。Migration Toolkit には多数のオプションが含まれており、移行プロセスのきめ細かい制御を可能にします。

   

❷ -safeMode オプションは、移行された各行をそのままコミットするために使用

します。 ❷ -fastCopy オプションは、移行を 適化するため、WAL ログを回避する

ために使用します。 ❷ -batchSize オプションは、バルクインサートのバッチサイズを管理するため

に使用します。 ❷ -cpBatchSize オプションは、COPY コマンドで使うバッチサイズを指定するために使

用します。  ❷ -filterProp オプションは、ユーザ定義条件に適合する行のみを移行する

ために使用します ❷ -customColTypeMapping オプションは、選択したカラムのデータタイプを

変更するために使用します ❷ -dropSchema オプションは、移行の前に既存のスキーマを削除し新し

いスキーマ作成するために使用します。 ❷ Advanced Server では、-allDBLinks オプションは全ての Oracle データベー

スリンクを移行するために使用します。 ❷ Advanced Server では、-copyViaDBLinkOra オプションは dblink_ora モジ

ュールを有効化するために使用します。    Migration Toolkit は、以下の 2 ステップで使用します。

 

 1. toolkit.properties ファイルを編集してソースデータベースとターゲットデ

ータベースを指定する。 2. コマンドラインで Migration Toolkit を起動し、移行オプションを指定する。

 Migration Toolkit は、Advanced Server または PostgreSQL データベースから下記へのデータベースオブジェクトおよびデータの移行を支援します。

 

 ❷ Oracle ❷ MySQL ❷ Sybase ❷ SQL Server

Migration Toolkit を利用して Advanced Server と PostgreSQL 間の移行も可能です。

toolkit.properties エントリーの定義に関する詳細情報は、5 章

Page 12: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 12

Postgres Plus Migration Guide  

 

toolkit.propertiesファイルの構築 をご参照ください。    

オブジェクト移行サポート  

 Migration Toolkit は、オブジェクト定義(DDL)、テーブルデータ、またはその両方を移行します。下表に Migration Toolkit で移行可能なデータベースオブジェクトタイプのプラットホーム別一覧を示します。

 

 オブジェクト Oracle Sybase SQ L Server MySQ L スキーマ X X X X テーブル X X X X パーティションリストテーブル X      パーティションレンジテーブル X      制約 X X X X インデックス X X X X トリガ X      

テーブルデータ X X X X ビュー X   X  パッケージ X      プロシージャ X      ファンクション X      シーケンス X      ユーザ/ロール X      オブジェクトタイプ X      データベースリンク X      

 

インポートしたオブジェクトを細かく管理するためのコマンドに関する詳細情報については、7.4章 スキーマオブジェクト選択オプション をご参照ください。

 

オンライン移行とオフライン移行  

 Migration Toolkit は、Postgres データベースへの迅速で直接的な移行(オンライン移行)が可能なだけでなく、スクリプトを生成して Postgres データベース中のオブジェクト定義を後で再作成することも選択できます(オフライン移行)。  デフォルトでは、Migration Toolkit はオブジェクトを Postgres データベースに直接作成します。一方で、-offlineMigration オプションを使用して SQL スクリプトを生成し、後で移行したオブジェクトやデータを新しいデータベース中で再作成することもできます。Migration Toolkit によって生成された移行スクリプトをカスタマイズして、実行する前に移行したオブジェクトを変更することも可能です。-offlineMigration オプションを使えば、システム実行に 適な時間に実際の移行を予約することが可能です。

   -offlineMigration オプションに関する詳細情報については、7.1 章 オフライン移行をご参照ください。

Page 13: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 13

Postgres Plus Migration Guide  

 

   

4 Migration Toolkit のインストール  Migration Toolkit は、Postgres Plus Advanced Server インストーラと共に配布されています。Stack Builder を使用して Advanced Server または PostgreSQL のインストールに Migration Toolkit を追加することもできます。(Stack Builder は、EnterpriseDBから入手可能な Advanced Server および PostgreSQL ワンクリックインストーラと共に配布されています。)

 

 Stack Builder を使用したインストールの実行についての情報は、4.2 章 Stack Builderを利用したMigration Toolkitのインストール をご参照ください。

4.1 Advanced Server付属の Migration Toolkit のインストール  Postgres Plus Advanced Server インストールウィザードによる Migration Toolkit のイ ン ス ト ー ル を 確 実 に 行 う た め に 、 Select Components ダ イ ア ロ グ でMigration Toolkit オプションがチェックされていることを確認してください(下図 4.1)。  

 図 4.1 - Advanced Server インストールウィザードの Select Components ダイアログ

 

 Advanced Server 付属の Migration Toolkit をインストール後、移行を実行する前にソースに対応したドライバのインストールが必要です。詳細は 4.3 章 をご参照ください。

Page 14: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 14

Postgres Plus Migration Guide  

 

   

4.2 Stack Builder を利用した Migration Toolkitのインストール  ご注意ください: 本ガイドで使用する Stack Builder という語は、StackBuilder Plus (Postgres Plus Advanced Server と共に配布) または Stack Builder (EnterpriseDB から PostgreSQL ワンクリックインストーラと共に配布)のいずれかを指します。

   Stack Builder インストールウィザードを使用して、PostgreSQL または Advanced Server のどちらにも Migration Toolkit をインストールすることが可能です。  Advanced Server 付属の StackBuilder Plus から開始する  インストール完了時、Advanced Server インストールウィザードが StackBuilder Plus を開くことを提案します。インストール済みの Advanced Server から StackBuilder Plusを開始するには、Start (または Applications)メニューから Postgres Plus

Advanced Server メニューを探し、StackBuilder Plus メニューオプションを選択し

てください。  PostgreSQL 付属の Stack Builder から開始する

 

 EnterpriseDB ワンクリックインストーラを使用して PostgreSQL をインストールする場合は、インストール完了時にインストーラが Stack Builder を開くことを提案します。Stack Builder が Migration Toolkit のインストールを実行する前に、Java JVMが必要であることにご注意ください。(Postgres Plus Advanced Server インストーラは本条件を満たします。)  下記 URL で Java インストーラとインストール説明書の無償ダウンロードが可能です。  

http://www.java.com/en/download/index.js p  Java 実行ファイルが検索パスに無ければなりません(Windows では %PATH% 、Linux/Unixでは $PATH )。下記のコマンドを使用して検索パスを設定してください(javadir となっている Java 実行ファイルのディレクトリ名は置き換えてください)。  

Windows で使用するコマンド  

SET PATH=javadir;%PATH%

 Linuxで使用するコマンド

 PATH=javadir:$PATH

 

 Stack Builder を 開 く に は 、 Start ( ま た は Applications) メ ニ ュ ー か らPostgreSQL 設定メニューを探して、Application Stack Builder メニューオプションを選択してください。下図 4.2 のように Stack Builder が開きます。

Page 15: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 15

Postgres Plus Migration Guide  

 

   

 

図 4.2 - Stack Builderウェルカムウインドウ  ドロップダウンリストボックスを使用して、使用可能なサーバのリストからターゲットサーバを選択してください。インターネットへのアクセスにプロキシサーバを使う必要があるネットワークでは、Proxy servers ボタンをクリックして Proxy servers ダイアログを開き、プロキシサーバを指定してください。プロキシサーバを追加する必要がない場合は、Next をクリックしてアプリケーション選択ウインドウを開いてください。

Page 16: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 16

Postgres Plus Migration Guide  

 

   

 

図 4.3 - Stack Builderアプリケーション選択ウインドウ  Stack Builder を使用して PostgreSQL のインストールに Migration Toolkit を追加す

る場合は、ツリーコントロールの EnterpriseDB ノード(Registration- required and trial products の下にあります)を開いて、Migration Toolkit v1.0-4 の

横にあるボックスにチェックを入れてください(図 4.3)。Next をクリックして進みます。  StackBuilder Plus を使用して Advanced Server のインストールに Migration Toolkit を

追加する場合は、ツリーコントロールの Add-ons, tools and utilities ノードを

開いて EnterpriseDB Migration Toolkit の横にあるボックスにチェックを入れ

てください。Next をクリックして進みます。

Page 17: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 17

Postgres Plus Migration Guide  

 

   

 

図 4.4 - Stack Builder 選択確認ウインドウ  

 Selected Packages リストに Migration Toolkit が含まれていることと、Migration Toolkit フィールドにダウンロード可能な場所が指定されていることを確認してください(図 4.4)。Next をクリックして Migration Toolkit のダウンロードを開始します。

Page 18: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 18

Postgres Plus Migration Guide  

 

   

 

図 4.5 - Stack Builder ファイルダウンロードの結果確認  ダウンロードが完了すると、Stack Builder はインストールファイルのダウンロードが成功したことを表示します(図 4.5)。Next を選択して Migration Toolkit インストールウィザードを開いてください。

Page 19: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 19

Postgres Plus Migration Guide  

 

   

 

図 4.6 - Migration Toolk itインストールウィザード  Migration Toolkit インストールウィザードが開きます。Next をクリックして進みます。

Page 20: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 20

Postgres Plus Migration Guide  

 

   

 

図 4.7 - The EnterpriseDB ライセンス契約.  ラジオボタンを選択する前にライセンス契約をよくお読みください(図 4.7)。Next をクリッ

クしてユーザ登録ウインドウ(図 4.8)に進みます。

Page 21: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 21

Postgres Plus Migration Guide  

 

   

 

Figure 4.8 - インストール前に登録が必要  Migration Toolkit のインストールを行うには、EnterpriseDB ユーザアカウントに使われているメールアドレスおよびパスワードが必要です。登録は無料で、登録後はMigration Toolkit インストーラを含む各種の EnterpriseDB リソースへのアクセスが可能になります。

 

 ❷ EnterpriseDB にユーザ登録済みの場合は、I already have an

enterprisedb.com user account の横にあるラジオボタンをクリックして、EnterpriseDB User Account Information ウインドウ(図 4.10)に進んでください。

   

❷ EnterpriseDB ユーザアカウントをお持ちでない場合は、I do not have an enterprisedb.com user account の横にあるラジオボタンをクリックして、ブラウザ(図 4.9)を開き、登録情報を入力してください。

 ラジオボタンを選択したら、Next をクリックして進みます。

Page 22: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 22

Postgres Plus Migration Guide  

 

   

 

Figure 4.9 - ユーザログイン /登録ページ.  

 EnterpriseDB ユーザに未登録の場合は、この Login/Registration ウインドウにて必要事項を記入し、REGISTER をクリックして進んでください。

Page 23: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 23

Postgres Plus Migration Guide  

 

   

 

図 4.10 - The EnterpriseDB ユーザアカウント情報ウインドウ.  EnterpriseDB ユーザアカウントで使用しているメールアドレスとパスワードを入力し、

Next をクリックして進みます。

Page 24: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 24

Postgres Plus Migration Guide  

 

   

 

図 4.11 - Migration Toolk it をインストールするディレクトリの指定  デフォルトでは、Migration Toolkit は PostgresPlus ディレクトリの下にインストールさ

れます(図 4.11)。このままインストールするか、ディレクトリを変更し、Next をクリックし

て進みます。

Page 25: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 25

Postgres Plus Migration Guide  

 

   

 

図 4.12 - Migration Toolk it インストール準備完了  Setup プログラムが Migration Toolkit のインストール準備を完了したことを、インストーがルウィザードが確認します。Next をクリックしてインストールを開始してください。

Page 26: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 26

Postgres Plus Migration Guide  

 

   

 

図 4.13 - Stack Builder がインストール完了を確認  Migration Toolkit のインストールが完了したことを確認するダイアログが表示されま

す(図 4.13)。Finish をクリックしてインストーラを修了してください。

Page 27: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 27

Postgres Plus Migration Guide  

 

   

 

図 4.14 - Stack Builder がインストール完了を確認  

後に選択したコンポーネントのインストール終了時に、Stack Builder は

Installation Completed ウインドウを表示します(図 4.14)。Finish をクリックしてStack Builder を閉じてください。

 

Stack Builder の Migration Toolkit インストール後、移行を実行する前にソースに

対応したドライバのインストールが必要です。詳細は 4.3 章をご参照ください。

Page 28: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 28

Postgres Plus Migration Guide  

 

   

4.3 ソースに対応したドライバのインストール  Migration Toolkit を起動する前に、ソースに対応したドライバのインストールが必要です。ソース対応ドライバは無償で入手可能です。ドライバをダウンロードまたはベンダのダウンロードサイトへリンクするには、EnterpriseDB ウェブサイトの Third Party JDBC Drivers ページをご利用ください。

 

 http://www.enterprisedb.com/downloads/third-party-jdbc-drivers  

ソース対応ドライバのダウンロード後、Advanced Server へ移行する場合は、ドライバファイルを Postgres ホームディレクトリの下の jre/lib/ext ディレクトリに移動して下さい。PostgreSQL へ移行する場合は、ドライバファイルを JVM がインストールされているディレクトリの下の jre/lib/ext ディレクトリに移動して下さい。

Page 29: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 29

Postgres Plus Migration Guide  

 

   

5 toolkit.properties ファイルの構築  Migration Toolkit は、移行プロセス時にソースおよびターゲットデータベースを特定し接続するために、toolkit.properties ファイルに保存されている設定情報および接続情報を使用します。ファイル格納場所はデフォルトでは下記の通りです。  Advanced Server の toolkit.properties ファイル (Linuxの場合) :  

/opt/PostgresPlus/9.2AS/etc  同 Windows の場合:

 

 C:\Program Files\PostgresPlus\9.2AS\etc

 PostgreSQL の toolkit.properties ファイル (Linuxの場合):  

/opt/PostgresPlus/EnterpriseDB-MigrationToolkit  同 Windows の場合:

 

 C:\Program Files\PostgresPlus\EnterpriseDB-MigrationToolkit

 toolkit.properties ファイルのサンプルを図 5.1 に示します。

 

 

 図 5.1 - 典型的な toolkit.properties ファイル

Page 30: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 30

Postgres Plus Migration Guide  

 

     

Migration Toolkit のコマンドを実行する前に、toolkit.properties ファイルをお好みのエディタを使用して編集してください。下記の情報を含めてファイルを更新してください。

   

❷ SRC_DB_URL は、Migration Toolkit がソースデータベースにどのように接続するかを指定します。URL の作成に関する詳細についてはご使用のソースデータベースに対応する章をご参照ください。

   

❷ SRC_DB_USER は、ソースデータベースのユーザ名(必要な特権を有するもの)を指定します。

 

 ❷ SRC_DB_PASSWORD は、ソースデータベースのユーザのパスワードを指定します。

 ❷ TARGET_DB_URL は、ターゲットデータベースの JDBC URL を指定します。

 ❷ TARGET_DB_USER は、ターゲットデータベースの特権ユーザ名を指定します。

 ❷ TARGET_DB_PASSWORD は、ターゲットデータベースのユーザのパスワードを指

定します。

Page 31: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 31

Postgres Plus Migration Guide  

 

   

5.1 Advanced Server URLの定義  Migration Toolkit は、以下のプラットホームから Advanced Server への移行を支援し

ます。  

❷ Oracle ❷ MySQL ❷ Sybase ❷ SQL Server ❷ PostgreSQL

 各データベースタイプから移行するオブジェクトについての詳細一覧は、3 章機能概説 をご参照ください。  Migration Toolkit は、toolkit.properties ファイルからソースおよびターゲットデータベースに関する接続仕様を読み込みます。各接続情報には、下記が含まれている必要があります。

 

 ❷ データベースの URL ❷ 特権ユーザ名 ❷ 指定したユーザのパスワード

URL は、JDBC 標準に準拠した、下記の形式でなければなりません。 {TARGET_DB_URL|SOURCE_DB_URL}=jdbc:edb://host:port/database_id

Advanced Server のURL には、下記の情報を含みます。

 

 jdbc  

プロトコルは、常に jdbc です。

edb  

Advanced Server を使用している場合は、サブプロトコル値に edb を指定しま

す。  host

 Postgres インスタンスを実行するホスト名、またはホストの IP アドレスです。

 port

 Advanced Server データベースのリスナーが監視しているポート番号です。デフォルトのポート番号は 5444 です。

Page 32: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 32

Postgres Plus Migration Guide  

 

 database_id

 ソースおよびターゲットデータベースの名前です。

{TARGET_DB_USER|SOURCE_DB_USER}には、移行された各種オブジェクトをCREATE するために特権ユーザを指定する必要があります。テーブルにデータを移行すると、指定のユーザは各ターゲットテーブルの INSERT、TRUNCATE、およびREFERENCES 特権も必要になる場合があります。

   {TARGET_DB_PASSWORD|SOURCE_DB_PASSWORD}には、Advanced Server の特権ユーザのパスワードを設定します。

Page 33: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 33

Postgres Plus Migration Guide  

 

   

5.2 PostgreSQL URLの定義  Migration Toolkit は、以下のプラットホームから PostgreSQL への移行を支援します。  

❷ Oracle ❷ MySQL ❷ Sybase ❷ SQL Server ❷ Postgres Plus Advanced Server

 各データベースタイプから移行するオブジェクトについての詳細一覧は、3 章機能概説 をご参照ください。  Migration Toolkit は、toolkit.properties ファイルからソースおよびターゲットデータベースに関する接続仕様を読み込みます。各接続情報には、下記が含まれている必要があります。

 

 ❷ データベースの URL ❷ 特権ユーザ名 ❷ 指定したユーザのパスワード

 PostgreSQLURL は、JDBC 標準に準拠した、下記の形式でなければなりません。

 

 {SOURC E_DB _URL |TAR GET_ DB_U RL}= jdbc :pos tgre sql: //ho st:p ort/ data base _id

 URL には、下記の情報を含みます。  jdbc  

プロトコルは、常に jdbc です。

postgresql

PostgreSQL を使用している場合は、サブプロトコル値に postgresql を指定

します。  host  

Postgres インスタンスを実行するホスト名、またはホストの IP アドレスです。  port

 

 Postgres データベースのリスナーが監視しているポート番号です。デフォルトのポート番号は 5432 です。

Page 34: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 34

Postgres Plus Migration Guide  

 

 database_id

 ソースおよびターゲットデータベースの名前です。

   

{TARGET_DB_USER|SOURCE_DB_USER}には、移行された各種オブジェクトをCREATE するために特権ユーザを指定する必要があります。テーブルにデータを移行すると、指定のユーザは各ターゲットテーブルの INSERT、TRUNCATE、およびREFERENCES 特権も必要になる場合があります。

   {TARGET_DB_PASSWORD|SOURCE_DB_PASSWORD}には、PostgreSQL の特権ユーザのパスワードを設定します。

Page 35: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 35

Postgres Plus Migration Guide  

 

   

5.3 Oracle URLの定義  Migration Toolkit は、Oracle データベースから PostgreSQL または Advanced Serverデータベースへの移行を支援します。Oracle から移行する場合は、

toolkit.properties ファイルに Oracle ソースデータベースへの接続仕様を指定

する必要があります。接続情報には、以下を含めなければなりません。  

 ❷ Oracle データベースの URL ❷ 特権ユーザ名 ❷ 指定したユーザのパスワード

Oracle データベースから移行する場合、SRC_DB_URL の中で 2 つの形式のうちのいずれかに JDBC URL を指定しなければなりません。1 番目の形式:

 

 jdbc:o racl e:th in:@ host _nam e:po rt:d atab ase_ id

 2 番目の形式:

 

 jdbc:o racl e:th in:@ //ho st_n ame: port /{da taba se_i d|se rvic e_na me}

 Oracle URL には、下記の情報を含みます。  jdbc  

プロトコルは、常に jdbc です。

oracle

サブプロトコルは、常に oracle です。

thin

ドライバのタイプです。ドライバタイプには thin を指定します。  host_name  

Oracle サーバを実行するホスト名、またはホストの IP アドレスです。  port  

Oracle データベースのリスナーが監視しているポート番号です。  database_id  

Oracle データベースのデータベース SID です。

Page 36: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 36

Postgres Plus Migration Guide  

 

 service_name  

Oracle サービス名です。  SRC_DB_USER には必ず Oracle の特権ユーザを指定します。  SRC_DB_PASSWORD には特権ユーザのパスワードを入れなければなりません。

Page 37: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 37

Postgres Plus Migration Guide  

 

   

5.4 MySQL URLの定義  Migration Toolkit は、MySQL データベースから PostgreSQL または Advanced Serverデータベースへの移行を支援します。MySQL から移行する場合は、

toolkit.properties ファイルに MySQL ソースデータベースへの接続仕様を指定

する必要があります。接続情報には、以下を含めなければなりません。  

 ❷ ソースデータベースの URL ❷ 特権ユーザ名 ❷ 指定したユーザのパスワード

MySQL から移行する場合、SRC_DB_URL は JDBC URL 形式でなければなりません。 例:

jdbc:mysql://host_name[:port]/database_id  MySQLURL には、下記の情報を含みます。  jdbc

 プロトコルは、常に jdbc です。

mysql

サブプロトコルは、常に mysql です。  //host_name  

ソースサーバを実行するホスト名、またはホストの IP アドレスです。  [port]

 MySQL データベースのリスナーが監視しているポート番号です。

 /database_id  

ソースデータベースの名前です。 SRC_DB_USER には必ず MySQL の特権ユーザを指定します。  SRC_DB_PASSWORD には特権ユーザのパスワードを入れなければなりません。

Page 38: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 38

Postgres Plus Migration Guide  

 

   

5.5 Sybase URLの定義  Migration Toolkit は、Sybase データベースから PostgreSQL または Advanced Serverデータベースへの移行を支援します。Sybase から移行する場合は、

toolkit.properties ファイルに Sybase ソースデータベースへの接続仕様を指定

する必要があります。接続情報には、以下を含めなければなりません。  

 ❷ ソースデータベースの URL ❷ 特権ユーザ名 ❷ 指定したユーザのパスワード

Sybase から移行する場合、SRC_DB_URL は JTDS URL 形式でなければなりません。 例:

jdbc:jtds:sybase://host_name[:port]/database_id  Sybase URL には、下記の情報を含みます。  jdbc  

プロトコルは、常に jdbc です。

jtds

ドライバ名は、常に jtds. sybase です。

sybase

サーバタイプは常に sybase です。  host_name  

ソースサーバを実行するホスト名、またはホストの IP アドレスです。  port  

Sybase データベースのリスナーが監視しているポート番号です。  database_id  

ソースデータベースの名前です。  SRC_DB_USER には必ず Sybase の特権ユーザを指定します。  SRC_DB_PASSWORD には特権ユーザのパスワードを入れなければなりません。

Page 39: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 39

Postgres Plus Migration Guide  

 

   

5.6 SQLサーバ URLの定義  Migration Toolkit は、SQL Server データベースから PostgreSQL または Advanced Server データベースへの移行を支援します。Migration Toolkit は、以下のオブジェク

ト定義の移行をサポートします。  

 ❷ スキーマ ❷ テーブル ❷ テーブルデータ ❷ 制約 ❷ インデックス

 Migration Toolkit は、toolkit.properties ファイルからソースデータベースへの接

続仕様を読み込みます。接続情報には、以下を含めなければなりません。  

 ❷ ソースデータベースの URL ❷ 特権ユーザ名 ❷ 指定したユーザのパスワード

 SQL Server データベースに接続する場合、SRC_DB_URL は JTDS URL 形式でなければなりません。 例:  

jdbc:jtds:sqlserver://server[:port]/database_id  SQL Server URL には、下記の情報を含みます。  jdbc  

プロトコルは、常に jdbc です。

jtds

ドライバ名は、常に jtds です。

sqlserver

サーバタイプは、常に sqlserver です。  server_name  

ソースサーバを実行するホスト名、またはホストの IP アドレスです。  

Page 40: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 40

Postgres Plus Migration Guide  

 

port  

ソースデータベースのリスナーが監視しているポート番号です。  database_id  

ソースデータベースの名前です。  SRC_DB_USER には必ず SQLServer の特権ユーザを指定します。  SRC_DB_PASSWORD には特権ユーザのパスワードを入れなければなりません。

Page 41: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 41

Postgres Plus Migration Guide  

 

   

6 Migration Toolkit の実行  Migration Toolkit をインストールした後、toolkit.properties ファイルにソースお

よびターゲットデータベースの接続プロパティを指定すれば、Migration Toolkit によ

る移行の実行準備は整いました。  

 Migration Toolkit の実行ファイルの名前は、Linux/Unix システムでは runMTK.sh、Windows システムでは runMTK.bat です。実行ファイル格納場所は下記の通りです。  

Advanced Server で Linux の場合:  

 /opt/PostgresPlus/9.2AS/bin

 同 Windows の場合:

 

 C:\Program Files\PostgresPlus\9.2AS\bin

 PostgreSQL で Linux の場合:

 

 /opt/PostgresPlus/EnterpriseDB-MigrationToolkit

 同 Windows の場合:

 

 C:\Program Files\PostgresPlus\EnterpriseDB- MigrationToolkit

 NULL デ ー タ 値 の イ ン ポ ー ト

 

 Migration Toolkit は、JDBC 接続プロトコルを使用した NULL データ値のインポートをサポートしていません。NULL 文字を含むデータをインポートするには、-replaceNullChar オプションを使用して、NULL 値をシングル非 NULL 文字で置き換えてください。

Page 42: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 42

Postgres Plus Migration Guide  

 

   

6.1 Oracleからのスキーマの移行  Migration Toolkit は、コマンドラインで指定しない限り、データベースは Oracle、ターゲットデータベースは Advanced Server であるとみなします。Linux上で全てのスキーマを移行するには、実行ファイルで下記のコマンドを呼び出してください。  

$ ./runMTK.sh schema_name    Windows 上で全てのスキーマを移行するには、実行ファイルで下記のコマンドを呼び出してください。  

> .\runMTK.bat schema_name

 ここで、  schema_name

 

 schema_name は、移行したいソースデータベース内のスキーマの名前 (toolkit.properties ファイルで指定したもの) です。少なくとも1つのschema_name を含める必要があります。

   下記のコマンド名を使用して、スキーマ名をコンマで区切って指定することで、複数のスキーマを移行することができます。  Linuxの場合は、下記コマンドを実行します。  

$ ./runMTK.sh schema_name1,schema_name2,schema_name3  Windows の場合は、下記コマンドを実行します。  

> .\runMTK.bat schema_name1,schema_name2,schema_name3

Page 43: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 43

Postgres Plus Migration Guide  

 

   

6.2 Oracle以外のソースデータベースからの移行  ソースデータベースタイプおよびターゲットデータベースタイプを指定しない場合、Postgres は、ソースデータベースを Oracle、ターゲットデータベースを Postgres Plus Advanced Server であるとみなします。

 

 Migration Toolkit を起動するには、コマンドウインドウを開いて、Advanced Server がインストールされているディレクトリの下にある migrationstudio ディレクトリに移動してください。そして下記のコマンドで Migration Toolkit を起動します。  

$ ./runMTK.sh –sourcedbtype db_type –targetdbtype target_type [options, …] schema_name;

 ここで、  -sourcedbtype source_type

 

 source_type はソースデータベースのサーバタイプを指定します。source_type は大文字と小文字を区別しません。デフォルトでは、source_type は oracle です。source_type は下記の値のいずれかになる場合があります。

 

 移行元   指定値  

Oracle   oracle (デフォルト値)  MySQL   mysql

SQL  Server   sqlserver

Sybase   sybase

PostgreSQL   postgres ま た は  postgresql Advanced    Server   enterprisedb

 

-targetdbtype target_type  

 target_type はターゲットデータベースのサーバタイプを指定します。target_type は大文字と小文字を区別しません。デフォルトでは、target_type は enterprisedb です。target_type は下記の値のいずれかになる場合があります。

 

 移行先   指定値  

Advanced    Server   enterprisedb

PostgreSQL   postgres ま た は  postgresql  

schema_name

 schema_name は、ソースデータベース内のスキーマ名(toolkit.properties ファイルで指定したもの)です。少なくとも 1 つのschema_name を含めなくてはなりません。

Page 44: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 44

Postgres Plus Migration Guide  

 

   

下記は、HR という名前のスキーマを、Linux システム上の MySQL データベースから Advanced Server ホストへ移行する例です。コマンドに-sourcedbtype とtargetdbtype オプションが含まれることにご注意ください。

 

 $ ./runMTK.sh -sourcedbtype mysql -targetdbtype enterprisedb HR

 Windows の場合は下記のコマンドを使用します。

 

 > .\runMTK.bat -sourcedbtype mysql -targetdbtype enterprisedb HR

 Migration Toolkit コマンドの 後にスキーマ名をコンマで区切って指定することで、ソースデータベースから複数のスキーマを移行することができます。下記は、HR と ACCTG という名前の 2 つのスキーマを、MySQL データベースから PostgreSQL データベースへ移行する例です。

   Linuxの場合は、MySQL データベースから複数のスキーマを移行するのに下記のコマンドを使用します。

 

 $ ./runMTK.sh -sourcedbtype mysql -targetdbtype postgres

HR,ACCTG  Windows の場合は、下記のコマンドを使用します。

 

 > .\runMTK.bat -sourcedbtype mysql -targetdbtype postgres

HR,ACCTG

Page 45: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 45

Postgres Plus Migration Guide  

 

   

7 Migration Toolkit コマンドオ

プション  

Migration Toolkit の実行時、都合に合わせて移行の詳細を制御するには、移行オ

プションを追加してください。例えば、データベース内のすべてのスキーマを移行

するには、コマンドに-allSchemas オプションを追加します。  

 $ ./runMTK.sh -allSchemas

 本文書の 7.1 章から 7.7 章に、Migration Toolkit で使用する各コマンドオプションの参考資料があります。これらのオプションは、その動作によってグループ分けされています。下表に、各機能のグループが記載されている本文書内の章番号を示します。

 

 機能   章   関連するオプション  

 

オフライン移行  

7.1 -offlineMigration

インポートオプション 7.2 -sourcedbtype, -targetdbtype, -schemaOnly, - dataOnly

 

スキーマ作成オ

プション

 7.3

-dropSchema, -targetSchema

         スキーマオブジェクト選

択オプション

     

7.4

-allTables, -tables, -importPartitionAsTable, -constraints, -ignoreCheckConstFilter, -skipCKConst, -skipFKConst, -skipColDefaultClause, -indexes, -triggers, -allViews, -views, -allSequences, -sequences, -allProcs, -procs, -allFuncs, -funcs, -checkFunctionBodies, -allPackages, -packages, -allRules,

     移行オプション

     

7.5

-truncLoad, -enableConstBeforeDataLoad, -retryCount, -safeMode, -fastCopy, -analyze, vacuumAnalyze, -replaceNullChar, -copyDelimiter, -batchSize, -cpBatchSize, -fetchSize, -filterProp -customColTypeMapping, -customColTypeMappingFile -replaceNullChar

 Oracle 固有のオプション

 7.6

-allUsers, -users, -objectTypes, -copyViaDBLinkOra, -allDBLinks -allSynonyms, -allPublicSynonyms, -allPrivateSynonyms

その他のオプション 7.7 -help, -version, -verbose, -logDir

Page 46: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 46

Postgres Plus Migration Guide  

 

   

7.1 オフライン移行  コマンドラインで-offlineMigration オプションを指定すると、Migration Toolkit はオフライン移行を実行します。オフライン移行実行時、Migration Toolkit は選択した各オブジェクトの定義を読み込んで、後で実行時に Postgres に各オブジェクトを複製する SQL スクリプトを作成します。  注記:下記は、Linuxで Migration Toolkit を起動する場合の例です。Windows で

Migration Toolkit を起動する場合は、runMTK.sh コマンドを runMTK.bat コマンド

に置き換えてください。  スキーマおよびデータの両方のオフライン移行を実行するには、-offlineMigration キーワードを指定し、その後ろにスキーマ名を続けます。  

$ ./runMTK.sh -offlineMigration schema_name  

 各データベースオブジェクト定義は、ユーザのホームフォルダ内に、スキーマ名およ

びオブジェクトタイプから名前を付けられた別のファイルが保存されます。ファイルの

保存に他の場所を指定するには、-offlineMigration オプションの後ろにディレク

トリ名を指定します。  

$ ./runMTK.sh -offlineMigration file_dest schema_name  

 スキーマオブジェクトだけのオフライン移行を実行する(空のテーブルを作成する)には、Migration Toolkit 実行時に-offlineMigration キーワードに加えて-schemaOnly キーワードを指定します。  

$ ./runMTK.sh -offlineMigration -schemaOnly schema_name  データだけのオフライン移行を実行する(スキーマオブジェクト定義を除外する)には、Migration Toolkit 実行時に-dataOnly キーワードと-offlineMigration キーワードを指定します。  

$ ./runMTK.sh -offlineMigration -dataOnly schema_name  

 デフォルトでは、データは COPY フォーマットで書かれています。プレーン SQL フォーマットでデータを書くには、-safeMode キーワードを指定します。

 

 $ ./runMTK.sh -offlineMigration -dataOnly -safeMode schema_name

 デフォルトでは、テーブルデータを含むオフライン移行の実行時、各テーブルごとに

別ファイルが作成されます。複数テーブルを含む単一のファイルを作成するには、-singleDataFile キーワードを指定します。  

Page 47: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 47

Postgres Plus Migration Guide  

 

./runMTK.sh -offlineMigration -dataOnly -singleDataFile - safeMode schema_name

 -­‐singleDataFile オプションは、。プレーン SQL フォーマットのデータの移行時にのみ利用可能であることにご注意ください。-singleDataFile オプションを使う場合は、-­‐safeMode キーワードを入れなければなりません。  7.1.1 オフライン移行スクリプトの実行  edb-psql コマンドライン(Advanced Server の場合)または psql コマンドライン(PostgreSQL の場合)を使うと、オフライン移行中に生成されたスクリプトを実行することができます。下記は、hr という名前のスキーマを、Advanced Server に格納された acctg という名前の新しいデータベースに復元する例です。

 

 1. createdb ユーティリティを使用して、移行したデータベースオブジェク

トを復元する acctg データベースを作成します。  

 createdb -U enterprisedb acctg

 2. edb-psql で新しいデータベースに接続します。

edb-psql -U enterprisedb acctg

3. \i メタコマンドを使用して、オブジェクト定義を作成する移行スクリプトを起動します。

 

 acctg=# \i ./mtk_hr_ddl.sql

 

 4. -offlineMigration コマンドに-singleDataFile キーワードが含まれる

場合、mtk_hr_data.sql スクリプトには新しいターゲットデータベース内に全オブジェクトを再作成するのに必要なコマンドが含まれます。このコマンドでデータベースに追加します。

 

 acctg=# \i ./mtk_hr_data.sql

       

7.2 インポートオプション  Migration Toolkit は、デフォルトではソースデータベースを Oracle、ターゲットデータ

ベースを Advanced Server であるとみなします。デフォルト以外のソースおよびターゲ

ットデータベースを指定するには、-sourcedbtype および-targetdbtype キーワー

ドを含めます。  

 Migration Toolkit は、デフォルトではスキーマの移行時にデータおよびオブジェクト定義の両方をインポートします。データまたはオブジェクト定義のいずれか選択してをインポートすることもできます。

Page 48: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 48

Postgres Plus Migration Guide  

 

   -sourcedbtype source_type

 

 -sourcedbtype オプションは、ソースデータベースタイプを指定します。

source_type は、mysql、oracle、sqlserver、 sybase、postgresql または enterprisedb のうちのいずれか 1 つの値である場合があります。source_type は、大文字と小文字を区別しません。デフォルトでは、source_type は oracle です。

 

 -targetdbtype target_type

 -targetdbtype オプションは、ターゲットデータベースタイプを指定します。

target_type は、enterprisedb、postgres または postgresql のうち

のいずれか 1 つの値である場合があります。target_type は、大文字と小

文字を区別しません。デフォルトでは、target_type は enterprisedb で

す。  

 -schemaOnly

 このオプションは、スキーマ定義をインポートし、ターゲットデータベースに選択した全てのスキーマオブジェクトを作成します。このオプションは、 -dataOnly オプションと同時に使用することはできません。

 

 -dataOnly

 

 このオプションは、テーブルデータだけをコピーします。-tables オプションと一緒に使用する場合、Migration Toolkit は選択したテーブルだけのデータをインポートします(詳細は後述をご参照ください)。このオプションは、-schemaOnly オプションと同時に使用することはできません。

       

7.3 スキーマ作成オプション  Migration Toolkit は、デフォルトではソーススキーマオブジェクトやデータを同じ名前のスキーマにインポートします。ターゲットスキーマが存在しない場合、Migration Toolkit は新しいスキーマを作成します。-targetSchema オプションを使用して、スキーマ名を指定することもできます。下記のオプションを使用すれば、既存スキーマを削除して新しいスキーマを作成することができます。

 

 -dropSchema [true|false]

 

 true を設定した場合、Migration Toolkit は既存スキーマ(およびスキーマ内のオブジェクト)を削除し、新しいスキーマを作成します(デフォルトでは、-dropSchema は false に設定されています。)

 -targetSchema schema_name

Page 49: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 49

Postgres Plus Migration Guide  

 

 

 -targetSchema オプションを使用して、移行されたスキーマの名前を指定します。複数のスキーマを移行する場合は、各スキーマの名前をコンマで区切って指定します。コマンドラインに-targetSchema オプションを含まない場合は、新しいスキーマはソーススキーマと同じ名前になります。

 

 ターゲットスキーマ名として、information-schema、dbo、sys または pg_catalogを指定することはできません。これらのスキーマ名は、Advanced Server 内のメタデータストレージとして予約されています。

       

7.4 スキーマオブジェクト選択オプション  下記のオプションを使用して、移行する特定のスキーマオブジェクトを選択します。  -allTables  

ソーススキーマから全てのテーブルをインポートします。  -tables table_list

 ソーススキーマから選択したテーブルをインポートします。table_list には、

テーブル名をコンマで区切って指定します。(例 : -tables emp, dept, acctg)  -importPartitionAsTable table_list

   

パーティションテーブルの内容を単一の非パーティションテーブルにインポートするには、パラメータを追加します。table_list には、テーブル名をコンマで

区切って指定します。(例 : -importPartitionAsTable emp, dept, acctg g)

 

 -constraints  

テーブル制約をインポートします。このオプションは、スキーマ全体をインポートする場合、もしくは-allTables オプションまたは-tables table_list オプションを指定する場合にのみ有効です。

 

 -ignoreCheckConstFilter  

Migration Toolkit は、デフォルトでは、Sybase データベースからのチェック制約およびデフォルト句の移行を実装していません。Sybase データベースからチェック制約およびデフォルト句を移行するには、-ignoreCheckConstFilter パラメータを追加して、-constraints パラメータを指定します。

 

 -skipCKConst

 

Page 50: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 50

Postgres Plus Migration Guide  

 

チェック制約の移行を除外します。このオプションは、ターゲットデータベースでサポートされていない(ソースデータベース中の)ビルトイン機能に基づいたチェック制約を移行する際に便利です。

   

このオプションは、スキーマ全体をインポートする場合、もしくは-allTables オプションまたは-tables table_list オプションを指定する場合にのみ有効です。

   -skipFKConst  

外部キー制約を除外します。このオプションは、スキーマ全体をインポートす

る場合、もしくは-allTables オプションまたは-tables table_list オプションを指定する場合にのみ有効です。

 

 -skipColDefaultClause  

カラム DEFAULT 句の移行を除外します。  

 -indexes

 

 テーブルインデックスをインポートします。このオプションは、スキーマ全体を

インポートする場合、もしくは-allTables オプションまたは-tables

table_list オプションを指定する場合に有効です。    -triggers  

テーブルトリガをインポートします。このオプションは、スキーマ全体をインポートする場合、もしくは-allTables オプションまたは-tables table_listオプションを指定する場合に有効です。

 

 -allViews  

ソーススキーマからビューをインポートします。  -views view_list  

ソーススキーマから選択したビューをインポートします。view_list には、ビ

ュー名をコンマで区切って指定します。(例 : -views all_emp,mgmt_list,acct_list)

 -allSequences  

ソーススキーマから全てのシーケンスをインポートします。  -sequences sequence_list

 ソーススキーマから選択したシーケンスをインポートします。sequence_list

には、シーケンス名をコンマで区切って指定します。  

Page 51: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 51

Postgres Plus Migration Guide  

 

 -allProcs  

ソーススキーマから全てのストアドプロシージャをインポートします。  -procs procedures_list

 ソーススキーマから選択したストアドプロシージャをインポートします。

procedures_list には、プロシージャ名をコンマで区切って指定します。  

 -allFuncs  

ソーススキーマから全てのファンクションをインポートします。  -funcs function_list

 

 ソーススキーマから選択したファンクションをインポートします。

function_list には、ファンクション名をコンマで区切って指定します。  

 -checkFunctionBodies [true/false]

 false の場合、ファンクション作成時に関数本体の妥当性確認を無効にし

ます(これは関数が前方参照を含む場合のエラーを避けるためです)。デフォルト値は true です。

 

 -allPackages  

ソーススキーマから全てのパッケージをインポートします。      -packages package_list

 

 ソーススキーマから選択したパッケージをインポートします。package_listには、パッケージ名をコンマで区切って指定します。

 -allRules  

ソースデータベースから全てのルールをインポートします。このオプションは、ソースおよびターゲットの両方が Postgres ホストに格納されている場合にのみ有効です。

       

7.5 移行オプション  移行プロセスの細かな制御を行うには、下に挙げた移行オプションを使用します。  

Page 52: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 52

Postgres Plus Migration Guide  

 

-loaderCount [value]  

 

データをインポートするときに Migration Toolkit が使用するパラレルスレッドの数を指定するには、-loaderCount オプションを使用します。このオプションは、特にソースデータベースが大容量のデータを含み、かつ、(Migration Toolkit を実行する)Postgres ホストがハイエンドな CPU および RAM を備えている場合に有用です。value がゼロ以外の整数の時、value は CPU コアの数を超えないことが推奨されます。デュアルコア CPU では 適な value

は 2 です。  

 value に指定する値が大きすぎると、Migration Toolkit は終了し、'Out of heap space'エラーを生成しますのでご注意ください。

 -truncLoad  

新しいデータをインポートする前にテーブルからデータを削除します。このオ

プションは-dataOnly オプションと併用の場合のみ使用できます。  -enableConstBeforeDataLoad

 

 -­‐enableConstBeforeDataLoad オプションは、非パーティションテーブルのソースからパーティションテーブルにマップする場合に追加します。このオプションは、データ移行の前に、ターゲットテーブルの全てのトリガ(データを個別パーティションへリダイレクトするトリガを含む)を有効にします。-­‐enableConstBeforeDataLoad は、-truncLoad パラメータも指定されている場合のみ有効です。

 -retryCount [value]  

複数スキーマの移行を実行する場合、スキーマが相互依存関係にあるために 1 回目の移行試行時に失敗したオブジェクトが、次回には成功する場合があります。-retryCount オプションは、Migration Toolkit が 1 回目の移行試行時に失敗したオブジェクトの移行を試行する回数を指定します。value には 0 以上の値を指定してください。デフォルト値は 2 です。

 

 -safeMode

 

 -safeMode オプションを追加した場合、Migration Toolkit は移行された各行をコミットします。全レコードを転送することに失敗した場合は、失敗の発生時点より前に挿入された行はターゲットデータベースに残ります。

 -fastCopy

 

 

-fastCopy オプションは、Migration Toolkit が COPY を 適な方法で実施す

るために、WAL ログの作成を回避することを指定します。デフォルトでは無

Page 53: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 53

Postgres Plus Migration Guide  

 

効です。-fastCopy オプションを使用する場合、移行時に中断が起きると

移行されたデータは(ターゲットデータベース内で)回復しない場合がありま

す。  -replaceNullChar [value]

   

-replaceNullChar オプションを追加すると、Migration Toolkit は NULL 文字を指定した value で置き換えます。デフォルトでは、Migration Toolkit はNULL 文字を置き換えません。

 -analyze

 

 -analyze オプションを追加すると、Postgres がターゲットデータベースに対して ANALYZE を実行します。オプティマイザは ANALYZE によって集められた統計値を参照し、その情報を利用して効率的なクエリプランを構成します。

 

 -vacuumAnalyze

 -vacuumAnalyze オプションを追加すると、ターゲットデータベースに対してVACUUM および ANALYZE の両方を実行します。オプティマイザは ANALYZE によって集められた統計値を参照し、その情報を利用して効率的なクエリプランを構成します。VACUUM はターゲットデータベース内のデッドタプル(不要な行)が占めるストレージスペースを再生します。

 

 -copyDelimiter  

テーブルデータ読み込み時に、コピーコマンド中でシングル文字を区切り文字として使用することを指定します。デフォルト値は'\t' (tab)です。

 

 -batchSize

 バルクインサートのバッチサイズを指定します。有効な値は 1-1000 です。デフォルトバッチサイズは 1000 です。Out of Memory の例外が発生した場合は、-batchSize の値を削減します。

 

 -cpBatchSize

   

COPY コマンドで使用するためのバッチサイズを MB で指定します。0 より大きい任意の値が有効です。デフォルトバッチサイズは 8MB です。

 

 -fetchSize

 -fetchSize オプションは、リザルトセット内のフェッチする行数を指定するために使用します。指定した-fetchSize が大きすぎると、Out of Memory の例外が起きる場合があります。大容量のテーブルを移行する場合には、この危険を避けるために-fetchSize オプションを追加してください。デフォルトフェッチサイズは JDBC ドライバの実装に固有であり、データベースによって異な

Page 54: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 54

Postgres Plus Migration Guide  

 

ります。  

 MySQL ユーザの注意点:デフォルトでは、MySQLJDBC ドライバは、1 回のネットワークラウンドトリップでクライアントアプリケーション(Migration Toolkit)へテーブル内に存在するすべての行をフェッチします。この動作は、大容量のテーブルでは利用可能メモリーの上限を超えてしまいがちです。'out of heap space'エラーが発生した場合、コマンドラインの引数として-fetchSize 1 を指定して、Migration Toolkit が 1 回に読み込むテーブルデータを 1 行とするようにしてください。

 -filterProp file_name

 -filterProp file_name は、key=value ペアの制約を含むファイル名を指定します。データベースから読み込まれた各レコードは、制約に合わせて評

価され、この制約を満たしたものが移行されます。ペアリストの左側はテーブル名です。テーブル名はスキーマ条件付きであってはならないことにご注意く

ださい。右側には移行される各行について真でなければならない条件を指定します。例えば、プロパティファイルには下記の制約を含みます。

 

 countries=country_id<>'AR'

 country_id 値が AR に等しいものだけを移行します。この制約はcountries テーブルに適用されます。

 -customColTypeMapping column_list

 

 移行したカラムのデータタイプを変更するには、カスタムタイプマッピングを使用します。各ペアの左側に正規表現のカラム、右側にカラムがとるべきデータタイプを指定します。column_list をセミコロンで区切って複数ペアを入れることができます。例えば、で ID 終わる名前のカラムを INTEGER タイプにマップするには、下記のカスタムマッピングエントリーを使用します。

 

 .*ID=INTEGER

 カスタムマッピングは、テーブル条件付きカラムを除き、基準に適合するすべてのテーブルカラムに適用されます。

   

文字 '\\' は、エスケープ文字として機能します。'.' は正規表現で予約されている文字であるため、'.' を '\\.' で表します。例えば、EMP テーブルのEMP_ID カラムから行を選択するには、カスタムマッピングを使用して、下記のカスタムマッピングエントリーを指定します。

 

 EMP\\.EMP_ID=INTEGER

 

 -customColTypeMappingFile property_file

 property_file に複数のカスタムマッピングを含めることができます。ファイル内の各エントリを別のラインに key=value ペアで指定します。各ペアの左

Page 55: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 55

Postgres Plus Migration Guide  

 

側に正規表現のカラム、右側にカラムがとるべきデータタイプを指定します。  -replaceNullChar replacement_char

   

Migration Toolkit は JDBC 接続プロトコルを使用する NULL データ値のインポートをサポートしません。

   

–replaceNullChar オプションを使用して NULL データ値を非 NULL 文字列に置き換えてください。replacement_char には 1 つの置き換え文字を指定します。

       

7.6 Oracle 固有オプション  下記のオプションは、ソースデータベースが Oracle の場合にのみ適用されます。  -objecttypes schema_name  

指定したスキーマからユーザ定義オブジェクトタイプをインポートします。  

 -allUsers  

ソースデータベースからユーザおよびロールをインポートします。        -users user_list

 

 Oracle ソースデータベースから選択したユーザまたはロールをインポートします。user_list はユーザまたはロール名をコンマで区切って指定します。(例 : -users MTK,SAMPLE,acctg)

 -copyViaDBLinkOra

 

 dblink_ora モジュールは、Advanced Server と Oracle 間の SQL レベルで

の接続性を提供します。dblink_ora は Advanced Server データベースのイ

ンストールの一部として提供され、インストールされます。dblink_ora は

COPY API メソッドを利用してデータベース間のデータ転送を行います。この

メソッドは、JDBC COPY メソッドよりも大幅に高速です。  

下記は dblink_ora COPY API を使用して HR スキーマから全てのテーブルを移行する例です。

 $./runMTK.sh -copyViaDBLinkOra -allTables HR

 

 ターゲットの Advanced Server データベースには dblink_ora をインストール

Page 56: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 56

Postgres Plus Migration Guide  

 

し設定を行っていなければなりません。この詳細は、Advanced Server のイン

ストールされたホームディレクトリの下の

/dbserver/lib/postgresql/contrib サブフォルダにある dblink_ora セ

ットアップガイド (README-DBLINK_ORA_SETUP.txt) をご参照ください。

 

 -allDBLinks [link_Name_1=password_1,link_Name_2=password_2,...]

 Oracle データベースリンクを移行するには、このオプションを選択します。ソースデータベース内の各リンク接続のパスワード情報は暗号化されるので、指定しない限り、ダミーパスワード(edb)が代用されます。

   

全てのデータベースリンクを移行するには、接続ユーザのダミーパスワードとして edb を使用してください。

 

 $./runMTK.sh -allDBLinks HR

 name=value ペアをコンマで区切れば、各データベースリンクのパスワードを指定することもできます。ペアの左側にリンク名、右側にパスワード値を指定してください。

 

 実際のパスワードで全てのデータベースリンクを移行するにはコマンドラインで指定します。

 $./runMTK.sh -allDBLinks LINK_NAME1=abc,LINK_NAME2=xyz HR

 Migration Toolkit は現在 EnterpriseDB がサポートするデータベースリンクタイプのみを移行します。これにはパブリックおよびプライベートの固定ユーザリンクが含まれます。

 -allSynonyms  

Oracle データベースから Advanced Server データベースへパブリックおよびプライベートシノニムを移行するには、-allSynonyms オプションを追加します。同じ名前のシノニムがターゲットデータベースに既に存在する場合は、既存のシノニムは移行したバージョンで置き換えられます。

 -allPublicSynonyms

 

 全てのパブリックシノニムを Oracle データベースから Advanced Server データベースへ移行するには、-allPublicSynonyms オプションを追加します。同じ名前のシノニムがターゲットデータベースに既に存在する場合は、既存のシノニムは移行したバージョンで置き換えられます。

 -allPrivateSynonyms  

Page 57: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 57

Postgres Plus Migration Guide  

 

全てのプライベートシノニムを Oracle データベースから Advanced Server データベースへ移行するには、-allPrivateSynonyms オプションを追加します。同じ名前のシノニムがターゲットデータベースに既に存在する場合は、既存のシノニムは移行したバージョンで置き換えられます。

       

7.7 その他のオプション  Migration Toolkit ヘルプやバージョン情報を見るには、下に挙げた移行オプションを使用します。本章にあるオプションを使用して Migration Toolkit のフィードバックやログオプションを管理することもできます。

 

 -help  

アプリケーションコマンドラインの使用法情報を表示します。  

 -version  

Migration Toolkit のバージョンを表示します。  

 -verbose [on|off]

 アプリケーションログメッセージを標準出力に表示します。(デフォルトは on で

す。)        -logDir log_path  

ログファイルを書きだす場所を指定するには、このオプションを追加します。log_path はアプリケーションログファイルを保存するパスを表します。デフォルトでは、ログファイルは下記の場所に保存されます。

 Linuxの場合:

 

 $HOME/.enterprisedb/migration-toolkit/logs

 Windows の場合:

 

 %HOMEDRIVE%%HOMEPATH%\.enterprisedb\migration- toolkit\logs

Page 58: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 58

Postgres Plus Migration Guide  

 

   

8 移行に関する問題  移行プロセス中に、移行サマリが移行の進捗を表示します。エラーが発生すると、サマリはそのエラーに関する情報を表示します。移行サマリはログファイルにも書き込まれます。デフォルトでは、ログファイルは下記の場所にあります。  

Linuxの場合:  

 $HOME/.enterprisedb/migration-toolkit/logs

 Windows の場合:

 %HOMEDRIVE%%HOMEPATH%\.enterprisedb\migration- toolkit\logs

 

 Migration Toolkit の-logdir log_path オプションを使用して、ログファイルのディレクトリを指定することも可能です。

       

8.1 Migration Toolkit 接続エラー  Migration Toolkit は、ソースおよびターゲットデータベースに接続するためにファイルからの情報を使用します。接続エラーのほとんどは、Migration Toolkit がtoolkit.properties ファイルに指定した情報に関わるときに発生します。よくある接続エラーを特定し解決するために、以降の章をご参照ください。

   ファイルの編集に関する情報は、5 章 toolkit.propertiesファイルの構築 をご参照ください。  8.1.1 無効なユーザ名 / パスワード  Migration Toolkitを使用して Oracleデータベースからの移行を実行しようとしたら、下記のエラーが発生した。

 Error: java.lang.Exception: ORA-01017: invalid username/password; logon denied.

   toolkit.properties ファイルに指定したユーザ名またはパスワードが、Oracle ソースデータベースへの接続には無効です。

   このエラーを解決するには、toolkit.properties ファイルを編集し、 SRC_DB_USER および SRC_DB_PASSWORD プロパティに移行実行が可能な特権を持つ有効なユーザの名前とパスワードを指定してください。

Page 59: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 59

Postgres Plus Migration Guide  

 

   

8.1.2 接続リジェクト: FATAL :パスワード  Migration Toolkitを使用して移行を実行しようとしたら、下記のエラーが発生した。

 Error: java.lang.Exception: Connection rejected: FATAL: password authentication failed for user " name".

 toolkit.properties ファイルに指定したユーザ名またはパスワードが、Postgresデータベースへの接続には無効です。

   このエラーを解決するには、toolkit.properties ファイルを編集し、 TARGET_DB_USER および TARGET_DB_PASSWORD プロパティに移行実行が可能な特権を持つ有効なユーザの名前とパスワードを指定してください。  8.1.3 例外: ORA-28000: アカウントのロック  Migration Toolkitを使用して Oracleデータベースから移行を実行しようとしたら、下記のエラーメッセージが表示された。

 Error: java.lang.Exception: ORA -28000: the account is locked.

 toolkit.properties ファイルに指定したユーザ名に関連付けられた Oracle アカ

ウントがロックされました。  このエラーを解決するには、Oracle サーバのユーザアカウントのロックを解除する

か、または toolkit.properties ファイルを編集して SRC_DB_USER および

SRC_DB_PASSWORD パラメータに移行実行が可能な特権を持つ有効なユーザの名

前とパスワードを指定してください。  8.1.4 例外: oracle.jdbs.driver.Oracle ドライバ  Migration Toolkitを使用して移行を実行しようとしたら、移行が失敗して下記のエラーメッセージが表示された。

 Error: java.lang.Exception: oracle.jdbs.driver.OracleDriver

 Migration Toolkit を使用する前に、移行元のデータベースに合ったドライバをダウン

ロードしてインストールしなければなりません。この説明については、4.3 章ソースに対応したドライバのインストール をご参照ください。

 

 8.1.5 I/O 例 外 :ネットワークアダプタが接続を確立できない  Migration Toolkitを使用して移行を実行しようとしたら、下記のエラーが発生した。

Page 60: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 60

Postgres Plus Migration Guide  

 

 Error: java.lang.Exception: I/O exception: The Network Adapter could not establish the connection

toolkit.properties ファイルに指定したソースデータベースの JDBC URLに無効な接続プロパティが含まれています。

   このエラーを解決するには、toolkit.properties ファイルを編集して

SRC_DB_USER プロパティに、有効なソースデータベースの接続情報を指定してくだ

さい。特定のデータベースの JDBC URL 作成に関する情報は、本文書の 5.1 章か

ら 5.6 章をご参照ください。  8.1.6 例外: 接続失敗  Migration Toolkitを使用して移行を実行しようとしたら、下記のエラーが発生した。

 Error: java.lang.Exception: The connection attempt failed.

 toolkit.properties ファイルに指定したターゲットデータベース(Advanced Server)の JDBC URL に無効な接続プロパティが含まれています。

   このエラーを解決するには、toolkit.properties ファイルを編集して、

TARGET_DB_URL プロパティに、有効なターゲットデータベースの接続情報を指定し

てください。Advanced Server の JDBC URL の作成に関する情報は、本文書の 5.1章をご参照ください。

Page 61: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 61

Postgres Plus Migration Guide  

 

   

8.2 Migration Toolkit の移行エラー Migration Toolkit がターゲットおよびソースデータベースサーバへの接続に成功した後に、下記のエラーが発生する場合があります。  8.2.1 エラー: カラムの 後に余分なデータがある  テーブルをオンラインで移行したら、下記のエラーメッセージが表示された。

 Error Loading Data into Table: column_name: ERROR: extra data after last expected column

 このエラーは、column_name カラム内のデータが、区切り文字を含む場合に発生し

ます。このエラーを修正するには、区切り文字をテーブルコンテンツ中にない文字

に変えてください。  8.2.2 テーブルへのデータ読み込みエラー: TABLE_NAME が null  データだけの移行を実行したら、下記のエラーが発生した。

 Trying to reload table: TABLE_NAME through bulk inserts with a batch size of 1000 Error Loading Data into Table: TABLE_NAME: null Data Load Summary: Total Time (sec): 0.0 Total Rows: 0 Total Size(MB): 0.0

 

Schema HR imported with errors.

 データ移行を行う前に、ターゲットデータベースにデータを受け取るテーブルを作成しなければなりません。ターゲットデータベースにテーブル(TABLE_NAME の名前)が存在することを確認、または必要に応じてテーブルを作成し、データ移行をリトライしてください。  8.2.3 CONS_NAME_FK 制約作成エラー  インデックスと制約を含むテーブルの移行を実行したら、ログファイルに下記のエラ

ーメッセージが表示された。  

Error Creating Constraint EMP_DEPT_FK: ERROR: relation "hr.departments" does not exist

 

Schema HR imported with errors. One or more schema objects could not be imported during the migration process. Please review the migration output for more details.

 

Migration logs have been saved to C: \Docume~1\susan\.enterprisedb\migration- toolkit\logs

 

******************** Migration Summary ******************** Tables: 1 out of 1 Constraints: 5 out of 6 Total objects: 11

Page 62: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 62

Postgres Plus Migration Guide  

 

Successful count: 10 Failure count: 1

List of failed objects ====================== Constraints -------------------- 1. HR.EMPLOYEES.EMP_DEPT_FK

 移行するテーブルにターゲットデータベースに存在しないテーブルの外部キー制約が含まれています。Migration Toolkit はテーブルを作成し、外部キー制約を除外します。

   このエラーメッセージが生成されないようにするには、Migration Toolkit コマンドに-skipFKConst オプションを追加してください。  8.2.4 テーブルへのデータ読み込みエラー  テーブル定義は移行済みで、データをテーブルに移行しようとしたら下記のエラーが発生した。

 Error Loading Data into Table: DEPARTMENTS: ERROR: extra data after last expected column Where: COPY departments, line 1: "10 Administration 200 1700" Trying to reload table: DEPARTMENTS through bulk inserts with a batch size of 1000

 

Batch entry 0 INSERT INTO hr.DEPARTMENTS VALUES ('10', 'Administration', '200', '1700'); was aborted. Call getNextException to see the cause., Skipping Batch Stack Trace: java.sql.BatchUpdateException: Batch entry 0 INSERT INTO hr.DEPARTMENTS VALUES ('10', 'Administration', '200', '1700'); was aborted.

 

Table Data Load Summary: Total Time(s): 0.235 Tota l Rows: 0 Data Load Summary: Total Time (sec): 0.235 Total Rows: 0 Total Size(MB): 0.0

 

Schema HR imported with errors.

 ターゲットデータベース内のテーブル定義が移行データに適合しません。ターゲット

またはソーステーブルを変更した場合は、テーブル定義とデータが合っているか確

認してください。  8.2.5 エラー: タイプに対して値が長すぎる  テーブル定義は移行済みで、データをテーブルに移行しようとしたら下記のエラーが発生した。

 Error Loading Data into Table: DEPARTMENTS: ERROR: v alue too long for type character(1)

Where: COPY departments, line 1, column location_id: "1700" Trying to reload table: DEPARTMENTS through bulk inserts with a batch size of 1000 Batch entry 0 INSERT INTO hr.DEPARTMENTS VALUES ('10', 'Administration', '200', '1700'); was aborted.

Page 63: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 63

Postgres Plus Migration Guide  

 

   

ターゲットデータベース内のカラムは、移行データを受け取るのに十分な大きさではあ

りません。この問題は、テーブル定義が移行後に変更された場合に発生します。この

カラム名(例中では、location_id)は、'Where:' で始まる行に特定されています。  

Where: COPY departments, line 1, column location_id: "1700"

 この問題を修正するには、カラムサイズを調整して移行をリトライしてください。

       8.2.6 エラー: Toolkit スレッドの例外 : OutOfMemoryError  MySQLデータベースからの移行時、下記のエラーが発生した。

 Loading Table: doc_views… Exception on Toolkit thread: java.lang.OutOfMemoryError: Java heap space java.lang.OurOfMemoryError: Java heap space at java.lang.AbstracStringBuilder.expandCapacity(AbstractStringBuilder?.java:99)

 デフォルトでは、MySQLJDBC ドライバは、1 回のネットワークラウンドトリップでテーブル内の全ての行をクライアントアプリケーションにフェッチします。大容量のテーブルでは、この動作で利用可能メモリを超えてしまいがちです。

   この問題を修正するには、移行をリトライする時にコマンドライン引数として-fetchSize 1 を指定してください。

Page 64: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 64

Postgres Plus Migration Guide  

 

   

8.3 サポートされていない Oracleの機能  Advanced Server は、Oracle の一部の機能については完全サポート、その他については部分的なサポートを提供します。Migration Toolkit では、サポートされていない機能を使用するオブジェクトは移行できません。

   Migration Toolkit は、一部のケースでは、部分的互換性を提供する機能を使用するオブジェクトの移行することができます。それ以外のケースでは、Advanced Serverは適切な代替方法をサポートします。

 

 フルテキスト検索は Oracle との完全互換性がない機能の一例です。Advanced Server データベースは、長い間フルテキスト検索のサポートをしてきましたが、Oracle の実装とは大幅に異なるため、Migration Toolkit ではこの機能を利用するオブジェクトの移行はできません。

 

 Advanced Server がまだサポートしていない機能もあります。これらの機能のカテゴリには、Automated Storage Management、Advanced Queuing、テーブル圧縮、外部テーブルが含まれます。これらは代替方法でうまく調整できる場合が多くあります。

   

❷ Automated Storage Management は(システム固有の)ボリュームマネジメントソフトウェアで置き換えることができます。

   

❷ Advanced Queuing は、ActiveMQ、TIBCO 、MQ シリーズなどの外部メッセージングシステムで置き換えることができます。

   

❷ テーブル圧縮は、圧縮ファイルシステム内のテーブル空間にデータを格納することで実現可能です。

 

 ❷ 外部テーブルは Advanced Server には存在しませんが、フラットテキストファ

イルをデータベース内のステージングテーブルに読み込むことが可能です。データを Advanced Server データベースに高速に読み込むためには、EDB*Loader ユーティリティの使用をお勧めします。

Page 65: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 65

Postgres Plus Migration Guide  

 

   

8.4 よくある質問と回答  Migration Toolkitはパッケージの移行をサポートしますか?

 Migration Toolkit は、Oracle データベースから Advanced Server へのパッケージの移行をサポートします。Advanced Server が提供する移行サポートに関しては、3 章機能概説 をご参照ください。  ソースデータベースからデータだけを転送する方法はありますか?

 

 あります。データ転送はオンラインまたはオフライン移行の一部とし

てサポートしています。  Migration Toolkitは、CLOBデータタイプのデータを含むテーブルの移行をサポートしますか?

 

 Migration Toolkit は、CLOB タイプのデータを含むテーブルの移行をサポートし

ます。  Advanced Serverは、enumデータタイプをサポートしますか?

   Advanced Server は、現在のところ enum データタイプをサポートしていませんが、今後のリリースではサポートする予定です。それまでは、チェック制約を使用してAdvanced Server データベースに追加されるデータの制限を行うことができます。チェック制約は、カラムがとり得る有効値のリストを定義します。

 

 下記のコードサンプルは、カラムの値を sales、admin、または technical の 3 つの dept タイプのうち 1 つに制限するチェック制約のシンプルな例です。

 CREATE TABLE emp (

emp_id INT NOT NULL PRIMARY KEY, dept VARCHAR(255) NOT NULL,

 

CHECK (dept IN ('sales', 'admin', 'technical')) );

   

有効な dept タイプを入力してチェック制約をテストする場合、INSERT ステートメントはエラーを出さずに動作します。  

test=# INSERT INTO emp VALUES (7324, 'sales'); INSERT 0 1

 制約に含まれない値(support)を挿入すると、Advanced Server はエラーを返します。

 test=# INSERT INTO emp VALUES (7325, 'support'); ERROR: new row for relation "emp " violates check con straint "emp_dept_check"

 Advanced Serverはマテリアライズドビューをサポートしますか?

Page 66: Postgres Plus 移行ガイド - EnterpriseDB | The …info.enterprisedb.com/rs/enterprisedb/images/Postgres_Plus... · Postgres Plus Migration Guide !!! 目次 1 はじめに

Copy right © 2012 EnterpriseDB Corporation. All rights reserv ed. 66

Postgres Plus Migration Guide  

 

   

Postgres は、Oracle 準拠のマテリアライズドビューをサポートしません。マテリアライズドビュー/サマリテーブルを Postgresにセットアップするには、サマリテーブルを維持するトリガを手動で作成しなければなりません。自動クエリリライトは現在のところサポートされていませんので、アプリケーションはサマリテーブルの存在を認識できるように作成しなければなりません。  TIMEデータタイプを含む MySQLデータベースから移行しようとしたら、次のエラーが発生した: Error Loading Data into Table: Bad format for Time. Postgresは MySQL TIMEデータタイプをサポートしますか?

   Postgres では、時間コンポーネントの値が 24 より大きくない限りは、TIME データタイプの格納については問題ありません。

 

 Postgres とは異なり、MySQL TIME データタイプでは、TIME または INTERVAL 値のいずれかを表す値の格納が可能です。MySQL TIME カラムに格納された値がINTERVAL 値を表していると、有効な Postgres TIMESTAMP 値の受け入れ可能範囲を超えてしまう可能性があります。移行プロセス中に、Postgres が TIME データカラムに格納された値が範囲外であると判断すると、エラーを返します。