※ 本記事は、Michael Yauによる”Oracle AI Database 26ai: EBCDIC Compatibility Features for Mainframe Re-platforming“を翻訳したものです。

2026年9月9日


EBCDIC互換性は、メインフレームのリプラットフォーム化における重要な技術的課題の1つです。多くの組織は、IBMメインフレーム・データベースから最新のASCIIベースのシステムで実行されているOracle AI Databaseに移行しながら、実績のあるレガシーEBCDICアプリケーションを維持したいと考えています。Oracle AI Databaseがオンプレミスにデプロイされているか、Oracle AI Databaseのクラウド・デプロイメント・モデル(OCI上のOracle Autonomous Database、Exadata Cloud@Customer、マルチクラウド・デプロイメントなど)全体にデプロイされているかに関係なく、この目標を達成するには、単にデータを移動するだけでは不十分です。既存のアプリケーションが依存するEBCDIC互換性を維持する必要があります。

Oracle AI Database 26aiには、EBCDIC互換性の維持に関する2つの基本的な課題(正確な文字エンコーディング変換とEBCDICバイナリ順序の保持)に対応するEBCDIC互換機能が含まれています。これらの機能を組み合わせることで、組織は、データの整合性とアプリケーションの互換性を維持しながら、IBMメインフレーム・データベースをリプラットフォームできます。「Oracle® AI Databaseグローバリゼーション・サポート・ガイド (26ai)」では、これらの機能について詳細に説明しています。

IBM CDRA互換EBCDICクライアント・キャラクタ・セットを使用した正確な文字エンコーディング変換

これらの機能の中核となるのは、IBM CDRA互換のEBCDICクライアント・キャラクタ・セット群です。

これらのクライアント・キャラクタ・セットは、IBM Character Data Representation Architecture (CDRA)コード・ページ定義を実装し、IBMが公開している標準と互換性のあるソースからターゲットへの文字マッピングを提供します。これにより、データ移行および後続のデータベース・クライアント/サーバー通信時の正確で予測可能な文字エンコーディング変換が可能になります。

Oracle® AI Databaseデータベース・グローバリゼーション・サポート・ガイド (26ai)」では、SQL*Loader、外部表、DBMS_LOB、PL/SQL文字変換APIなどのOracleユーティリティを使用して、適切なターゲットOracle AI Databaseキャラクタ・セットを選択し、EBCDICデータを移行する方法についても説明しています。

組込みEBCDICバイナリ照合を使用したレガシーEBCDICアプリケーション動作の維持

正確な文字エンコーディング変換だけでは、EBCDIC互換性を維持するには不十分です。多くのレガシーEBCDICアプリケーション(COBOLで記述されたアプリケーションなど)は、IBM EBCDICコード・ページで定義されたEBCDICバイナリ順序に暗黙的に依存します。文字値を比較したり、範囲検索を実行したり、問合せ結果をソートするSQL述語では、多くの場合この順序付けを前提としています。ASCIIベースのOracle AI Databaseキャラクタ・セットへの移行後、これらと同じSQL文が異なる結果を生成する場合があります。これはデータが変更されたためではなく、データベースのデフォルトのバイナリ順序が、移行元のEBCDICコード・ページではなくASCIIベースのデータベース・キャラクタ・セットに従うためです。

以前は、EBCDICバイナリ順序を再現するには、Oracle AI Databaseの既存の言語照合をカスタマイズする必要がありました。Oracle AI Databaseには、エミュレートされたEBCDICバイナリ照合が一致するIBM CDRA互換EBCDICクライアント・キャラクタ・セットが含まれるようになりました。各組込みのエミュレートされたEBCDICバイナリ照合は、関連付けられたIBM EBCDICコード・ページ専用に生成され、そのバイナリ順序を再現します。その結果、SQLの比較および順序付け操作では、移行後にSQLの変更を最小限に抑えるか、またはまったく変更せずに、多くのレガシーEBCDICアプリケーションで期待される動作を維持できます。

組込みのOracle AI Database照合として、これらのEBCDICバイナリ照合は、サポートされているOracle AI Databaseキャラクタ・セットで動作し、Oracle Exadata、OCI上のOracle Autonomous Database、Exadata Cloud@Customer、マルチクラウド・デプロイメントなどのOracle AI Databaseデプロイメント・モデル全体でサポートされます。これは、ワークロードをOracle Autonomous Databaseおよびその他のExadataベースのデプロイメント・モデルにモダナイズするお客様にとって特に重要です。カスタマイズされた照合順序を含むカスタマイズされたロケール・データは、Oracle Exadataベースのデプロイメントではサポートされていないためです。詳細は、My Oracle Supportナレッジ・ベース記事KB756698Oracle Database製品のカスタム・ロケール・データのサポート・ステータス」を参照してください。組み込みのEBCDICバイナリ照合順序は、これらのデプロイメント環境間でEBCDIC互換性を維持するのに役立ちます。

データバウンド照合機能を使用したEBCDICバイナリ照合のデプロイ

Oracle AI Databaseにはデータバウンド照合機能が含まれており、アプリケーション・ロジックやセッション設定に依存するのではなく、照合を列、表またはスキーマに直接関連付けることができます。この既存のOracle AI Database機能により、EBCDICバイナリ照合のデプロイメントが簡単になります。

移行中に、適切な組込みEBCDICバイナリ照合をスキーマ、表または列に割り当てることができます。既存のSQL文では、明示的な照合句やセッション・レベルの構成を必要とせずに、正しいEBCDICバイナリ順序付けセマンティクスを使用できます。標準のBツリー索引では、ソートおよび比較操作に、割り当てられたデータバウンド照合を使用できます。

EBCDICバイナリ順序をデータベース定義の一部にすることで、データバウンド照合機能により、カスタマイズされた照合を使用した個別の言語索引を作成する必要を回避できます。これにより、デプロイメントの複雑さを軽減し、長期的な管理を簡素化できます。

パフォーマンスと最新のデプロイメント用に最適化

Oracleの実装は、互換性を維持しながら、運用およびパフォーマンスのオーバーヘッドを管理できるように設計されています。

カスタマイズされた言語照合ではEBCDICバイナリ順序を再現できますが、本質的にはバイナリ順序の問題であるものに、言語順序の複雑さを適用することになります。その結果、照合キーが大幅に大きくなる可能性があり、それにより言語索引が大きくなり、ストレージおよび処理のオーバーヘッドが増加する可能性があります。

OracleのエミュレートされたEBCDICバイナリ照合順序は、根本的に異なるアプローチをとります。EBCDICバイナリ順序付けは言語比較ではなくバイナリ比較であるため、Oracleでは、言語照合をカスタマイズするのではなく、組込みのEBCDICバイナリ照合を介して直接実装します。生成された照合キーは元の文字値の長さを保持するため、EBCDICバイナリ順序を再現しながら、言語索引のサイズを標準のバイナリ索引と同等に保つことができます。

Oracle AI Databaseの既存の言語照合のカスタマイズと比較して、組込みEBCDICバイナリ照合では、次の3つの重要な利点があります:

  • Oracle AI Databaseに組み込まれており、カスタマイズやメンテナンスは不要です。
  • これらは、カスタマイズされた照合がサポートされていないOracle ExadataおよびOracle Autonomous Databaseでサポートされています。
  • EBCDICバイナリ順序付けを直接実装することで、言語照合に関連する複雑さ、ストレージのオーバーヘッドおよびパフォーマンス・コストを回避します。

まとめ

メインフレームのリプラットフォーム化を成功させるには、移行後もEBCDIC互換性を維持することが重要です。これには、移行された文字データの整合性だけでなく、既存のアプリケーションが依存しているアプリケーション・セマンティクスも含まれます。

Oracle AI Databaseは、IBM CDRA互換EBCDICクライアント・キャラクタ・セット、組込みエミュレートEBCDICバイナリ照合、データバウンド照合機能、および最新のASCIIベース・システムでのEBCDIC互換性の移行ガイダンスを組み合せます。デプロイ先がオンプレミス・デプロイメントであれ、Oracle AI Databaseのクラウド・デプロイメント・モデルの1つであれ、組織はEBCDIC互換性を維持しながら、ミッションクリティカルなワークロードを最新化できます。

詳細情報

実装の詳細、サポートされるIBM EBCDICコード・ページ、移行の推奨事項、デプロイメントの例およびベスト・プラクティスは、『Oracle® AI Databaseデータベース・グローバリゼーション・サポート・ガイド (26ai)』を参照してください。