8 レガシー構成の移行

この項では、レガシー構成およびURLマッピングの移行方法について説明します。

レガシー構成とは、バージョン2.xからバージョン21.4.xのORDSの構成です。22.1以上のバージョンのORDSでは、これらの構成を新しいディレクトリ構造に移行する必要があります。

8.1 CLIインストールを使用したレガシー構成からの移行

アプリケーションをレガシー構成から移行するには、installコマンドまたはmigrate configコマンドを使用できます。

次の2つの方法で、アプリケーションをレガシー構成から移行できます。

構成の移行およびORDSのアップグレード

このオプションは、レガシー構成(ORDS 21.4.x以前のバージョン)を新しい構成構造に移行し、データベースのORDSもアップグレードする場合に使用します。これは、次の2つのオプションのいずれかを使用して実行できます。

対話型のinstallコマンドの使用

対話型のinstallコマンドを使用すると、レガシー構成が新しい構成構造に移行されます。次に、インストールの前のステップで選択したオプションに応じて、データベースのORDSをアップグレードするか、追加のデータベース・プールを作成または更新するように求められます。

ords --config <configuration_folder> install --interactive 
--legacy-config <legacy_config_folder> --log-folder <log_folder>

非対話型のinstallコマンドの使用

非対話型のinstallコマンドを使用する場合は、コマンドラインで構成を移行するために必要な情報を指定する必要があります。

ords --config <configuration_folder> install [--db-pool <pool_name>] --admin-user <user>
 --legacy-config <folder> --log-folder <log_folder> --password-stdin <  <text-file>

構成のみの移行

このオプションは、レガシー構成(ORDS 21.4.x以前のバージョン)を新しい構成構造に移行するのみで、ORDSを新しいバージョンにアップグレードしない場合に使用します。

ords --config <configuration_folder> migrate config <legacy_config_folder>

構成の移行が完了すると、次のメッセージが表示されます。

Legacy configuration files located at <legacy_config> are no longer being used to configure ORDS
 or its connection pools. Your migrated configuration files are now located at <configuration_folder>.

8.2 URLマッピングの移行

レガシーURLマッピング・ファイルは、異なるタイプのマッピングを含む/path/to/conf/url-mappings.xmlです。

インストーラによってURLマッピングが移行されます。次のタイプを含むURLマッピングごとに、次の処理が実行されます。

  • base-path type: ベース・パス(単一または複数のパス・セグメント)を含むそのデータベース・プールのパス・ファイルを作成します
  • base-url type: ホスト名を含むそのデータベース・プールのホスト名ファイルを作成します。

base-pathマッピング・パターンには、単一セグメントまたは複数セグメントで構成されるパスを含めることができます。

例:
  • /sales
  • /pls/hr

base-urlマッピング・パターンにはホスト名のみを含めることも、プロトコル、ホスト名およびパスを含めることもできます。

例:

https://example.com/ords/support

www.sales.com

ORDSのインストールCLIによって、次のようにurl-mapping.xmlが移行されます。

base-pathタイプのマッピング(/salesなど)ごとに、パスがプールのpathsファイルに追加されます。

ノート:

pathsファイルが存在しない場合は作成されます。

base-urlタイプのマッピング(https://example.com/ords/supportなど)ごとに、ホスト名(example.comなど)がプールのhostnamesファイルに追加されます。

base-urlマッピングにコンテキストの後のパス(/ordsなど)が含まれている場合、パス(/supportなど)がpathsファイルに追加されます。

ノート:

hostnamesファイルまたはpathsファイルが存在しない場合は作成されます。

ノート:

次の場合は、重大警告メッセージが表示されます。
  • 異なるデータベース・プール間で重複するpathsまたはhostnamesが存在する場合
  • マッピングが指すデータベース・プールが存在しない場合
  • ホスト名またはパスが無効な場合
url-mapping.xmlファイルの例は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<pool-config xmlns="http://xmlns.oracle.com/apex/pool-config">
 <pool name="db1" base-path="/sales" updated="2021-09-23T19:22:19.944Z"/>
 <pool name="db1" base-path="finance/" updated="2021-09-23T19:22:50.189Z"/>
 <pool name="db2" base-url="https://example.com/ords/support" updated="2021-09-23T19:23:04.751Z"/>
 <pool name="db3" base-path="/pls/hr" updated="2021-09-23T19:23:14.832Z"/>
 <pool name="db4" base-path="employee" updated="2021-09-23T19:23:24.252Z"/>
 <pool name="db5" base-url="www.sales.com" updated="2021-09-23T19:23:35.322Z"/>
</pool-config>

URLマッピングをデータベース・プール・フォルダに移行した後の例:

+- databases/
  +- db1/
    +- pool.xml
    +- paths     // contains: [sales, finance]
  +- db2/
    +- pool.xml
    +- hostnames // contains: [example.com]
    +- paths     // contains: [support]
  +- db3/
    +- pool.xml
    +- paths     // contains: [/pls/hr]    
  +- db4/  
    +- pool.xml
    +- paths     // contains: [employee]    
  +- db5/
    +- pool.xml
    +- hostnames // contains: [www.sales.com]