株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

Oracle DB移行において なぜ”論理的”な移行方法が重要か

Oracle ACE Proの渡部です。

Oracleデータベースを移行する方法は、論理的な移行方法と物理的な移行方法に大別されます。 とはいえ、現場で頻繁に使用されるのは論理的な移行方法です。

本記事では、Oracleデータベースの移行において、なぜ"論理的"な移行方法が重要なのかを説明します。

Oracleデータベース移行方法の分類

Oracleデータベースを移行するには、非常に多くの方法があります。

  • Data Pump
  • RMAN Backup/Restore
  • RMAN Duplicate
  • Transportable Tablespaces
  • Full Transportable export/import
  • RMAN Transportable Tablespaces Backup Sets
  • PDB Unplug/Plug
  • PDB Refreshable Clones
  • Data Guard
  • GoldenGate
  • など

これらの移行方法は、論理的な移行方法(論理移行)と物理的な移行方法(物理移行)に大別されます。

論理移行とは、移行元DBからオブジェクトとデータをエクスポートし、移行先DBにそれらをインポートする移行方法です。 論理移行に分類される移行方法には、Data Pumpがあります。

論理移行で移行した移行先DBは、使用者の観点からは移行元DBと同じに見えます。データは同じであり、SELECT文は同じ結果を返します。 しかし、データベースの内部構造は、移行元DBと移行先DBで異なります。データファイルにおけるデータブロックの配置や、データブロック内のデータ状態は、移行元DBと移行先DBで通常異なる状態になります。

物理移行とは、移行元DBのデータファイルを、そのままターゲットシステムにコピーすることをベースにする移行方法です。 論理移行に分類される移行方法には、RMAN、トランスポータブル技術、PDBのアンプラグ/プラグなどがあります。 この方式は、特に大規模なデータベースの場合、はるかに高速になる可能性があります。

物理移行では、データファイルまたはそのバックアップを移動するため、移行先データベースマシンのOSへのアクセスが必要になります。また、マルチテナントアーキテクチャではルートコンテナへのアクセスが必要になる場合もあります。

高速性は物理移行が優れます。ただし、現場で頻繁に使用されるのは論理移行です。 論理移行には、いくつかの利点があるためです。

論理移行の利点

Data Pumpを使用した論理移行を前提に、論理移行の利点について整理します。

論理移行の大きな利点は、

  • 移行元DBと移行先DBが異なる構成であっても移行が可能である

という点です。 具体的には、論理移行では、移行元DBと移行先DBが以下の点で異なっていても移行できます。

  • 異なるバージョン (≒アップグレードを伴う移行)
  • 異なるエンディアン
  • 異なるエディション (若干の配慮は必要)
  • 異なるキャラクタセット
  • CDB / 非CDB
  • 暗号化 / 非暗号化
  • オンプレミスOracleからAutonomous DBへ
  • など

特に、移行元DBと移行先DBが異なるバージョンであっても移行が可能である利点は、極めて重要です。

なぜなら、たいていのOracleデータベース移行は、Oracleのアップグレードを伴うためです。

なお、移行元DBと移行先DBの構成が異なっている場合、物理移行は一切使用できないというわけではありません。 たとえば、トランスポータブル系の物理移行は、一部の異なる"構成"間の移行をサポートできます。 ただ、サポートできる範囲や使用できる条件に制約があるため、これらに注意して使う必要があります。

異なる構成のDB間の移行で使える移行方法をOracle Migration Methods Advisorで調べる

それでは、具体的に「異なる構成のDB間の移行においてどの移行方法が使えるのか?」をOracle Migration Methods Advisorを使って調べてみます。

Oracle Migration Methods Advisorを使ってOracle DBのOCI移行方法を調べる

異なるバージョン間の移行 (アップグレードを伴う移行)

以下の3パターンの移行において、使える移行方法をOracle Migration Methods Advisorで調べてみます。

  • 19c EE CDB Linux → 19c BaseDB 《同じバージョン間の移行 / 比較の基準》
  • 18c EE CDB Linux → 19c BaseDB
  • 12.2.0.1 EE CDB Linux → 19c BaseDB

それぞれのパターンで、Oracle Migration Methods Advisorから"Manual Methods"として推奨される移行方法は以下の通りです。

  • Data Pump Conventional Export/Import
  • Data Pump Full Transportable
  • Data Pump Transportable Tablespace
  • RMAN Cross-Platform Transportable PDB
  • RMAN Cross-Platform Transportable Tablespace Backup Sets
  • RMAN DUPLICATE from an Active Database
  • RMAN Transportable Tablespace with Data Pump
  • Remote Cloning a PDB
  • Replication-based migration - Logical
  • Replication-based migration - Physical
  • Unplugging/Plugging a PDB
  • SQL Developer and INSERT Statements to Migrate Selected Objects
  • SQL Developer and SQL*Loader to Migrate Selected Objects

  • Data Pump Conventional Export/Import
  • Data Pump Full Transportable
  • Data Pump Transportable Tablespace
  • Replication-based migration - Logical
  • SQL Developer and INSERT Statements to Migrate Selected Objects
  • SQL Developer and SQL*Loader to Migrate Selected Objects

  • Data Pump Conventional Export/Import
  • Data Pump Full Transportable
  • Data Pump Transportable Tablespace
  • Replication-based migration - Logical
  • SQL Developer and INSERT Statements to Migrate Selected Objects
  • SQL Developer and SQL*Loader to Migrate Selected Objects

上記の結果から以下の点が分かります。

  • 異なるバージョン間の移行(18c/12.2.0.1 → 19c)であっても、論理移行に分類される以下の移行方法は使用できる
    • Data Pump Conventional Export/Import
    • Replication-based migration - Logical
    • SQL Developer and INSERT Statements to Migrate Selected Objects
    • SQL Developer and SQL*Loader to Migrate Selected Objects
  • 異なるバージョン間の移行(18c/12.2.0.1 → 19c)では、物理移行に分類される以下の移行方法が使えない
    • RMAN Cross-Platform Transportable PDB
    • RMAN Cross-Platform Transportable Tablespace Backup Sets
    • RMAN DUPLICATE from an Active Database
    • RMAN Transportable Tablespace with Data Pump
    • Remote Cloning a PDB
    • Replication-based migration - Physical
    • Unplugging/Plugging a PDB
  • Data Pump Full Transportable, Data Pump Transportable Tablespace については、異なるバージョン間の移行(18c/12.2.0.1 → 19c)でも使用できる。

異なるエンディアン間の移行 (プラットフォームの変更を伴う移行)

以下の2パターンの移行において、使える移行方法をOracle Migration Methods Advisorで調べてみます。

  • 19c EE CDB Linux → 19c BaseDB 《同じバージョン間の移行 / 比較の基準》
  • 19c EE CDB UNIX(ビッグエンディアン) → 19c BaseDB

Oracle Migration Methods Advisorから、"Manual Methods"として推奨される移行方法は以下の通りです。

  • Data Pump Conventional Export/Import
  • Data Pump Full Transportable
  • Data Pump Transportable Tablespace
  • RMAN Cross-Platform Transportable PDB
  • RMAN Cross-Platform Transportable Tablespace Backup Sets
  • RMAN DUPLICATE from an Active Database
  • RMAN Transportable Tablespace with Data Pump
  • Remote Cloning a PDB
  • Replication-based migration - Logical
  • Replication-based migration - Physical
  • Unplugging/Plugging a PDB
  • SQL Developer and INSERT Statements to Migrate Selected Objects
  • SQL Developer and SQL*Loader to Migrate Selected Objects

  • Data Pump Conventional Export/Import
  • Data Pump Full Transportable
  • RMAN CONVERT Transportable Tablespace with Data Pump
  • Replication-based migration - Logical
  • SQL Developer and INSERT Statements to Migrate Selected Objects
  • SQL Developer and SQL*Loader to Migrate Selected Objects

上記の結果から以下の点が分かります。

  • 異なるエンディアン間の移行 (ビッグエンディアン→ リトルエンディアン)であっても、論理移行に分類される以下の移行方法は使用できる
    • Data Pump Conventional Export/Import
    • Replication-based migration - Logical
    • SQL Developer and INSERT Statements to Migrate Selected Objects
    • SQL Developer and SQL*Loader to Migrate Selected Objects
  • 異なるエンディアン間の移行 (ビッグエンディアン→ リトルエンディアン)では、物理移行に分類される以下の移行方法が使えない
    • RMAN Cross-Platform Transportable PDB
    • RMAN Cross-Platform Transportable Tablespace Backup Sets
    • RMAN DUPLICATE from an Active Database
    • RMAN Transportable Tablespace with Data Pump
    • Remote Cloning a PDB
    • Replication-based migration - Physical
    • Unplugging/Plugging a PDB
  • Data Pump Full Transportable, RMAN CONVERT Transportable Tablespace with Data Pump については、異なるエンディアン間の移行 (ビッグエンディアン→ リトルエンディアン)でも使用できる。

まとめ

論理移行には、「移行元DBと移行先DBが異なる構成であっても移行が可能である」という利点があります。

Oracleのアップグレードを伴うOracleデータベース移行で論理移行を使用できるため、多くのOracleデータベース移行では論理移行が使用されます。

[参考] データベースにおける「論理」と「物理」

データベースにおける「論理」と「物理」について理解するには、以下の記事が役立つかもしれません。

データベース レプリケーションの分類(物理 or 論理)

論理バックアップの注意点と物理バックアップの薦め

[宣伝] Oracle DBのOCI移行はコーソルへ!

Oracle DBのOCI移行はコーソルへお任せ下さい。

コーソルはORACLE MASTER Platinum 累計取得者数No.1

コーソルからデータベース関連製品をご購入いただくと、ORACLE MASTER Platinum 単年取得者数7年連続No.1、2016年6月以降 累計保持者数No.1という指標に裏付けされた高い技術力により、安心してOracleを導入/利用いただけます。

ORACLE MASTER Platinumとは、2日間にわたる実技試験により認定されるOracle Database最高難度の資格です。 グローバルで有効な資格であり、海外では"Oracle Certified Master"と呼ばれます。

ORACLE MASTER Platinumとは何か / コーソルはPlatinum取得者数No.1!

多数のOracle関連書籍を執筆

Oracle DatabaseのDBAサービスを提供可能

Oracle Databaseについても製品販売、製品サポート、製品の導入を行います。また、リモート回線経由でスポット的なDBA実務を行うリモートDBAサービス、コンサルティングやベンダコントロールを含めたOracle Databaseプロフェッショナルサービスを時間制で提供する時間制コンサルサービスも提供しています。

データベース運用保守なら常駐しないリモートDBA

基幹系DB運用支援および製品サポートについては、3拠点体制による24時間365日対応が可能です。

コーソルは多数のデータベース関連製品を取り扱っています

コーソルは、Oracle Databaseをはじめとするデータベース製品に関する深い知識を活かし、多数のデータベース関連製品を取り扱っております。

  • オラクル製品全般 (Oracle Database, Oracle Cloud, Oracle GoldenGate, Oracle WebLogic Serverなど)
  • Dbvisit Standby
  • SharePlex for Oracle
  • CData Sync
  • Qlik Replicate
  • Solarwinds Database Performance Analyzer (DPA)
  • Toad for Oracle / Toad for SQL Server
  • MaxGuage
  • Spotlight for Oracle / Spotlight for SQL Server
  • SIOS LifeKeeper
  • Delphix
  • PISO
  • D'amo
  • Nutanix Database Service (NDB)

これらの製品について、販売・導入・運用を様々な形でご支援します。お困りの際はぜひ弊社にお声がけくださいませ。

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ