FAQ
質問:ST_Geometry 属性を作成する際に、Oracle の LOB セグメントのインデックス名を指定すべきですか?

ナレッジ番号:2739 | 登録日:2023/05/29 | 更新日:2024/11/21

Oracle は LOB 属性を作成する際に lob_index_clause 句で名前を使用することを推奨していません。

詳細は Oracle のサポート情報 159995.1 をご参照ください。

以下の例では、ST_Geometry 属性を持つ streets テーブルを作成し、LOB セグメントの格納句を定義およびインデックスの格納句で LOB セグメントを指定しています。


SQL> CREATE TABLE streets 
 2    (objectid    NUMBER(38) NOT NULL,
 3     name        VARCHAR2(64) NOT NULL,
 4     laddr       NUMBER(9),
 5     raddr       NUMBER(9),
 6     shape       st_geometry)
 7    LOB (shape.points) 
 8    STORE AS streets_shape_seg
 9     (TABLESPACE lob_seg ENABLE STORAGE IN ROW CHUNK 8K RETENTION CACHE
10    STORAGE (INITIAL 500M PCTINCREASE 10)
11    INDEX
12     (TABLESPACE lob_seg STORAGE (INITIAL 50M PCTINCREASE 10)))
13    PCTFREE 10 INITRANS 4
14    TABLESPACE user_data STORAGE (INITIAL 1M PCTINCREASE 0);

テーブルが作成されました。

Oracle はインデックス句を設定することを推奨していないため、上記の CREATE TABLE 文はインデックスの格納句が無い状態で実行するようにしてください。


SQL> CREATE TABLE streets 
 2    (objectid    NUMBER(38) NOT NULL,
 3     name        VARCHAR2(64) NOT NULL,
 4     laddr       NUMBER(9),
 5     raddr       NUMBER(9),
 6     shape       st_geometry)
 7    LOB (shape.points) 
 8    STORE AS streets_shape_seg
 9     (TABLESPACE lob_seg ENABLE STORAGE IN ROW CHUNK 8K RETENTION CACHE
10    STORAGE (INITIAL 500M PCTINCREASE 10))
11    PCTFREE 10 INITRANS 4
12    TABLESPACE user_data STORAGE (INITIAL 1M PCTINCREASE 0);

テーブルが作成されました。

詳細については Oracle のドキュメントを参照してください。

■関連情報

メタデータ

機能

種類

製品