本文へ移動
技術を、自社の仕事に。
判断と実行を助けるメディア

記事を検索

MariaDB 13でOracleの手続きが動く範囲 — 移行判断の順番

目次 · 4項目

基幹システムのデータベースを別の製品へ移せないか、という検討は、費用の話から始まることがよくあります。そして調査に入ると、最初の壁として出てくるのがストアドプロシージャです。長年かけて積み上がった手続き型のコードが、移行先で動くのか、書き換えるなら何人月か。ここで話が止まりがちです。

MariaDB Community Server 13.0が正式版になり、この壁の一部が低くなりました。何が動くようになったのかと、それでも先に確認すべきことを分けて整理します。

埋まったのは「カーソルと型」の穴

MariaDBの発表とリリースノートによると、13.0はOracle環境から手続き型のロジックを移すときに引っかかっていた箇所をいくつか埋めています。

パッケージ(PACKAGE BODYとその中のルーチン)でREF CURSOR型を宣言できるようになり、弱い型付けと強い型付けの両方を扱えます。従来から対応していたSYS_REFCURSORと合わせて、カーソルを受け渡す書き方が移しやすくなります。RECORD型も、パッケージ内のルーチンの引数やパッケージ関数の戻り値として使えるようになりました。ただし13.0の時点では、どちらもパッケージに属さない単独のストアドルーチンの引数や戻り値にはまだ使えません。

手続き型以外では、単一テーブルのUPDATEでRETURNING句が使えるようになりました(複数テーブルのUPDATEは未対応)。更新した行の内容を、追加のSELECTを投げずに読み戻せます。OLD_VALUE()と組み合わせると、更新前と更新後の値を1往復で取得できます。運用面では、InnoDBのログアーカイブがバックアップとポイントインタイムリカバリのために追加され、INFORMATION_SCHEMAの列追加、init_rpl_role変数の可視化、システム変数の非推奨フラグといった、監査と調査をやりやすくする変更が入っています。オプティマイザヒントの枠組みも、ビュー・CTE・派生テーブルのクエリブロックに自動で名前が付き、深くネストした箇所をQB_NAMEで指定できるようになりました。

なお、13.0は四半期ごとに出るローリングリリースです。GA後は原則として修正版が出ず、次のリリースへ上げていく前提になっています。長期サポート版は現行の12.3(2029年6月まで保守)で、次は13.3とされています。基幹システムの移行先として比べるなら、どの系列に載せるかも先に決めておきます。

「書き換え量」は移行判断の一部でしかない

ここまでは移行先の話です。移行の見積りが崩れやすいのは、データベースの外側です。

確認する対象見るところ
アプリケーション接続ドライバ、SQLの方言、例外番号への依存
バッチ・連携夜間処理、他システムとの受け渡し、文字コード
帳票・BI接続先の変更可否、ライセンスの対象
運用監視、バックアップ、障害時の復旧手順と担当
契約保守の窓口、サポート期間、社内の承認範囲

特に見落とされやすいのが帳票です。データベースを移しても、帳票ツールが旧製品にしか対応していなければ、そこで止まります。監視とバックアップも、製品が変われば手順書と担当者の手が変わります。データベースそのものの移行費用より、この周辺の作り直しのほうが大きくなることもあります。

調べる順番を逆にしない

調べ始めるときに先に見るべきなのは、ストアドプロシージャの本数ではありません。まず、そのデータベースに接続しているものを全部数えます。アプリケーション、バッチ、帳票、BI、社内ツール、誰かが作った集計スクリプト。数え終わってから、それぞれが方言にどれだけ依存しているかを見ます。

この順番にすると、「手続き型は移せるが、帳票が対応していないので当面は無理」といった結論が早く出ます。逆にストアドから調べ始めると、数ヶ月かけて書き換え可能だと分かったあとで、別の理由で止まることがあります。

移行先として構成を比較する段階まで来たら、クラウド側で旧製品をそのまま動かす選択肢もあわせて見ます。その比較の考え方はOracleをクラウドで動かす選択肢で扱っています。MySQL系の長期サポート版を軸に据える場合の判断はMySQL 9.7 LTSと中小企業の刷新、バージョンを上げたときに挙動が変わる箇所の洗い出しは日付の扱いの変更を受け入れ確認に入れるが参考になります。

次にやること

移行するかどうかを決める前に、接続しているものの一覧を1枚作ってください。これは製品の知識がなくても社内で作れて、見積りの精度を大きく左右します。その一覧があると、移行の検討は「できるかどうか」から「どこから切るか」に変わります。

2026年9月24日に、MariaDBの13.0 GAの発表、13.0の変更点をまとめたリリースノート、リリースモデルの説明を、検索結果に含まれる各ページの抜粋で再確認しました。MariaDB 13.0の構築、Oracleからの移行検証、性能測定は実施していません。本記事は調査の順番と確認項目の整理です。

基幹システムのデータベース移行の調査や、周辺システムの影響範囲の洗い出しは、グリームハブへご相談ください。

この記事を共有XFacebook
鈴木 翔

技術の可能性に魅了され、学生時代からプログラミングとデジタルアートの分野に深い関心を持つ

この記事のテーマを、自社の次の一歩へ

自社での進め方を、具体的に。

つくりたい仕組み、既存システム、運用の条件を整理し、実現に向けた次の一歩を考えます。

  • 実現したい仕組み
  • 既存環境との接続
  • 運用の条件
開発・運用の構想を相談する

構想段階からご相談いただけます。この記事の情報を相談フォームに引き継ぎます。

最新記事をメールで受け取る