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
をターゲット(移行先)データベースで実行する必要もあります。