連載
» 2017年01月10日 05時00分 公開

OracleからMySQLへの「オブジェクト移行」に向けた3つのステップ実践 OSSデータベース移行プロジェクト(3)(2/2 ページ)

[廣濱顕司, 荻野邦裕, 潮雅人,SCSK株式会社]
前のページへ 1|2       

ステップ3:ステップ1の詳細をチェックする

 最後に、個々のオブジェクトの移行難易度と注意事項をチェックし、アセスメントを実施します。具体的には以下の10項目を確認します。

(1)テーブル移行

 テーブルの移行に関するチェックポイントは以下の通りです。

「テーブル移行」に関する注意事項一覧
Oracleテーブル種類 使用傾向 移行
難易度
注意事項
標準テーブル 一部データ型などに差異はあるものの、概念は同じである
一時表 Oracleは、一次表をトランザクション単位、セッション単位で作成できるが、MySQLはセッション単位しか作成できない
また、Oracleでは、一次表が作成されると明示的に指示するまで削除されることはないが、MySQLではセッションが終了すると自動的に削除される
クラスタ表 代用する仕組みの検討を要する
外部表 条件付きCSVストレージエンジンで代用可能
ディメンション 代用する仕組みの検討を要する

(2)インデックスの移行

 インデックスの移行に関するチェックポイントは以下の通りです。

「インデックスの移行」に関する注意事項一覧
Oracleインデックス種類 使用傾向 移行
難易度
注意事項
B-Treeインデックス 一部データ型などに差異はあるものの、概念は同じである
インデックス・タイプ(ドメイン・インデックス) データ型としてENUM型やSET型を使用することで代用可能
ファンクション・インデックス generated columnやVIRTUAL生成列で代用可能
ビットマップ・インデックス 代用する仕組みの検討を要する
索引構成表 同上
索引クラスタ(ハッシュクラスタ) 同上

(3)ビューの移行

 ビューの移行は、SELECT句の構文に一部差異はありますが、概念は同じです。容易に移行を実施できます。

(4)シーケンスの移行

 シーケンスの移行は、使用方法によって以下の通り難易度に差異があります。使用方法を個々にチェックしてください。

  1. カラムとシーケンスの対応が1対1の場合:auto_incrementで対応が可能。容易に移行を実施できる
  2. カラムとシーケンスの対応がN対1の場合:代用する仕組みの検討が必要となる

(5)シノニムの移行

 MySQLにはオーナーの概念がないため、シノニムの移行についての対応は必要ありません。

 なお、セキュリティ上オブジェクトへのアクセス制限を行う場合は、ユーザーに対する権限を付与することで対応できます。

(6)ストアドファンクション、ストアドプロシージャの移行

 ストアドファンクションとストアドプロシージャの移行は、コーディング方法に注意して実施する必要があります。こちらは次回以降、詳細を解説する予定です。

(7)トリガの移行

 トリガの移行に関するチェックポイントは以下の通りです。

「トリガの移行」に関する注意事項一覧
Oracleトリガ種類 使用傾向 移行
難易度
注意事項
DMLトリガ コーディング方法に差異があります、詳細は、次回以降で解説予定
INSTEAD OF トリガ 代用する仕組みの検討を要する
DDLトリガ 同上
イベント・トリガ 同上

(8)制約の移行

 制約の移行については、DDL(データ定義言語)の記載方法に差異があります。こちらは次回以降、詳細を解説する予定です。

(9)演算子の移行

 演算子の移行についても、コーディング方法に差異があります。こちらは次回以降、詳細を解説する予定です。

(10)Oracle独自のオブジェクトの移行

 Oracle独自のオブジェクトは直接移行できません。MySQLへの移行においては、これを代用する仕組みを検討する必要があります。例えば、以下のオブジェクトが挙げられます。

  • パッケージ、パッケージボディ
  • Javaクラス、Javaリソース、Javaソース
  • マテリアライズド・ビュー、マテリアライズド・ビュー・ログ
  • データベースリンク
  • マイニング・モデル
  • 外部プロシージャ・ライブラリ
  • オブジェクトテーブル、オブジェクト型、オブジェクト・ビュー
  • ディレクトリ


 次回は、Oracle DatabaseからMySQLへの移行に向けた「データ型の違い」を解説します。

※本稿は、2016年9月20日 SCSK「Oracle DBからMySQLへ、DB移行プロジェクトの実践ノウハウを専門家が徹底解説」ホワイトペーパーより、提供者の許可の下、一部を修正して展開するものです。

筆者紹介

廣濱顕司(ひろはま けんじ)

SCSK株式会社 ITマネジメント事業部門 基盤インテグレーション事業本部 通信基盤インテグレーション部所属。東京都出身 東京都在住。MySQLやMySQL Clusterのコンサルティング、設計構築、プリセールスなどを行っていたが、最近は営業やマーケティング活動もカバーするようになり、技術が分かる営業として日本国内を縦断中。

荻野邦裕(おぎの くにひろ)

SCSK株式会社所属。神奈川県横浜市在住。1983年よりIT業界へ。その間Oracleを中心とした、DB関連作業を多数経験。DBの移行を得意とする。趣味は自己チューニング(水泳、マラソン、筋トレ)及び愛犬アポロ(チワワ)と遊ぶこと。

潮雅人(うしお まさと)

SCSK株式会社 ITマネジメント事業部門 基盤インテグレーション事業本部 通信基盤インテグレーション部所属。神奈川県川崎市在住。入社当初よりデータベースの設計構築や技術サポート業務に従事。MySQLを中心にしつつもOracle Database、Oracle RACなどの構築にも携わる。趣味はスノーボード、スキューバダイビング、海外旅行など。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。