86 DBMS_IOT

DBMS_IOTパッケージは、索引構成表に対する連鎖行への参照をANALYZEコマンドを使用して格納できる表を作成します。また、DBMS_IOTによって、enable_constraint操作時に、索引構成表の中で制約に違反する行への参照を格納できる例外表も作成できます。

DBMS_IOTは、データベース・インストール時にロードされません。DBMS_IOTをインストールするには、ADMINディレクトリにあるdbmsiotc.sqlを実行します。

この章のトピックは、次のとおりです:

  • DBMS_IOTサブプログラムの要約

    ノート:

    Oracle Databaseリリース8.1でIOTの論理ROWIDが導入されたため、このパッケージに含まれるプロシージャを使用する必要はなくなりましたが、これは下位互換性のためにのみ残されています。ただし、Oracle Databaseリリース8.0を実行するサーバーには必要です。

86.1 DBMS_IOTサブプログラムの要約

この表では、DBMS_IOTのサブプログラムをリストし、簡単に説明します。

表86-1 DBMS_IOTパッケージのサブプログラム

サブプログラム 説明

BUILD_CHAIN_ROWS_TABLEプロシージャ

索引構成表に対する連鎖行への参照をANALYZEコマンドを使用して格納できる表を作成します。

BUILD_EXCEPTIONS_TABLEプロシージャ

索引構成表の中で制約に違反する行を格納できる例外表を作成します。

86.1.1 BUILD_CHAIN_ROWS_TABLEプロシージャ

このプロシージャは、索引構成表に対する連鎖行への参照をANALYZEコマンドを使用して格納できる表を作成します。

構文

DBMS_IOT.BUILD_CHAIN_ROWS_TABLE (
   owner               IN VARCHAR2,
   iot_name            IN VARCHAR2,
   chainrow_table_name IN VARCHAR2 default 'IOT_CHAINED_ROWS');

パラメータ

表86-2 BUILD_CHAIN_ROWS_TABLEプロシージャのパラメータ

パラメータ 説明

owner

索引構成表の所有者

iot_name

索引構成表名。

chainrow_table_name

連鎖行表の目的名

使用上のノート

各索引構成表について、その主キーに対応する連鎖行表を個々に作成する必要があります。

CREATE TABLE l(a char(16),b char(16), c char(16), d char(240), 
PRIMARY KEY(a,b,c)) ORGANIZATION INDEX pctthreshold 10 overflow;    
EXECUTE DBMS_IOT.BUILD_CHAIN_ROWS_TABLE('SYS','L','LC');  

次の列を含んだ連鎖行表が作成されます。

Column Name                    Null?    Type  
------------------------------ -------- ----  
OWNER_NAME                              VARCHAR2(30)  
TABLE_NAME                              VARCHAR2(30)  
CLUSTER_NAME                            VARCHAR2(30)  
PARTITION_NAME                          VARCHAR2(30)  
SUBPARTITION_NAME                       VARCHAR2(30)  
HEAD_ROWID                              ROWID  
TIMESTAMP                               DATE  
A                                       CHAR(16)  
B                                       CHAR(16)  
C                                       CHAR(16) 

86.1.2 BUILD_EXCEPTIONS_TABLEプロシージャ

このプロシージャは、例外表を作成します。

次のSQL文の実行時に、索引構成表の中で制約に違反する行をこの表に格納できます。

  • ALTER TABLE ... ENABLE CONSTRAINT ... EXCEPTIONS INTO

  • ALTER TABLE ... ADD CONSTRAINT ... EXCEPTIONS INTO

構文

DBMS_IOT.BUILD_EXCEPTIONS_TABLE (
   owner                 IN VARCHAR2,
   iot_name              IN VARCHAR2,
   exceptions_table_name IN VARCHAR2 default 'IOT_EXCEPTIONS');

パラメータ

表86-3 BUILD_EXCEPTIONS_TABLEプロシージャのパラメータ

パラメータ 説明

owner

索引構成表の所有者

iot_name

索引構成表名。

exceptions_table_name

例外表の目的名

使用上のノート

各索引構成表について、その主キーに対応する例外表を個々に作成する必要があります。

EXECUTE DBMS_IOT.BUILD_EXCEPTIONS_TABLE('SYS','L','LE');  
  

前述の索引構成表に対する例外表の列は、次のようになります。

Column Name                    Null?    Type  
------------------------------ -------- ----  
ROW_ID                                  VARCHAR2(30)  
OWNER                                   VARCHAR2(30)  
TABLE_NAME                              VARCHAR2(30)  
CONSTRAINT                              VARCHAR2(30)  
A                                       CHAR(16)  
B                                       CHAR(16)  
C                                       CHAR(16)