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が適切にインストールされていることを確認する必要があります。
A.2.1 GeoRasterの有効化
Oracle Spatial and Graphの最初のインストール後、デフォルトではGeoRaster機能が無効になっています。GeoRasterを有効にするには、次の手順に従います。
GeoRasterを有効にした後、データベースを後でアップグレードする場合、GeoRasterを再度有効化する必要はありません。
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パッケージをリロードする必要があります。この場合には、次の手順を実行します。
-
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
A.2.3 アップグレード後にSDO_GEORASTER型を変更する必要があるかどうかの確認
Spatial and Graphをリリース12.2にアップグレードし、SDO_GEORASTERオブジェクトを含むユーザー表領域がアップグレード中読取り専用であった場合、SDO_GEORASTER型を変更する必要があることがあります。
アップグレード時、SDO_GEORASTERオブジェクトを含むユーザー表領域が読取り専用でなければ、アップグレードの一環としてSDO_GEORASTER型は(より長いRDT名を使用できるよう)自動的に変更されます。読取り専用であった場合、型は変更されません。変更する手順を実行する必要があります。
次のSQL文を入力し、RASTERDATATABLEの長さが128か32かを確認すると、SDO_GEORASTER型を変更する必要があるかどうかを確認できます。
SQL> DESCRIBE sdo_georaster
Name Null? Type
------------------------------- -------- ----------------------------
RASTERTYPE NUMBER
SPATIALEXTENT MDSYS.SDO_GEOMETRY
RASTERDATATABLE VARCHAR2(128)
RASTERID NUMBER
METADATA XMLTYPE
-
RASTERDATATABLE列の型がVARCHAR2(128)の場合、SDO_GEORASTER型は正常に変更されており、変更する必要はありません。
-
RASTERDATATABLE列の型がVARCHAR2(32)の場合、SDO_GEORASTER型は正常に変更されておらず、このトピックの残りに示す手順に従って変更する必要があります。
SDO_GEORASTER型を変更する必要がある場合、次の手順に従います。
-
次の文を入力して、SDO_GEORASTERオブジェクトを含む読取り専用表領域のリストを見つけます。
SQL> connect / as sysdba Connected. SQL> select distinct TABLESPACE_NAME from dba_tables a, mdsys.sdo_geor_sysdata_table b where a.owner=b.SDO_OWNER and a.TABLE_NAME=b.GEORASTER_TABLE_NAME; TABLESPACE_NAME ------------------------------ TBS_3
-
前述のステップで検出された各読取り専用表領域について、手動で読取り/書込みに変更します。たとえば、次のようにします(各表領域について同様の処理を行います)。
SQL> alter tablespace tbs_3 read write;
-
次の文を入力してSDO_GEORASTER型を変更します。
SQL> connect / as sysdba Connected. SQL> alter session set current_schema=MDSYS; Session altered. SQL> alter type SDO_GEORASTER modify attribute ( rasterDataTable VARCHAR2(128) ) cascade including table data; Type altered.
-
ステップ2で読取り/書込みに設定した各表領域を読取り専用に戻します。たとえば、次のようにします(各表領域について同様の処理を行います)。
SQL> alter tablespace tbs_3 read only;
A.3 アップグレード前およびアップグレード後に行う索引のメンテナンス(WFSおよびCSW)
リリース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 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の縦座標のジオメトリをサポートするために縦座標配列のサイズを増やすには、次の手順を実行します。
これらの手順を実行した後、次の考慮事項および制限事項が適用されます。
-
古い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
をターゲット(移行先)データベースで実行する必要もあります。