OracleからMySQLへ 「ストアドプロシージャ」の移行手順と工数評価:実践 OSSデータベース移行プロジェクト(6)(1/3 ページ)
本連載では、商用DBMSからOSSデータベースへの移行を検討する企業に向け、「MySQL」への移行プロジェクトで必要となる具体的なノウハウをお届けします。今回は、ストアドプロシージャの移行に関する難易度評価の手順を解説します。
商用DBMSからOSSデータベースへの移行を検討する企業に向け、「MySQL」への移行プロジェクトで必要となる具体的なノウハウをお届けする本連載。前回は、「オブジェクト種別」「データ型」「ビューおよびストアドプロシージャのSQL」「テーブル及びインデックスのDDL」に関する移行コストの評価を行いました。
今回は、SQL以外の「ストアドプロシージャ」の移行評価手順を解説します。例とするシステムは前回と同様に、「Oracle Database 11.2.0.4 Standard Edition One(SE1)」から「MySQL 5.7 Community Edition(ストレージエンジン:InnoDB)」への移行を計画する、ある製造業(仮名:株式会社豊洲部品)の架空プロジェクトで、現システム規模は、以下のOracle環境であるという前提で話を進めます。
OS | Windows2008R2 64bit |
---|---|
プロダクト名(バージョン) | Oracle Database 11g R2 SE1(11.2.0.4.0) |
データベース名 | APODB |
ブロックサイズ | 8192バイト |
キャラクタセット | JA16SJIS |
各国語キャラクタセット | AL16UTF16 |
接続モード | 専用サーバモード |
ユーザーデータ容量 | 約200GB |
最大同時接続数 | 100 |
アプリケーション | VB(oo4o)、PL/SQLストアドプロシージャ |
手順1:ストアドプロシージャの評価目的を理解する
本評価は、MySQLに移行する場合の「コスト(=作業量)を把握する」ことが目的です。次の手順で、現時点で実装しているストアドプロシージャのソースコードを取得して、MySQLに移行する場合のSELECTクエリ以外のソースコードの内容を確認していきます。
作業コストは、以下の3段階で評価します。
- 移行コスト:低(0〜0.5人月)
- 移行コスト:中程度(0.5〜1人月)
- 移行コスト:高(1人月以上)
手順2:ストアドプロシージャのソースコードを取得する方法
ストアドプロシージャのソースコードは、以下の方法で取得します。
- 「DBMS_METADATA」パッケージの「GET_DDL」ファンクションを使用する
- 「DataPumpユーティリティ」を使用する
(1)については第5回「SQLとDDLの移行評価を実施する」を、(2)については第4回「オブジェクトとデータ型の“移行コスト評価”を実施する」で解説した方法を参照してください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
「Oracle Databaseをやめる」という選択肢
Oracle Databaseのライセンス体系が変更され、これまでSE1/SEを利用していたユーザーは「実質の値上げを受け入れる」か「Oracle Databaseをやめる」かの選択が迫られています。本連載では、商用DBMSからOSSデータベースへの移行を検討する企業に向け、「MySQL」への移行プロジェクトで必要となる具体的なノウハウをお届けします。初回は、本連載を展開する背景を説明します。MySQLの「気になるウワサ」はどこまで本当?
Webの世界で人気の高いオープンソースRDB「MySQL」は、振り返ると買収や分岐など、運命に翻弄されてきましたが、中には正しくない話も出回っているようです。あの話は、本当ですか?MySQL+Apache+PHPをインストールしよう
本連載は、これからWebアプリケーション開発を習得しようとする方や本格的なプログラミング経験の少ない方を対象にしています。連載途中から始まるサンプルWebアプリケーション(簡単なショッピングサイト)開発を進めていきながら、基本事項や注意点などについて詳しく解説していきます。OSSデータベースのMySQLとPostgreSQLは「次の段階」へ進む
オープンソースデータベースの両雄、MySQLとPostgreSQLはどちらも近々大きく変化を遂げそうです。まだ公式発表前ですが、現在入手できる情報から「来たるべき進化」を考えます。いよいよMySQL編、ソースからビルドすべきか?
今回から、オープンソースのRDBMSである「MySQL」の環境構築に話題を移します。まずはソースコードを探して入手と行きたいところですが、MySQLの場合はソースコードからのビルドが最善の策かどうかを考える必要があります(編集部)