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.