59
© NEC Corporation 2019 初めてでもできた︕ EDB Postgresでかんたんマイグレーション EDB Postgres Vision Tokyo 2019 NECソリューションイノベータ株式会社 ⿊岩 絵美⼦

初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

1 © NEC Corporation 2019

初めてでもできた︕EDB Postgresでかんたんマイグレーション

EDB Postgres Vision Tokyo 2019

NECソリューションイノベータ株式会社⿊岩 絵美⼦

Page 2: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%
Page 3: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

⽬次n ⾃⼰紹介n 本セミナーの⽬的n マイグレーションのステップn マイグレーション検証の⽅法n マイグレーション検証n マイグレーション実績n まとめ

Page 4: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

4 © NEC Corporation 2019

⾃⼰紹介▌ 名前 ︓⿊岩 絵美⼦▌ キャリア ︓⼊社6年⽬、29歳▌ 現在の業務

今年度からEDB社製品チームに異動現在はOSS-DB Silver取得に向け勉強中▌ 業務経歴

2013年⼊社以来、Linux製品の開発およびサポートに従事し、2019年度にDB製品の業務にシフトデータベース経験は、テストで操作した程度

Page 5: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

本セミナーの⽬的

Page 6: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

6 © NEC Corporation 2019

本セミナーの⽬的

OracleからEDB Postgresへの移⾏の実態をご紹介したい︕

Oracle EDB

本当にマイグレーションリスクが低減できるか︖マイグレーションを⾏うために多くの学習が必要では︖

EDB社の答え︓互換性の⾼さで移⾏リスク低減︕

Oracleマイグレーションの課題︓移⾏リスク

Page 7: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

7 © NEC Corporation 2019

移⾏に挑戦

OracleもPostgresも知識ほぼゼロ︕データベースに関しては素⼈の私がマイグレーションに挑戦しました

完全⾃動移⾏はできませんでしたが、移⾏作業の⼤半はツールで移⾏できました︕

どの移⾏作業が簡単で、何が難しいのかをご紹介します

結論

Page 8: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

マイグレーションのステップ

Page 9: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

9 © NEC Corporation 2019

マイグレーションのステップ▌移⾏の⽅法

参考︓EDB社のウェビナー「30分でわかるオラクルからの移⾏︕Migration Portal 活⽤法」

▌移⾏作業イメージ

Oracle EDB(EPAS)MTK

DDL DDL(EPAS⽤)

定義の移⾏

データの移⾏

Migration Portal

EPAS︓EDB社のデータベース製品 EDB Postgres Advanced ServerMTK︓EDB社の移⾏ツール Migration Toolkit

MTK

Page 10: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

10 © NEC Corporation 2019

マイグレーションに使⽤するEDB社のツール

Migration Portal MTK

Migration Portal Migration Toolkit(MTK)

定義の移⾏で使⽤ データの移⾏で使⽤

Page 11: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

11 © NEC Corporation 2019

Migration Portalとは︖EDB社が運営する、定義移⾏に役⽴つWebアプリケーション▌EDB社ホームページからアクセス

“Product”の中にあります

Page 12: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

12 © NEC Corporation 2019

Migration Portalとは︖マイグレーションポータルで移⾏アセスメントを実施▌DDL(Oracle)ファイルをEPAS⽤DDLに変換▌変換結果を⼀覧表⽰

変換結果成功︓●失敗︓●

Page 13: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

13 © NEC Corporation 2019

Migration Portalとは︖ナレッジベースを参考にその場で変換時のエラーを修正

ナレッジベースエラー発⽣箇所

エラーの内容

Page 14: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

14 © NEC Corporation 2019

MTK(Migration Toolkit)とは︖EPASと共に提供されるコマンドラインの移⾏ツール▌データ移⾏に使⽤したツールlOracleと接続し直接データをEPASに⼊れるlスキーマごとに指定して移⾏することが可能l定義の移⾏も可能

Oracle (EPAS)JDBC JDBCMTK

Page 15: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

15 © NEC Corporation 2019

MTK(Migration Toolkit)とは︖MTKを利⽤する際の事前準備▌データベース環境に合わせたMTK実⾏準備lEPAS環境構築lJDBC for OracleのインストールlMTKのプロパティファイルの編集

Page 16: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

マイグレーション検証の⽅法

Page 17: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

17 © NEC Corporation 2019

移⾏するシステムの概要弊社内で実際に稼働している

顧客対応業務システムのDBをマイグレーション▌問い合わせ対応作業⽤のウェブシステム

Oracle

お問合せ

回答 問い合わせ

A製品契約

C製品担当

お客様

• 製品データ• 顧客データ• 担当者データ• 問い合わせ状況

A・B製品担当

B製品契約

A・C製品契約

製品担当

Page 18: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

18 © NEC Corporation 2019

Oracle

移⾏するシステムの特徴①▌Oracle DBの機能で実現している処理(全⽂検索機能)

○○が発⽣しました。

お客様製品担当者

WHERE CONTAINS(text, ʻ○○ | ××ʼ )>0

全⽂検索

ナレッジ

××が⽌まっています。

」」

問題発⽣

お問い合わせ

Page 19: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

19 © NEC Corporation 2019

移⾏するシステムの特徴②▌Oracle DBの機能で実現している処理(メールの送受信)

メール履歴を蓄積

回答送信指⽰

OracleUTL_SMTPパッケージ

お客様製品担当者

メール送信

Page 20: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

20 © NEC Corporation 2019

移⾏するシステムの特徴③

▌データベース構成の特徴lこのシステムには⼆つのデータベースが存在するl⼆つのデータベースはDBLinkで連携している

Oracle DB共通データ管理⽤DB 製品データ管理⽤DB

DBLink⽤スキーマ共通データ所有スキーマ顧客データ所有スキーマ

管理スキーマ製品Aスキーマ製品Bスキーマ製品Cスキーマ

DBLink

Page 21: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

21 © NEC Corporation 2019

管理スキーマ製品Aスキーマ製品Bスキーマ製品Cスキーマ

移⾏するシステムの特徴③▌DBLinkとは

製品Aの顧客データの○○が⾒たい…製品データ管理⽤

共通データ管理⽤

DBLink⽤スキーマ共通データ所有スキーマ顧客データ所有スキーマ

DBLink定義

DBLinkで参照したデータを使い、ビュー、パッケージ、ストアドプロシージャ等を定義

Page 22: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

22 © NEC Corporation 2019

検証⽅法▌検証環境

▌検証内容l確認⽅法︓データベース定義とデータを移⾏後、

アプリケーションが発⾏するSQL⽂で動作確認l作業期間︓3週間l作業者数︓1名

EDB(EPAS)Oracle

Oracle DBサーバ

EDB Postgresサーバ

マイグレーション

Page 23: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

マイグレーション検証

Page 24: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

24 © NEC Corporation 2019

移⾏のフロー

データベース定義の抽出

データベース定義の変換

データベース定義の移⾏

データの移⾏

Page 25: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

25 © NEC Corporation 2019

データベース定義の抽出▌DDL Extractorを⼊⼿Oracle DBの定義を抽出するDDL Extractorをダウンロード

ここからダウンロードします

Page 26: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

26 © NEC Corporation 2019

データベース定義の抽出▌DDL Extractorを実⾏lDBサーバにDDL Extractorを配置lSQL*Plus上でDDL Extractorを実⾏SQL>@edb_ddl_extractor.sql# -- EDB DDL Extractor Version 2.0.7 for Oracle Database -- ## --------------------------------------------------------- #Enter comma separated list of schemas to be extracted: 抽出するスキーマ名Location for output file : DDLファイル出⼒先

実⾏結果

Page 27: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

27 © NEC Corporation 2019

データベース定義の抽出▌DDL Extractor実⾏結果l⼆つあるデータベースのうち⼀つは問題なく終了lもう⼀つのデータベースでも正常終了したものの、不穏なメッセージが

【要約】指定したスキーマは別のスキーマに依存している。同時に関係するスキーマを抽出しないと不具合が。

Page 28: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

28 © NEC Corporation 2019

データベース定義の抽出▌DDL抽出の問題

仕⽅ないので、次の⼯程で解決することを祈り、DDLはそのままに

共通データ管理⽤DB 製品データ管理⽤DB

DBLink⽤スキーマ共通データ所有スキーマ顧客データ所有スキーマ

管理スキーマ製品Aスキーマ製品Bスキーマ製品Cスキーマ

依存DBLink

• 依存するスキーマはDBLinkで参照している別DBにある

• 複数のDBから同時にDDLを抽出できない

Page 29: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

29 © NEC Corporation 2019

移⾏のフロー

データベース定義の抽出

データベース定義の変換

データベース定義の移⾏

データの移⾏

Page 30: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

30 © NEC Corporation 2019

データベース定義の変換▌抽出したDDLをMigration Portalにアップロード

プロジェクト名を指定

移⾏元/移⾏先のDB種別と

バージョンを選択

DDLファイルのアップロード

アセスメント実⾏ボタン

EDB社が運営しているウェブサイトなのでDDLファイルをアップロードできる環境に持っていく必要があります

Page 31: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

31 © NEC Corporation 2019

データベース定義の変換

▌アセスメント実⾏結果

エラーがたくさん…

Page 32: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

32 © NEC Corporation 2019

データベース定義の変換▌アセスメント実⾏結果

共通データ管理⽤DB(DBLinkの利⽤なし)のアセスメント結果Object Type Total Passed Failed Passed Rate

Type 2 2 0 100%Table 93 93 0 100%Procedure 9 9 0 100%Function 3 3 0 100%Index 71 71 0 100%View 13 13 0 100%Sequence 1 1 0 100%

Oracle:Oracle 12cEDB Postgres:EnterpriseDB Advanced Server 11.4.11EDB Migration Portal:GA 2.1.0

エラー無し︕

Page 33: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

33 © NEC Corporation 2019

データベース定義の変換▌アセスメント実⾏結果

製品別データ管理⽤DB(DBLinkの利⽤あり)のアセスメント結果Object Type Total Passed Failed Passed Rate

Type 24 24 0 100%Table 330 330 0 100%Procedure 633 165 468 26%Function 59 44 15 75%Index 235 228 7 97%View 75 41 34 55%Sequence 42 42 0 100%Synonym 256 256 0 100%Package 78 66 12 85%Package Body 66 21 45 32%Constraint 20 20 0 100%Materialized View 2 0 2 0%

成功率が低い根本原因は

2種類

Page 34: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

34 © NEC Corporation 2019

データベース定義の変換▌エラーの原因①︓全⽂検索l複数の⽂書(ファイル)から特定の⽂字列を検索する機能lあらかじめインデックスを定義する必要がある

EPASでも同様の機能があるので実装可能

インデックスの定義が変換できていない

Migration Portalでは⾮対応

今回は移⾏を断念

Page 35: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

35 © NEC Corporation 2019

データベース定義の変換▌エラーの原因②︓ DBLinkl別のデータベースやリモートのデータベースに接続する機能

Migration Portalの「Forum」でDBLinkの移⾏⽅法について質問

DBLinkで参照するテーブルが⾒つからない

DDL抽出の際DBLinkの定義を取得できていなかった

Page 36: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

36 © NEC Corporation 2019

データベース定義の変換▌DBLinkの移⾏⽅法についてForumでEDB社から回答を得た

EPAS環境構築後の作業なので後程ご説明します。

DBLink定義の作成に成功︕

回答していただいた⽅法でEPAS上に

DBLink定義を作成

Page 37: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

37 © NEC Corporation 2019

移⾏のフロー

データベース定義の抽出

データベース定義の変換

データベース定義の移⾏

データの移⾏

Page 38: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

38 © NEC Corporation 2019

データベース定義の移⾏▌移⾏先であるEPAS環境を構築するlEPASはEDB社HPからダウンロード可能l環境に合ったyumリポジトリにアクセスし必要なrpmをダウンロード

Yumリポジトリにアクセス

Page 39: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

39 © NEC Corporation 2019

データベース定義の移⾏▌EPASをインストール、psqlで接続できるか確認

# /usr/edb/as11/bin/edb-as-11-setup initdb … DBクラスタ作成# systemctl start edb-as-11 … DBサービスの開始# su - enterprisedb#/usr/edb/as11/bin/psql –d edb –U enterprisedb … DB接続確認

DBにログイン成功EPAS環境構築完了

実⾏結果

Page 40: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

40 © NEC Corporation 2019

データベース定義の移⾏▌DDL移⾏の前にEPAS上にDBLink定義を作成しておく

Forumで教えてもらったやり⽅でDBLink定義を作成

CREATE PUBLIC DATABASE LINK <DBLink名> CONNECT TO <ユーザー名>IDENTIFIED BY ʻ<パスワード>'USING libpq ʻhost=localhost port=5444 dbname =<データベース名>`;

DBLinkの定義が作成されました。

Page 41: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

41 © NEC Corporation 2019

データベース定義の移⾏▌DDLをエクスポート

スキーマを指定してDDLファイルをエクスポート

エクスポートしたいスキーマに

チェックを⼊れますエクスポート実⾏ボタン

Page 42: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

42 © NEC Corporation 2019

データベース定義の移⾏▌EPAS上に必要なオブジェクトを作成lエクスポートしたDDLファイルをEPASがある環境に配置lpsqlでEPASに接続し、DDLファイルのスクリプトを実⾏

#/usr/edb/as11/bin/psql –d edb –U enterprisedb … EPASにログインedb=# ¥i <DDLファイル名> …DDLファイルを実⾏

データベース定義の移⾏が完了

Page 43: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

43 © NEC Corporation 2019

移⾏のフロー

データベース定義の抽出

データベース定義の変換

データベース定義の移⾏

データの移⾏

Page 44: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

44 © NEC Corporation 2019

データの移⾏▌MTKの実⾏準備lEPAS環境構築lJDBC for Oracleのインストール•JDKをインストール•作成された/usr/java/jdk×××/jre/lib/ext/ディレクトリに

JDBCのJarファイルを配置lMTKのプロパティファイルの編集

Page 45: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

45 © NEC Corporation 2019

データの移⾏▌MTKの実⾏準備ltoolkit.propertiesファイル(MTKの設定ファイル)の編集

SRC_DB_URL=jdbc:oracle:thin:@<Oracle IPアドレス>:<リスナー・ポート>/<SID>SRC_DB_USER=<ユーザ名>SRC_DB_PASSWORD=<パスワード>

TARGET_DB_URL=jdbc:edb://<EPAS IPアドレス>:<ポート>/<データベース名>TARGET_DB_USER=<ユーザ名>TARGET_DB_PASSWORD=<パスワード>

規定値の「︓」ではうまくいかず、「/」に変更したところ接続成功

Page 46: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

46 © NEC Corporation 2019

データの移⾏▌MTKを-dataOnlyで実⾏

./runMTK.sh –dataOnly <スキーマ名>

データの移⾏が完了しました

移⾏元のOracleで無効(invalid)に設定しているオブジェクトは移

⾏がスキップされます

⼤⽂字と⼩⽂字は区別される

Page 47: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

47 © NEC Corporation 2019

データ移⾏結果▌共通データ管理⽤データベース(DBLinkなし)

▌製品別データ管理⽤データベース(DBLinkあり)

共通データ所有スキーマ

顧客データ所有スキーマ

成功 51 40失敗 0 0

管理スキーマ

処理スキーマ

製品Aスキーマ

製品Aʻスキーマ

製品Bスキーマ

製品Bʻスキーマ

製品Cスキーマ

製品Cʼスキーマ

成功 6 3 4 135 0 117 0 78失敗 0 0 0 1 0 3 0 3

エラーは全⽂検索の索引トークン表

Page 48: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

48 © NEC Corporation 2019

マイグレーション⼯程終了データベース定義と定義の移⾏が完了▌DBLinkでデータ参照できるか確認▌アプリが発⾏するSQL⽂を実⾏し、

Oracleと同じ結果が得られるか確認

Page 49: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

49 © NEC Corporation 2019

DBLink定義の確認▌DBLinkを使って別のデータベースのデータを参照

データ取得成功

# select * from スキーマ名.テーブル名@DBLink名;

Page 50: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

50 © NEC Corporation 2019

アプリが発⾏するSQLを実⾏︕結果は…▌Oracle

▌EDB

Page 51: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

マイグレーション実績

Page 52: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

52 © NEC Corporation 2019

移⾏実績

全⽂検索、DBlinkを利⽤しないDBはツールのみで移⾏完了▌共通データ管理⽤データベース(DBLinkなし)

O b ject T yp e T o tal P assed Failed P assed R ate

Type 2 2 0 100%

Table 93 93 0 100%

Procedure 9 9 0 100%

Function 3 3 0 100%

Index 71 71 0 100%

V iew 13 13 0 100%

Sequence 1 1 0 100%

Page 53: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

53 © NEC Corporation 2019

移⾏実績• 全⽂検索、DBLinkを利⽤する定義の移⾏成功率は⼤幅減• 2点の問題を解消できれば定義は100%移⾏完了

▌製品別データ管理⽤データベース(DBLinkあり)O bject Type Total P assed Failed P assed R ate

Type 24 24 0 100%

Table 330 330 0 100%

Procedure 633 165 468 26%

Function 59 44 15 75%

Index 235 228 7 97%

V iew 75 41 34 55%

Sequence 42 42 0 100%

Synonym 256 256 0 100%

Package 78 66 12 85%

Package Body 66 21 45 32%

Constraint 20 20 0 100%

M aterialized V iew 2 0 2 0%

Page 54: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

54 © NEC Corporation 2019

データ移⾏実績全⽂検索に使われる表以外はツールだけで全て移⾏完了▌共通データ管理⽤データベース(DBLinkなし)

▌製品別データ管理⽤データベース(DBLinkあり)

共通データ所有スキーマ

顧客データ所有スキーマ

成功 51 40失敗 0 0

管理スキーマ

処理スキーマ

製品Aスキーマ

製品Aʻスキーマ

製品Bスキーマ

製品Bʻスキーマ

製品Cスキーマ

製品Cʼスキーマ

成功 6 3 4 135 0 117 0 78失敗 0 0 0 1 0 3 0 3

Page 55: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

55 © NEC Corporation 2019

まとめ

●ほとんどのオブジェクトはツールで移⾏可能●使ってみるか悩んでいるならぜひ

Migration Portalで移⾏アセスメントをしてみるべき●アドバイスをもらって私でも解決できた●問題が起きた時はやはり有識者が必要

移⾏の際は弊社のOracleやEDBの有識者が全⼒でサポートをします︕

Page 56: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

弊社製品と組み合わせたソリューションのご紹介

Page 57: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

57 © NEC Corporation 2019

EDB Postgres™ 製品とNECの⾼可⽤性ソリューション

CLUSTERPRO X環境

DBサーバ(アクティブ)

DBサーバ(スタンバイ)

DB

DB監視

OS監視

HW監視

フェイルオーバー

ü18年連続国内シェアNo.1※1のHAクラスターとEDB Postgres™ 製品で⾼可⽤DBクラスターを実現

üシステム異常を確実に察知し業務を継続üエラー応答や無応答タイムアウトなど

DB監視可能※2ü仮想化環境やクラウド環境でクラスター

構築可能

※1 出典元︓IDC Japan、2019年6⽉「国内コンピューティング/ネ ットワークインフラストラクチャソフトウェア市場シェア、 2018 年︓好調なOSベンダー」(JPJ44004119)※2 CLUSTERPRO X Database Agent 利⽤時

▌EDB Postgres™ + CLUSTERPRO X

Page 58: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%

58 © NEC Corporation 2019

EDB Postgres™ 製品とNECの⾼可⽤性ソリューション

üサーバ管理基盤障害検出、及び障害時のログ収集機能を実現

ü性能分析ツールOSの性能情報の収集、稼働状態の可視化や性能ボトルネックの解明に有効

ü保守診断ツールハードウェア構成や装置状態の確認に使⽤

※1︓標準のLinuxディストリビューション、Linuxディペンダブルサポート、基盤ミドルウェア MC SCOPEを含む

MC Linux 環境

DB

DB監視

OS監視

HW監視

障害情報

性能情報

▌EDB Postgres™ + MC Linux※1

Page 59: 初めてでもできた︕ EDB Postgresでかんたんマイグレーション...Procedure 9 9 0 100% Function 3 3 0 100% Index 71 71 0 100% View 13 13 0 100% Sequence 1 1 0 100%