17 SEM_PERFパッケージのサブプログラム

SEM_PERFパッケージには、Oracle DatabaseでのResource Description Framework(RDF)およびWeb Ontology Language(OWL)サポートのパフォーマンスを検証および拡張するためのサブプログラムが含まれています。

この章のサブプログラムを使用するには、RDFセマンティク・グラフの概要OWLの概要に記載されている概念および使用情報について理解しておく必要があります。

この章では、サブプログラムに関するリファレンス情報を示します(サブプログラムのリストはアルファベット順です)。

17.1 SEM_PERF.ANALYZE_AUX_TABLES

書式

SEM_PERF.ANALYZE_AUX_TABLES(
     model_name       IN VARCHAR2,
     estimate_percent IN NUMBER DEFAULT DBMS_STATS.AUTO_SAMPLE_SIZE,
     method_opt       IN VARCHAR2 DEFAULT NULL,
     degree           IN NUMBER DEFAULT DBMS_STATS.AUTO_DEGREE,
     network_owner    IN DBMS_ID  DEFAULT NULL,
     network_name     IN VARCHAR2 DEFAULT NULL);

説明

指定されたRDFモデルに現在存在するSPM表をすべて分析します。

パラメータ

model_name

RDFモデルの名前。

estimate_percent

サンプリングする行のパーセントが決定されます。estimate_percent統計の収集の詳細は、DBMS_STATS.GATHER_TABLE_STATSプロシージャを参照してください。

method_opt

列統計収集を決定します。列統計の収集の詳細は、DBMS_STATS.GATHER_TABLE_STATSを参照してください。

degree

統計情報を収集する場合に使用される並列度が決定されます。このプロシージャ・パラメータの詳細は、DBMS_STATS.GATHER_TABLE_STATSを参照してください。

network_owner

セマンティク・ネットワークの所有者。(表1-1を参照してください。)

network_name

セマンティク・ネットワークの名前。(表1-1を参照してください。)

使用上のノート

次の例では、SPM補助表の統計を収集します。

EXECUTE SEM_PERF.ANALYZE_AUX_TABLES('m1',network_owner=>'RDFUSER',network_name=>'NET1');

17.2 SEM_PERF.DELETE_NETWORK_STATS

書式

SEM_PERF.DELETE_NETWORK_STATS (
     cascade_parts    IN BOOLEAN DEFAULT TRUE, 
     cascade_columns  IN BOOLEAN DEFAULT TRUE, 
     cascade_indexes  IN BOOLEAN DEFAULT TRUE, 
     no_invalidate    IN BOOLEAN DEFAULT DBMS_STATS.AUTO_INVALIDATE, 
     force            IN BOOLEAN DEFAULT FALSE, 
     options          IN VARCHAR2 DEFAULT NULL,
     network_owner    IN VARCHAR2 DEFAULT NULL,
     network_name     IN VARCHAR2 DEFAULT NULL);

説明

セマンティク・ネットワークの統計を削除します。

パラメータ

options

次のように操作の範囲を制御します。

  • MDSYS.SDO_RDF.VALUE_TABLE_ONLYの場合、操作はMDSYS.RDF_VALUE$表にのみ適用されます。

  • MDSYS.SDO_RDF.LINK_TABLE_ONLYの場合、操作はMDSYS.RDF_LINK$表にのみ適用されます。

  • NULLである場合(デフォルト)、操作はMDSYS.RDF_VALUE$およびMDSYS.RDF_LINK$表の両方に適用されます。

(その他のパラメータ)

DBMS_STATS.DELETE_TABLE_STATSプロシージャのパラメータに関する詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。なお、ここでのforceはネットワーク統計に適用されます。

network_owner

セマンティク・ネットワークの所有者。(表1-1を参照してください。)

network_name

セマンティク・ネットワークの名前。(表1-1を参照してください。)

使用上のノート

DBMS_STATSパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

「セマンティク・モデルおよびセマンティク・ネットワークの統計の管理」を参照してください。

セマンティク・ネットワークのタイプおよびオプションの詳細は、「セマンティク・ネットワーク」を参照してください。

次の例では、セマンティク・ネットワークの統計を削除します。

EXECUTE SEM_APIS.DELETE_NETWORK_STATS;

17.3 SEM_PERF.DROP_EXTENDED_STATS

書式

SEM_PERF.DROP_EXTENDED_STATS (
     network_owner IN VARCHAR2 DEFAULT NULL,
     network_name  IN VARCHAR2 DEFAULT NULL);

説明

RDF_LINK$表で、拡張オプティマイザ統計に使用される列グループを削除します。

パラメータ

network_owner

セマンティク・ネットワークの所有者。(表1-1を参照してください。)

network_name

セマンティク・ネットワークの名前。(表1-1を参照してください。)

使用上のノート

このプロシージャを使用するには、実行権限を持つユーザーとして接続する必要があります。デフォルトでは、Spatial and GraphがOracle Databaseの一部としてインストールされている場合、このプロシージャを実行できるのはMDSYSユーザーのみです。ただし、このプロシージャの実行権限は、必要に応じて各ユーザーに付与できます。

RDF_LINK$から削除されるデフォルトの列グループは、(CANON_END_NODE_ID, START_NODE_ID) (P_VALUE_ID, CANON_END_NODE_ID) (P_VALUE_ID, START_NODE_ID)です

関連項目:

セマンティク・ネットワークのタイプおよびオプションの詳細は、「セマンティク・ネットワーク」を参照してください。

次の例では、セマンティク・ネットワークの拡張統計を削除します。

EXECUTE SEM_PERF.DROP_EXTENDED_STATS;

17.4 SEM_PERF.EXPORT_NETWORK_STATS

書式

SEM_PERF.EXPORT_NETWORK_STATS (
     stattab        IN VARCHAR2, 
     statid         IN VARCHAR2 DEFAULT NULL, 
     cascade        IN BOOLEAN DEFAULT TRUE, 
     statown        IN VARCHAR2 DEFAULT NULL, 
     stat_category  IN VARCHAR2 DEFAULT 'OBJECT_STATS', 
     options        IN VARCHAR2 DEFAULT NULL);

説明

セマンティク・ネットワークの統計をエクスポートして、ユーザー統計表に格納します。

パラメータ

options

次のように操作の範囲を制御します。

  • MDSYS.SDO_RDF.VALUE_TABLE_ONLYの場合、操作はMDSYS.RDF_VALUE$表にのみ適用されます。

  • MDSYS.SDO_RDF.LINK_TABLE_ONLYの場合、操作はMDSYS.RDF_LINK$表にのみ適用されます。

  • NULLである場合(デフォルト)、操作はMDSYS.RDF_VALUE$およびMDSYS.RDF_LINK$表の両方に適用されます。

(その他のパラメータ)

DBMS_STATS.EXPORT_TABLE_STATSプロシージャのパラメータの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

network_owner

セマンティク・ネットワークの所有者。(表1-1を参照してください。)

network_name

セマンティク・ネットワークの名前。(表1-1を参照してください。)

使用上のノート

DBMS_STATSパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

「セマンティク・モデルおよびセマンティク・ネットワークの統計の管理」を参照してください。

セマンティク・ネットワークのタイプおよびオプションの詳細は、「セマンティク・ネットワーク」を参照してください。

次の例では、セマンティク・ネットワークの統計をエクスポートして、表STAT_TABLEに格納します。

EXECUTE SEM_APIS.EXPORT_NETWORK_STATS('stat_table');

17.5 SEM_PERF.GATHER_STATS

書式

SEM_PERF.GATHER_STATS(
     just_on_values_table  IN BOOLEAN DEFAULT FALSE, 
     degree                IN NUMBER(38) DEFAULT NULL,
     estimate_percent      IN NUMBER DEFAULT DBMS_STATS.AUTO_SAMPLE_SIZE,
     value_method_opt      IN VARCHAR2 DEFAULT NULL,
     link_method_opt       IN VARCHAR2 DEFAULT NULL,
     network_owner         IN VARCHAR2 DEFAULT NULL,
     network_name          IN VARCHAR2 DEFAULT NULL);

説明

RDFおよびOWL表とその索引に関する統計を収集します。

パラメータ

just_on_values_table

TRUEは、トリプルの字句の値を含む表のみに関する統計を収集し、FALSE (デフォルト)は、RDFおよびOWLデータの記憶域に関連したすべての主要な表に関する統計を収集します。

TRUEの値はプロシージャの実行時間を短縮するため、値表に関する統計のみを収集する必要がある場合(たとえば、必要な他の統計を収集するために他のインタフェースを使用する場合)では、十分である可能性があります。

degree

並列度。パラレル実行の詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。

estimate_percent

サンプリングするMDSYS.RDF_LINK$およびMDSYS.RDF_VALUE$の行のパーセントが決定されます。

有効範囲は0.000001から100です。定数DBMS_STATS.AUTO_SAMPLE_SIZE (デフォルト)を使用すると、最適な統計を生成するための適切なサンプル・サイズをOracle Databaseで決定できるようになります。

value_method_opt

MDSYS.RDF_VALUE$表に対し、次のオプションのいずれかまたは両方の組合せを受け入れます。

  • FOR ALL [INDEXED | HIDDEN] COLUMNS [size_clause]

  • FOR COLUMNS [size clause] column|attribute [size_clause] [,column|attribute [size_clause]...]

size_clauseは、size_clause := SIZE {integer | REPEAT | AUTO | SKEWONLY}として定義されます

columnは、column := column_name | (extension)として定義されます

  • integer: ヒストグラム・バケット数。範囲は[1, 2048]である必要があります。

  • REPEAT: すでにヒストグラムがある列に対してのみ、ヒストグラムを収集します。

  • AUTO: 列のデータ配分とワークロードに基づいて、ヒストグラムを収集する列が判断されます。

  • SKEWONLY: 列のデータ配分に基づいて、ヒストグラムを収集する列が判断されます。

  • column_name: 列の名前

  • extension(column_name, colume_name [, ...])の書式の列グループまたは式。

通常のデフォルトは、FOR ALL COLUMNS SIZE 2048です

link_method_opt

MDSYS.RDF_LINK$表に対し、次のオプションのいずれかまたは両方の組合せを受け入れます。

  • FOR ALL [INDEXED | HIDDEN] COLUMNS [size_clause]

  • FOR COLUMNS [size clause] column|attribute [size_clause] [,column|attribute [size_clause]...]

size_clauseは、size_clause := SIZE {integer | REPEAT | AUTO | SKEWONLY}として定義されます

columnは、column := column_name | (extension)として定義されます

  • integer: ヒストグラム・バケット数。範囲は[1,254]である必要があります。

  • REPEAT: すでにヒストグラムがある列に対してのみ、ヒストグラムを収集します。

  • AUTO: 列のデータ配分とワークロードに基づいて、ヒストグラムを収集する列が判断されます。

  • SKEWONLY: 列のデータ配分に基づいて、ヒストグラムを収集する列が判断されます。

  • column_name: 列の名前。

  • extension(column_name, colume_name [, ...])の書式の列グループまたは式。

通常のデフォルトは、FOR ALL COLUMNS SIZE AUTO FOR COLUMNS SIZE 2048 P_VALUE_ID CANON_END_NODE_ID START_NODE_ID G_ID (CANON_END_NODE_ID, START_NODE_ID) (P_VALUE_ID, CANON_END_NODE_ID) (P_VALUE_ID, START_NODE_ID)です

network_owner

セマンティク・ネットワークの所有者。(表1-1を参照してください。)

network_name

セマンティク・ネットワークの名前。(表1-1を参照してください。)

使用上のノート

このプロシージャを使用するには、実行権限を持つユーザーとして接続する必要があります。デフォルトでは、Spatial and GraphがOracle Databaseの一部としてインストールされている場合、このプロシージャを実行できるのはMDSYSユーザーのみです。ただし、このプロシージャの実行権限は、必要に応じて各ユーザーに付与できます。

このプロシージャは、推論パフォーマンスの向上に有効な統計情報を収集します(「推論パフォーマンスの向上」を参照)。このプロシージャは、内部的にDBMS_STATS.GATHER_TABLE_STATSプロシージャをコールしてRDFおよびOWL関連の表とその索引に関する統計を収集し、その統計をOracle Databaseのデータ・ディクショナリに格納します。DBMS_STATSパッケージの使用方法の詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。

統計の収集ではシステム・リソースが大量に使用されるため、このプロシージャは重要なアプリケーションおよび操作が悪影響を受ける可能性のない時期に実行してください。

「セマンティク・モデルおよびセマンティク・ネットワークの統計の管理」を参照してください。

次の例では、RDFおよびOWL関連の表とその索引に関する統計を収集します。

EXECUTE SEM_PERF.GATHER_STATS;

17.6 SEM_PERF.IMPORT_NETWORK_STATS

書式

SEM_PERF.IMPORT_NETWORK_STATS (
     stattab       IN VARCHAR2, 
     statid        IN VARCHAR2 DEFAULT NULL, 
     cascade       IN BOOLEAN DEFAULT TRUE, 
     statown       IN VARCHAR2 DEFAULT NULL, 
     no_invalidate IN BOOLEAN DEFAULT FALSE, 
     force         IN BOOLEAN DEFAULT FALSE, 
     stat_category IN VARCHAR2 DEFAULT 'OBJECT_STATS', 
     options       IN VARCHAR2 DEFAULT NULL,
     network_owner IN VARCHAR2 DEFAULT NULL,
     network_name  IN VARCHAR2 DEFAULT NULL);

説明

ユーザー統計表からセマンティク・ネットワークの統計を取得して、ディクショナリに格納します。

パラメータ

options

次のように操作の範囲を制御します。

  • MDSYS.SDO_RDF.VALUE_TABLE_ONLYの場合、操作はMDSYS.RDF_VALUE$表にのみ適用されます。

  • MDSYS.SDO_RDF.LINK_TABLE_ONLYの場合、操作はMDSYS.RDF_LINK$表にのみ適用されます。

  • NULLである場合(デフォルト)、操作はMDSYS.RDF_VALUE$およびMDSYS.RDF_LINK$表の両方に適用されます。

(その他のパラメータ)

DBMS_STATS.IMPORT_TABLE_STATSプロシージャのパラメータに関する詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。なお、ここでのforceはネットワーク統計に適用されます。

network_owner

セマンティク・ネットワークの所有者。(表1-1を参照してください。)

network_name

セマンティク・ネットワークの名前。(表1-1を参照してください。)

使用上のノート

DBMS_STATSパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

「セマンティク・モデルおよびセマンティク・ネットワークの統計の管理」を参照してください。

セマンティク・ネットワークのタイプおよびオプションの詳細は、「セマンティク・ネットワーク」を参照してください。

次の例では、表STAT_TABLEのセマンティク・ネットワークの統計をインポートして、ディクショナリに格納します。

EXECUTE SEM_APIS.IMPORT_NETWORK_STATS('stat_table');