A インストール、移行、互換性およびアップグレード

この付録では、Oracle Spatial and Graph関連のインストール、移行、互換性およびアップグレードに関する情報を示します。

Oracle Databaseの現行リリースにアップグレードする場合、Oracle Spatial and Graphは操作の一部として自動的にアップグレードされます。アップグレード手順については、『Oracle Databaseアップグレード・ガイド』を参照してください。

Spatial and GraphをOracle Databaseの以前のリリースにダウングレードする場合、『Oracle Databaseアップグレード・ガイド』に記載されている、Oracle Databaseの以前のリリースへのダウングレード手順を参照してください。

データベース間で空間データを移行する場合は、「データベース間での空間データの移行」を参照してください。

Oracle Spatial and Graph GeoRasterを使用する場合、「インストールまたはアップグレード後にGeoRasterが正しく動作するための確認事項」を参照してください。

Spatial and GraphのWeb Feature Service (WFS)のサポートまたはCatalog Services for the Web (CSW)のサポートを使用している場合、および1つ以上のSYS.XMLTABLEINDEXの索引を使用して索引付けされた以前のリリースのデータがある場合は、「アップグレード前およびアップグレード後に行う索引のメンテナンス(WFSおよびCSW)」を参照してください。

1,048,576より大きい縦座標のジオメトリをサポートする必要がある場合は、「非常に大きなジオメトリをサポートするための縦座標配列のサイズの増大」を参照してください。

A.1 データベース間での空間データの移行

空間データの移行とは、Oracle Database間でのOracle Spatial and Graphジオメトリ・オブジェクトの移動またはコピーのことを言います。(データベースでは、同じまたは異なるリリース番号のOracle Databaseを使用できます。)

データベース・リンク、エクスポート/インポート、Oracle Data Pumpまたはトランスポート可能な表領域を使用して空間データを移行する場合、MDSYSスキーマがすでに移行先のデータベースに存在している必要があります。

限定された状況では、SDO_MIGRATE.TO_CURRENTサブプログラム(「SDO_MIGRATEパッケージ(アップグレード)」を参照)を使用しなければならい場合もあります。そのサブプログラムの「使用上の注意」を参照してください。

A.2 インストールまたはアップグレード後にGeoRasterが正しく動作するための確認事項

Oracle Spatial and GraphのGeoRaster機能を使用するには、この機能を有効にし、Oracle XML DB Repositoryが適切にインストールされていることを確認する必要があります。

注意:

アップグレード後に、GeoRasterオブジェクトおよびデータが有効であり、GeoRasterの機能を使用するすべてのスキーマに対してGeoRasterが有効になっていることを確認します。詳細は、『Oracle Spatial and Graph GeoRaster開発者ガイド』のデータベースでのGeoRasterオブジェクトおよびシステム・データの保守に関する項を参照してください。

A.2.1スキーマ・レベルでのGeoRasterの有効化

GeoRasterは、GeoRaster機能を使用するデータベース・スキーマごとに有効にする必要があります。

Oracle Spatial and Graphの最初のインストール後、デフォルトではGeoRaster機能が無効になっています。GeoRasterは(データベース全体に対してではなく)スキーマのスコープ内でのみ有効にでき、GeoRaster機能を使用する各スキーマに対して有効にする必要があります。

GeoRasterを有効にするには、GeoRasterが有効化されるスキーマごとに次のステップを実行します。

  1. そのスキーマのユーザーとしてデータベースに接続します。次に例を示します。
    CONNECT SCOTT/<password-for-scott>
  2. 次の文を入力します。
    EXECUTE sdo_geor_admin.enableGeoRaster;
  3. 次の文がTRUEを返すことを確認して、GeoRasterが有効になっていることを確認します。
    SELECT sdo_geor_admin.isGeoRasterEnabled FROM DUAL;
  4. このスキーマのユーザーにCREATE TRIGGER権限があることを確認します(GeoRasterが適切に機能するために必要です)。ユーザーがCREATE TRIGGER権限を持っていない場合(または持っているかどうかわからない場合)は、DBAユーザーとして接続し、ユーザーに権限を付与します。次に例を示します。
    CONNECT / AS SYSDBA
    GRANT create trigger TO scott;

GeoRaster表が作成されてデータが移入されると、データベースのアップグレード後にその表のスキーマに対してGeoRasterが自動的に有効化されるため、スキーマに対してGeoRasterを再度有効化する必要はありません。(CREATE TABLE権限がユーザーに付与されていることを確認すれば十分です。)

A.2.2 Oracle XML DBリポジトリがインストールされていることの確認

詳細は、『Oracle Spatial and Graph GeoRaster開発者ガイド』の第1章の最初の方にあるインストールおよびアップグレードに関する注意事項を参照してください。

Oracle Spatial and GraphのGeoRaster機能を使用するには、Oracle XML DB Repositoryを適切にインストールする必要があります。(通常、Oracle Spatial and Graphをインストールする前に、Oracle XML DB Repositoryがインストールされていることを確認する必要があります。)

(アップグレード時のように) Oracle Spatial and GraphはインストールされていてもOracle XML DB Repositoryがインストールされていない場合は、Oracle XML DB Repositoryをインストールし、関連するGeoRaster PL/SQLパッケージをリロードする必要があります。この場合には、次のステップを実行します。

  1. Oracle XML DB Repositoryをインストールします。

    Oracle XML DB Repositoryのインストールについては、『Oracle XML DB開発者ガイド』を参照してください。

  2. $ORACLE_HOME/md/adminディレクトリに移動します。

  3. SYS AS SYSDBAとしてデータベースに接続します。

  4. 次のSQL文を入力します。

    ALTER SESSION SET CURRENT_SCHEMA=MDSYS;
    @prvtgrs.plb
    @sdogrxml.sql

A.3 アップグレード前およびアップグレード後に行う索引のメンテナンス(WFSおよびCSW)

リリース11.2では、SYS.XMLTABLEINDEX索引タイプは非推奨となっています。このため、SpatialのWFSおよびCSWのcreateXMLTableIndexメソッドでは、以前のリリースでのSYS.XMLTABLEINDEX型のかわりにXDB.XMLINDEX型の索引が作成されます。ただし、1つ以上のSYS.XMLTABLEINDEXの索引を使用して索引付けされた以前のリリースのデータがある場合は、次のようにして、アップグレードする前に関連付けられた索引を削除し、アップグレードした後に索引を再作成する必要があります。

  1. Oracle Databaseリリース11.1を使用し、dropXMLTableIndexメソッド(アプリケーションに応じて、oracle.spatial.csw.CSWAdminまたはoracle.spatial.wfs.WFSAdminのいずれか適切な方)をコールして関連付けられた索引を削除します。

  2. データベースをリリース11.1からリリース11.2にアップグレードします。

  3. Oracle Databaseリリース11.2を使用し、createXMLTableIndexメソッド(アプリケーションに応じて、oracle.spatial.csw.CSWAdminまたはoracle.spatial.wfs.WFSAdminのいずれか適切な方)をコールして、ステップ1で削除した索引を作成します。

Spatial and GraphのWeb Feature Service (WFS)のサポートの詳細は、「Web Feature Service (WFS)のサポート」を参照してください。

Spatial and GraphのCatalog Services for the Web (CSW)のサポートの詳細は、「Catalog Services for the Web (CSW)のサポート」を参照してください。

A.4 非常に大きなジオメトリをサポートするための縦座標配列のサイズの増大

1,048,576より大きい縦座標のジオメトリをサポートする必要がある場合は、この項の説明に従う必要があります。ただし、これにより、多くの追加作業(スクリプトの実行や既存の空間データの移行)、データベースのダウンタイム、およびいくつかの考慮事項と制限事項が発生します。したがって、必要がないかぎり、この項の操作は実行しないようにしてください。

最大10Mの縦座標のジオメトリをサポートするために縦座標配列のサイズを増やすには、次のステップを実行します。

  1. 空間表やOracle Spatial and Graphの機能を使用しているユーザーがいないことを確認します。
  2. SYSDBA権限を持つSYSユーザーとしてデータベースに接続します(SYS AS SYSDBAを使用し、SYSアカウントのパスワードを求められたら入力します)。
  3. SDO_GEOMETRY列を含む表にマテリアライズド・ビューが存在する場合は、次のステップ(sdoupggeom.sqlの実行)を実行する前に、すべてのマテリアライズド・ビューを削除します。

    これらのマテリアライズド・ビューは、アップグレード操作の完了後に再作成できます。

  4. 次の文を入力します。
    • Linuxの場合: @$ORACLE_HOME/md/admin/sdoupggeom.sql

    • Windowsの場合: @%ORACLE_HOME%\md\admin\sdoupggeom.sql

    sdoupggeom.sqlスクリプトの操作のうちの1つは、新しいSDO_ORDINATE_ARRAY定義を反映するために、すべての空間データを自動的に移行することです。このスクリプトは完了までに時間がかかることがあり、必要な時間は、データベースに存在する空間データの量によって変わります。

これらのステップを実行した後、次の考慮事項および制限事項が適用されます。

  • 古いSDO_ORDINATE_ARRAY定義で作成された既存のトランスポータブル表領域はどれも機能しません。

  • エクスポート・ファイルが、古いSDO_ORDINATE_ARRAY定義を持つデータベース上で従来のエクスポート・ユーティリティを使用して作成された場合、および新しいSDO_ORDINATE_ARRAY定義を使用しているデータベースにそのファイルをインポートする必要がある場合は、次の例のように、従来のインポート・ユーティリティでTOID_NOVALIDATEフラグを指定する必要があります。

    imp scott/<password> file=states.dmp tables=states TOID_NOVALIDATE=MDSYS.SDO_GEOMETRY,MDSYS.SDO_ORDINATE_ARRAY,MDSYS.SDO_ELEM_INFO_ARRAY
    
  • また、sdoupggeom.sqlをソース・データベースで実行した後に、Oracle Data Pumpを使用してデータをインポートする場合、インポート操作の後に、sdoupggeom.sqlをターゲット(移行先)データベースで実行する必要もあります。