Oracle Database 11g にアップグレードする場合、Oracle Spatialは操作の一部として自動的にアップグレードされます。アップグレード手順については、『Oracle Databaseアップグレード・ガイド』を参照してください。
SpatialをOracle Databaseの以前のリリースにダウングレードする場合、『Oracle Databaseアップグレード・ガイド』に記載されている、Oracle Databaseの以前のリリースへのダウングレード手順を参照してください。
データベース間で空間データを移行する必要がある場合は、A.1項を参照してください。
Oracle Spatial GeoRasterを使用する場合は、A.2項を参照してください。
SpatialのWeb Feature Service (WFS)のサポートまたはCatalog Services for the Web (CSW)のサポートを使用している場合、および1つ以上のSYS.XMLTABLEINDEXの索引を使用して索引付けされた以前のリリースのデータがある場合は、A.3項を参照してください。
1,048,576より大きい縦座標のジオメトリをサポートする必要がある場合は、A.4項を参照してください。
空間データの移行とは、Oracle Database間でのOracle Spatial and Graphジオメトリ・オブジェクトの移動またはコピーのことを言います。(データベースでは、同じまたは異なるリリース番号のOracle Databaseを使用できます。)
データベース・リンク、エクスポート/インポート、Oracle Data Pumpまたはトランスポート可能な表領域を使用して空間データを移行する場合、MDSYSスキーマがすでに移行先のデータベースに存在している必要があります。
限定された状況では、SDO_MIGRATE.TO_CURRENTサブプログラム(第26章を参照)を使用しなければならい場合もあります。詳細は、そのサブプログラムの「使用上の注意」を参照してください。
Oracle SpatialのGeoRaster機能を使用するには、Oracle XML DB Repositoryを適切にインストールする必要があります。(通常、Oracle Spatialをインストールする前に、Oracle XML DB Repositoryがインストールされていることを確認する必要があります。)
(アップグレード時のように)Oracle SpatialはインストールされていてもOracle XML DB Repositoryがインストールされていない場合は、Oracle XML DB Repositoryをインストールし、関連するGeoRaster PL/SQLパッケージをリロードする必要があります。この場合には、次の手順を実行します。
Oracle XML DB Repositoryをインストールします。
Oracle XML DB Repositoryのインストールおよびアンインストールの手順については、『Oracle XML DB開発者ガイド』を参照してください。
$ORACLE_HOME/md/adminディレクトリに移動します。
SYS AS SYSDBAとしてデータベースに接続します。
次のSQL文を入力します。
ALTER SESSION SET CURRENT_SCHEMA=MDSYS; @prvtgrs.plb @sdogrxml.sql
リリース11.2では、SYS.XMLTABLEINDEX索引タイプは非推奨となっています。このため、SpatialのWFSおよびCSWのcreateXMLTableIndexメソッドでは、以前のリリースでのSYS.XMLTABLEINDEX型のかわりにXDB.XMLINDEX型の索引が作成されます。ただし、1つ以上のSYS.XMLTABLEINDEXの索引を使用して索引付けされた以前のリリースのデータがある場合は、次のようにして、アップグレードする前に関連付けられた索引を削除し、アップグレードした後に索引を再作成する必要があります。
Oracle Databaseリリース11.1を使用し、dropXMLTableIndexメソッド(アプリケーションに応じて、oracle.spatial.csw.CSWAdminまたはoracle.spatial.wfs.WFSAdminのいずれか適切な方)をコールして関連付けられた索引を削除します。
データベースをリリース11.1からリリース11.2にアップグレードします。
Oracle Databaseリリース11.2を使用し、createXMLTableIndexメソッド(アプリケーションに応じて、oracle.spatial.csw.CSWAdminまたはoracle.spatial.wfs.WFSAdminのいずれか適切な方)をコールして、手順1で削除した索引を作成します。
SpatialのWeb Feature Service (WFS)のサポートの詳細は、第15章を参照してください(特に、次の項を参照してください)。
createXMLTableIndexメソッド(15.4.1項)
dropXMLTableIndexメソッド(15.4.3項)
getIsXMLTableIndexCreatedメソッド(15.4.4項)
publishFeatureTypeメソッドのgenXMLIndexパラメータおよびidxPathsパラメータ(15.4.7項)
setXMLTableIndexInfoメソッド(15.4.10項)
SpatialのCatalog Services for the Web (CSW)のサポートの詳細は、第16章を参照してください(特に、次の項を参照してください)。
1,048,576より大きい縦座標のジオメトリをサポートする必要がある場合は、この項の説明に従う必要があります。ただし、これにより、多くの追加作業(スクリプトの実行や既存の空間データの移行)、データベースのダウンタイム、およびいくつかの考慮事項と制限事項が発生します。したがって、必要がないかぎり、この項の操作は実行しないようにしてください。
最大10Mの縦座標のジオメトリをサポートするために縦座標配列のサイズを増やすには、次の手順を実行します。
空間表やOracle SpatialまたはLocatorの機能を使用しているユーザーがいないことを確認します。
SYSDBA権限を持つSYSユーザー(SYS AS SYSDBA)としてデータベースに接続し、プロンプトが表示されたらSYSアカウントのパスワードを入力します。
次の文を入力します。
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をターゲット(移行先)データベースで実行する必要もあります。