8 SDO_GEOR_ADMINパッケージのリファレンス
SDO_GEOR_ADMINパッケージには、GeoRasterに関連する管理操作を行うためのサブプログラム(ファンクションおよびプロシージャ)が含まれています。この章では、そのサブプログラムのリファレンス情報を、例を使用して説明します。
- SDO_GEOR_ADMIN.checkSysdataEntries
- SDO_GEOR_ADMIN.disableGeoRaster
- SDO_GEOR_ADMIN.enableGeoRaster
- SDO_GEOR_ADMIN.isGeoRasterEnabled
- SDO_GEOR_ADMIN.isRDTNameUnique
- SDO_GEOR_ADMIN.isUpgradeNeeded
- SDO_GEOR_ADMIN.listGeoRasterColumns
- SDO_GEOR_ADMIN.listGeoRasterObjects
- SDO_GEOR_ADMIN.listGeoRasterTables
- SDO_GEOR_ADMIN.listDanglingRasterData
- SDO_GEOR_ADMIN.listRDT
- SDO_GEOR_ADMIN.listRegisteredRDT
- SDO_GEOR_ADMIN.listUnregisteredRDT
- SDO_GEOR_ADMIN.maintainSysdataEntries
- SDO_GEOR_ADMIN.registerGeoRasterColumns
- SDO_GEOR_ADMIN.registerGeoRasterObjects
- SDO_GEOR_ADMIN.upgradeGeoRaster
8.1 SDO_GEOR_ADMIN.checkSysdataEntries
形式
SDO_GEOR_ADMIN.checkSysdataEntries() RETURN SDO_STRING2_ARRAY;
説明
USER_SDO_GEOR_SYSDATAビューで無効なエントリがあるかどうかを確認します。
パラメータ
なし。
使用上のノート
このファンクションは、無効なGeoRasterシステム・データ・エントリのカンマ区切りリストの配列を戻します。このファンクションでは次のようなエラーを確認します。
-
RDT名が一意でない。
-
GeoRaster表が存在しない。
-
GeoRaster列が存在しない。
-
GeoRasterオブジェクトが存在しない。
-
GeoRasterオブジェクトが空または空白ではないが、RDTが存在しない。
-
GeoRasterオブジェクトが重複して存在する(RDTとラスターIDの一意ではない組合せが1つ以上存在する)。
DBAロールを持つユーザーとしてこのファンクションを実行すると、ファンクションはデータベース全体のGeoRasterシステム・データ・エントリを確認します。それ以外の場合は、現行のスキーマのGeoRasterシステム・データ・エントリのみを確認します。
USER_SDO_GEOR_DATAおよびALL_SDO_GEOR_SYSDATAビューの詳細は、「GeoRasterシステム・データ・ビュー(xxx_SDO_GEOR_SYSDATA)」を参照してください。
例
次の例では、USER_SDO_GEOR_SYSDATAビューで現行のユーザー・スキーマの下に無効なエントリがあるかどうかを確認します。
SELECT * FROM THE (SELECT SDO_GEOR_ADMIN.checkSysdataEntries FROM DUAL); COLUMN_VALUE -------------------------------------------------------------------------------- The RDT name "RDT1" is not unique The GeoRaster object GEOR_TEST1.TABLE1.GEOR: RDT=RDT2 RID=3 is associated with a non-existing RDT table! The specification of GeoRaster column GEOR_TEST1.TABLE1.c1 is not correct. The GeoRaster object GEOR_TEST1.TABLE1.geor: RDT=dt3 RID=2 doesn't exist! The GeoRaster table GEOR_TEST1.t1 doesn't exist!
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.2 SDO_GEOR_ADMIN.disableGeoRaster
形式
SDO_GEOR_ADMIN.disableGeoRaster();
説明
データベース内のコールしているユーザーに対してGeoRaster機能を無効にします。
パラメータ
なし。
使用上のノート
このプロシージャは、コールしているユーザーに対してGeoRaster機能を無効にします。このプロシージャをコールする場合、セッションの現在のスキーマ名がセッションの現在のユーザー名と同じである必要があります。
SDO_GEORASTER列を含む表がある場合、GeoRaster機能が無効になると、この表にアクセスできなくなります。SDO_GEOR_ADMIN.enableGeoRasterプロシージャをコールすると、この表へのアクセスが再び有効になります。
例
次の例では、現在のセッション・ユーザーに対してGeoRaster機能を無効にします。
SQL> EXECUTE SDO_GEOR_ADMIN.disableGeoRaster;
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.3 SDO_GEOR_ADMIN.enableGeoRaster
形式
SDO_GEOR_ADMIN.enableGeoRaster();
説明
現在のスキーマに対してGeoRaster機能を有効にします。
パラメータ
なし。
使用上のノート
このプロシージャをコールするセッション・ユーザーは、現在のスキーマのデータベース・ユーザーと同じである必要があります。
ユーザーにはCREATE TRIGGER権限が必要です
例
次の例では、現在のスキーマに対してGeoRasterが有効になっているかどうかを(有効化する前に)確認し、現在のスキーマに対してGeoRasterを有効にし、現在のスキーマに対してGeoRasterが有効化されているかどうかを再確認します。
SQL> SELECT SDO_GEOR_ADMIN.isGeoRasterEnabled FROM DUAL;
ISGEORASTERENABLED
------------------------------------------------------------------------------
FALSE
SQL> EXECUTE SDO_GEOR_ADMIN.enableGeoRaster;
PL/SQL procedure successfully completed.
SQL> SELECT SDO_GEOR_ADMIN.isGeoRasterEnabled FROM DUAL;
ISGEORASTERENABLED
------------------------------------------------------------------------------
TRUE
SQL>
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.4 SDO_GEOR_ADMIN.isGeoRasterEnabled
形式
SDO_GEOR_ADMIN.isGeoRasterEnabled() RETURN VARCHAR2;
説明
現在のスキーマに対してGeoRaster機能が有効になっている場合、文字列TRUE
を返します。現在のスキーマに対してGeoRasterが有効になっていない場合、文字列FALSE
を返します。
パラメータ
なし。
使用上のノート
このプロシージャをコールするセッション・ユーザーは、現在のスキーマのデータベース・ユーザーと同じである必要があります。
ユーザーにはCREATE TRIGGER権限が必要です
例
次の例では、現在のスキーマに対してGeoRasterが有効になっているかどうかを(有効化する前に)確認し、現在のスキーマに対してGeoRasterを有効にし、現在のスキーマに対してGeoRasterが有効化されているかどうかを再確認します。
SQL> SELECT SDO_GEOR_ADMIN.isGeoRasterEnabled FROM DUAL; ISGEORASTERENABLED ------------------------------------------------------------------------------- FALSE SQL> EXECUTE SDO_GEOR_ADMIN.enableGeoRaster; PL/SQL procedure successfully completed. SQL> SELECT SDO_GEOR_ADMIN.isGeoRasterEnabled FROM DUAL; ISGEORASTERENABLED ------------------------------------------------------------------------------- TRUE SQL>
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.5 SDO_GEOR_ADMIN.isRDTNameUnique
形式
SDO_GEOR_ADMIN.isRDTNameUnique( rdtName VARCHAR2) RETURN VARCHAR2;
説明
指定したラスター・データ表(RDT)の名前が、データベース内で一意のRDT名であるかどうかを確認します。
使用上のノート
このファンクションを使用すると、指定しようとしているRDT名が一意かどうか、RDTを作成する前に確認できます。
このファンクションは、名前が一意の場合は文字列TRUE
を戻し、名前が一意でない場合は文字列FALSE
を戻します。
例
次の例では、MY_RDT
が一意の名前かどうかを確認します。
SELECT SDO_GEOR_ADMIN.IsRDTNameUnique('MY_RDT') FROM DUAL; SDO_GEOR_ADMIN.ISRDTNAMEUNIQUE('MY_RDT') -------------------------------------------------------------------------------- TRUE
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.6 SDO_GEOR_ADMIN.isUpgradeNeeded
形式
SDO_GEOR_ADMIN.isUpgradeNeeded() RETURN SDO_STRING2_ARRAY;
説明
現行のスキーマまたはデータベース内のすべてのスキーマのGeoRasterシステム・データ・エントリおよびGeoRasterデータを確認します。
パラメータ
なし。
使用上のノート
このファンクションは、無効なGeoRasterシステム・データ・エントリ、無効なGeoRaster列および無効なGeoRasterオブジェクトのカンマ区切りリストの配列を戻します。このファンクションでは次のようなエラーを報告します。
-
システム・データ・エントリ・エラー: RDT名が一意でない。
-
システム・データ・エントリ・エラー: RDTとRIDのペアが一意でない。
-
システム・データ・エントリ・エラー: GeoRaster表が存在しない。
-
システム・データ・エントリ・エラー: GeoRaster列が存在しない。
-
システム・データ・エントリ・エラー: GeoRasterオブジェクトが存在しない。
-
GeoRasterオブジェクトが空または空白ではないが、RDTが存在しない。
-
GeoRasterオブジェクトが重複して存在する(RDTとラスターIDの一意ではない組合せが1つ以上存在する)。
-
(GeoRaster列、GeoRasterオブジェクト)のペアで、登録されていないものがある。
DBAロールを持つユーザーとしてこのファンクションを実行すると、ファンクションはデータベース内のすべてのスキーマのGeoRasterシステム・データ・エントリおよびGeoRasterデータを確認します。それ以外の場合は、現行のスキーマのGeoRasterシステム・データ・エントリおよびGeoRasterデータのみを確認します。
例
次の例では、GeoRasterシステム・データ・エントリおよびGeoRasterデータを確認します。DBAロールを持つユーザーとして接続していることを想定しています。
SELECT * FROM THE (SELECT SDO_GEOR_ADMIN.isUpgradeNeeded FROM DUAL); COLUMN_VALUE -------------------------------------------------------------------------------- The following GeoRaster columns aren't registered: SCHEMA:GEOR_TEST TABLE:TABLE1 COLUMN:GEOR The following GeoRaster objects aren't registered: SCHEMA:GEOR_TEST TABLE:TABLE1 COLUMN:GEOR RDT:RDT RID:3 SCHEMA:GEOR_TEST TABLE:TABLE1 COLUMN:GEOR RDT:RDT RID:4
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.7 SDO_GEOR_ADMIN.listGeoRasterColumns
形式
SDO_GEOR_ADMIN.listGeoRasterColumns() RETURN SDO_STRING2_ARRAYSET;
説明
現行のスキーマまたはデータベース内のすべてのスキーマに定義されているGeoRaster列をリストします。
パラメータ
なし。
使用上のノート
このファンクションは、GeoRaster列とその登録ステータスのカンマ区切りリストの配列を戻します。このリストの内容は次のとおりです。
-
スキーマ名(DBAロールを持つユーザーとして接続している場合のみ)
-
GeoRaster表の名前
-
GeoRaster列の名前
-
ステータス: registered(登録済: GeoRaster列にDMLトリガーが作成されている)またはunregistered(未登録: GeoRaster列にDMLトリガーが作成されていない)
DBAロールを持つユーザーとしてこのファンクションを実行すると、ファンクションはデータベース内のすべてのスキーマに定義されているGeoRaster列をリストします。それ以外の場合は、現行のスキーマに定義されているGeoRaster列のみをリストします。
例
次の例では、現行のスキーマに定義されているGeoRaster列を示します。
SELECT * FROM THE (SELECT SDO_GEOR_ADMIN.listGeoRasterColumns FROM DUAL); COLUMN_VALUE --------------------------------------------------------------------------------- SDO_STRING2_ARRAY('TEST_TABLE1', 'GEOR', 'registered') SDO_STRING2_ARRAY('TEST_TABLE2', 'GEOR', 'registered')
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.8 SDO_GEOR_ADMIN.listGeoRasterObjects
形式
SDO_GEOR_ADMIN.listGeoRasterObjects() RETURN SDO_STRING2_ARRAYSET;
説明
現行のスキーマまたはデータベース内のすべてのスキーマに定義されているGeoRasterオブジェクトをリストします。
パラメータ
なし。
使用上のノート
このファンクションは、GeoRasterオブジェクトとその登録ステータスのカンマ区切りリストの配列を戻します。このリストの内容は次のとおりです。
-
スキーマ名(DBAロールを持つユーザーとして接続している場合のみ)
-
GeoRaster表の名前
-
GeoRaster列の名前
-
RDTの名前
-
ラスターID
-
ステータス: registered (GeoRasterオブジェクトがSYSDATA表に登録されている)またはunregistered (GeoRasterオブジェクトがSYSDATA表に登録されていない)
DBAロールを持つユーザーとしてこのファンクションを実行すると、ファンクションはデータベース内のすべてのスキーマに定義されているGeoRasterオブジェクトをリストします。それ以外の場合は、現行のスキーマに定義されているGeoRasterオブジェクトのみをリストします。
例
次の例では、現行のスキーマに定義されているGeoRasterオブジェクトを示します。
SELECT * FROM THE (SELECT SDO_GEOR_ADMIN.listGeoRasterObjects FROM DUAL); COLUMN_VALUE --------------------------------------------------------------------------------- SDO_STRING2_ARRAY('TEST_TABLE1', 'GEOR', 'RDT_REGULAR_01', '1', 'registered') SDO_STRING2_ARRAY('TEST_TABLE2', 'GEOR', 'RDT_REGULAR_01', '2', 'registered')
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.9 SDO_GEOR_ADMIN.listGeoRasterTables
形式
SDO_GEOR_ADMIN.listGeoRasterTables() RETURN SDO_STRING2_ARRAYSET;
説明
現行のスキーマに定義されているGeoRaster表を示します。
パラメータ
なし。
使用上のノート
このファンクションは、GeoRaster表のカンマ区切りリストの配列を戻します。このリストの内容は次のとおりです。
-
スキーマ名(DBAロールを持つユーザーとして接続している場合のみ)
-
GeoRaster表の名前
DBAロールを持つユーザーとしてこのファンクションを実行すると、ファンクションはデータベース内のすべてのスキーマに定義されているGeoRaster表をリストします。それ以外の場合は、現行のスキーマに定義されているGeoRaster表のみをリストします。
例
次の例では、データベースに定義されているGeoRaster表を示します。DBAロールを持つユーザーとして接続していることを想定しています。
SELECT * FROM THE (SELECT SDO_GEOR_ADMIN.listGeoRasterTables FROM DUAL); COLUMN_VALUE --------------------------------------------------------------------------------- SDO_STRING2_ARRAY('GEOR_TEST', 'TEST_TABLE1') SDO_STRING2_ARRAY('GEOR_TEST', 'TEST_TABLE2')
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.10 SDO_GEOR_ADMIN.listDanglingRasterData
形式
SDO_GEOR_ADMIN.listDanglingRasterData() RETURN SDO_STRING2_ARRAYSET;
説明
GeoRasterシステム・データ・エントリおよびGeoRasterデータを確認し、すべてのダングリング・ラスター・データを示します。
パラメータ
なし。
使用上のノート
ラスター・データ表(RDT)には、存在しないGeoRasterオブジェクトまたはSYSDATA表で参照されないGeoRasterオブジェクトに対する行が存在することがあります。このような行に関連付けられたラスター・ブロックを、ダングリング・ブロックといいます。ダングリング・ラスター・ブロックが存在すると、RDTに必要な主キーが定義されているかぎり問題は発生しませんが、RDTのディスク領域が無駄に消費されます。現行のスキーマ内またはすべてのスキーマ内にあるダングリング・ブロックを検索するには、SDO_GEOR_ADMIN.listDanglingRasterDataファンクションをコールします。
DBAロールを持つユーザーとしてこのファンクションを実行すると、ファンクションはデータベース内のすべてのスキーマにあるダングリング・ブロックをリストします。それ以外の場合は、現行のスキーマ内のダングリング・ブロックのみをリストします。
このファンクションをコールする前に、SDO_GEOR_ADMIN.registerGeoRasterObjectsをコールしてすべての既存のGeoRasterオブジェクトを登録する必要があります。
ダングリング・ラスター・ブロック・データをRDTから削除するには、SDO_GEOR_ADMIN.listDanglingRasterDataファンクションによって検出された問題に関連する行を削除します。
このファンクションは、ダングリング・ラスター・データのカンマ区切りリストの配列を戻します。このリストの内容は次のとおりです。
-
スキーマ名(DBAロールを持つユーザーとして接続している場合のみ)
-
RDTの名前
-
ラスターID
例
次の例では、現行のスキーマにあるすべてのダングリング・ラスター・データを示します。
SELECT * FROM THE (SELECT SDO_GEOR_ADMIN.listDanglingRasterData FROM DUAL); COLUMN_VALUE -------------------------------------------------------------------------------- SDO_STRING2_ARRAY('RDT11', '3')
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.11 SDO_GEOR_ADMIN.listRDT
形式
SDO_GEOR_ADMIN.listRDT() RETURN SDO_STRING2_ARRAYSET;
説明
現行のスキーマまたはデータベース内のすべてのスキーマに定義されているラスター・データ表(RDT)をリストします。
パラメータ
なし。
使用上のノート
このファンクションは、RDTのカンマ区切りリストの配列を戻します。このリストの内容は次のとおりです。
-
スキーマ名(DBAロールを持つユーザーとして接続している場合のみ)
-
RDTの名前
DBAロールを持つユーザーとしてこのファンクションを実行すると、ファンクションはデータベース内のすべてのスキーマにあるRDTをリストします。それ以外の場合は、現行のスキーマ内のRDTのみをリストします。
例
次の例では、現行のスキーマに定義されているRDTを示します。
SELECT * FROM THE (SELECT SDO_GEOR_ADMIN.listRDT FROM DUAL); COLUMN_VALUE --------------------------------------------------------------------------------- SDO_STRING2_ARRAY('RDT_REGULAR_01') SDO_STRING2_ARRAY('RDT_REGULAR_02')
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.12 SDO_GEOR_ADMIN.listRegisteredRDT
形式
SDO_GEOR_ADMIN.listRegisteredRDT() RETURN SDO_STRING2_ARRAYSET;
説明
現行のスキーマまたはデータベース内のすべてのスキーマに定義されている登録済ラスター・データ表(RDT)をリストします。SYSDATA表内の1つ以上のエントリから参照されていれば、RDTは登録済です。
パラメータ
なし。
使用上のノート
このファンクションは、RDTのカンマ区切りリストの配列を戻します。このリストの内容は次のとおりです。
-
スキーマ名(DBAロールを持つユーザーとして接続している場合のみ)
-
RDTの名前
DBAロールを持つユーザーとしてこのファンクションを実行すると、ファンクションはデータベース内のすべてのスキーマに登録されているRDTをリストします。それ以外の場合は、現行のスキーマ内の登録済のRDTのみをリストします。
例
次の例では、現行のスキーマに定義されている登録済のRDTを示します。
SELECT * FROM THE (SELECT SDO_GEOR_ADMIN.listRegisteredRDT FROM DUAL); COLUMN_VALUE --------------------------------------------------------------------------------- SDO_STRING2_ARRAY('RDT1_REGULAR_01')
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.13 SDO_GEOR_ADMIN.listUnregisteredRDT
形式
SDO_GEOR_ADMIN.listUnregusteredRDT() RETURN SDO_STRING2_ARRAYSET;
説明
現行のスキーマまたはデータベース内のすべてのスキーマに定義されている未登録のラスター・データ表(RDT)をリストします。SYSDATA表内のエントリから参照されていない場合、RDTは未登録です。
パラメータ
なし。
使用上のノート
このファンクションは、RDTのカンマ区切りリストの配列を戻します。このリストの内容は次のとおりです。
-
スキーマ名(DBAロールを持つユーザーとして接続している場合のみ)
-
RDTの名前
DBAロールを持つユーザーとしてこのファンクションを実行すると、ファンクションはデータベース内のすべてのスキーマの未登録のRDTをリストします。それ以外の場合は、現行のスキーマ内の未登録のRDTのみをリストします。
例
SELECT * FROM THE (SELECT SDO_GEOR_ADMIN.listUnregisteredRDT FROM DUAL); COLUMN_VALUE --------------------------------------------------------------------------------- SDO_STRING2_ARRAY('RDT_REGULAR_02')
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.14 SDO_GEOR_ADMIN.maintainSysdataEntries
形式
SDO_GEOR_ADMIN.maintainSysdataEntries() RETURN SDO_STRING2_ARRAY;
説明
USER_SDO_GEOR_SYSDATAビューで無効なエントリを確認し、必要に応じて修正処理を行います。
パラメータ
なし。
使用上のノート
このファンクションはSDO_GEOR_ADMIN.checkSysdataEntriesファンクションと同じ確認を実行し、(該当する修正処理がある場合は)適切な修正処理を行います。次の各エラーについて、このファンクションでは次の修正処理を行います。
-
RDT名が一意でない。DBAロールを持っていないユーザーとして接続している場合は何も処理が行われません。DBAロールを持つユーザーとして接続している場合は、RDT名が一意になるように、重複しているRDTの名前が変更されます。
-
GeoRaster表が存在しない。エントリが削除されます。
-
GeoRaster列が存在しない。エントリが削除されます。
-
GeoRasterオブジェクトが存在しない。エントリが削除されます。
-
GeoRasterオブジェクトが空または空白ではないが、RDTが存在しない。エントリが削除されます。
-
GeoRasterオブジェクトが重複して存在する(RDTとラスターIDの一意ではない組合せが1つ以上存在する)。エントリが削除されます。
DBAロールを持つユーザーとしてこのプロシージャを実行すると、データベース内のすべてのスキーマでメンテナンスが実行されます。それ以外の場合は、現行のスキーマでメンテナンスが実行されます。
USER_SDO_GEOR_DATAおよびALL_SDO_GEOR_SYSDATAビューの詳細は、「GeoRasterシステム・データ・ビュー(xxx_SDO_GEOR_SYSDATA)」を参照してください。
例
次の例では、USER_SDO_GEOR_SYSDATAビューで無効なエントリを確認し、必要に応じて修正処理を行います。
DECLARE ret SDO_STRING2_ARRAY; BEGIN ret:=sdo_geor_admin.MAINTAINSYSDATAENTRIES; for i in 1..ret.count loop dbms_output.put_line(ret(i)); end loop; END; / The RDT name GEOR_TEST1.RDT2 is renamed to GEOR_TEST1.RDT1! The sysdata entry (SCHEMA=GEOR_TEST1 RDT=dt1 RID=1) is deleted! PL/SQL procedure successfully completed.
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.15 SDO_GEOR_ADMIN.registerGeoRasterColumns
形式
SDO_GEOR_ADMIN.registerGeoRasterColumns;
説明
現行のスキーマまたはデータベース内のすべてのスキーマに定義されているGeoRaster列に対してDMLトリガーを作成します。
パラメータ
なし。
使用上のノート
通常、このプロシージャを実行する必要はありません。なんらかのエラーまたは他の条件により、GeoRaster列とDMLトリガーとの関連付けが失われた場合のみ、このプロシージャを実行するようにしてください。
DBAロールを持つユーザーとしてこのプロシージャを実行すると、プロシージャはデータベース内のすべてのスキーマに定義されているすべてのGeoRaster列を登録します。それ以外の場合は、現行のスキーマに定義されているGeoRaster列のみを登録します。
例
この例では、現行のスキーマに定義されているすべてのGeoRaster列にDMLトリガーを作成します。
EXECUTE sdo_geor_admin.registerGeoRasterColumns;
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.16 SDO_GEOR_ADMIN.registerGeoRasterObjects
形式
SDO_GEOR_ADMIN.registerGeoRasterObjects;
説明
現行のスキーマまたはデータベース内のすべてのスキーマに定義されているGeoRasterオブジェクトを登録します。
パラメータ
なし。
使用上のノート
DBAロールを持つユーザーとしてこのプロシージャを実行すると、プロシージャはデータベース内のすべてのスキーマに定義されているすべてのGeoRasterオブジェクトを登録します。それ以外の場合は、現行のスキーマに定義されているGeoRasterオブジェクトのみを登録します。
例
次の例では、現行のスキーマに定義されているすべてのGeoRasterオブジェクトを登録します。
EXECUTE sdo_geor_admin.registerGeoRasterObjects;
親トピック: SDO_GEOR_ADMINパッケージのリファレンス
8.17 SDO_GEOR_ADMIN.upgradeGeoRaster
形式
SDO_GEOR_ADMIN.upgradeGeoRaster() RETURN SDO_STRING2_ARRAY;
説明
現行のスキーマまたはデータベース内のすべてのスキーマのGeoRasterシステム・データ・エントリおよびGeoRasterデータを確認し、必要に応じて修正処理を実行します。
パラメータ
なし。
使用上のノート
このファンクションはSDO_GEOR_ADMIN.isUpgradeNeededファンクションと同じ確認を実行し、次のエラーに対して(該当する修正処理がある場合は)適切な修正処理を行います。
-
システム・データ・エントリ・エラー: RDT名が一意でない。
-
システム・データ・エントリ・エラー: RDTとRIDのペアが一意でない。
-
システム・データ・エントリ・エラー: GeoRaster表が存在しない。
-
システム・データ・エントリ・エラー: GeoRaster列が存在しない。
-
システム・データ・エントリ・エラー: GeoRasterオブジェクトが存在しない。
-
GeoRasterオブジェクトが空または空白ではないが、RDTが存在しない。
-
GeoRasterオブジェクトが重複して存在する(RDTとラスターIDの一意ではない組合せが1つ以上存在する)。
-
(GeoRaster列、GeoRasterオブジェクト)のペアで、登録されていないものがある。
DBAロールを持つユーザーとしてこのプロシージャを実行すると、プロシージャはデータベース内のすべてのスキーマで確認および修正を実行します。それ以外の場合は、現行のスキーマでのみ確認および修正を実行します。
例
次の例では、現行のスキーマのGeoRasterシステム・データ・エントリおよびGeoRasterデータを確認し、必要に応じて修正処理を実行します。
DECLARE ret SDO_STRING2_ARRAY; BEGIN ret:=sdo_geor_admin.upgradeGeoraster; for i in 1..ret.count loop dbms_output.put_line(ret(i)); end loop; END; /
親トピック: SDO_GEOR_ADMINパッケージのリファレンス