Oracle DBTUNE 配置参数

配置参数存储在 DBTUNE 表的 parameter_name 列中,用于确定要存储在数据库中的数据库对象。其对应值存储在 DBTUNE 表的 config_string 列中,用于确定在数据库中存储对象的方式。这些参数及其配置字符串在 DBTUNE 表中通过配置关键字组合在一起。关键字/参数名称的组合是唯一的,但大多数参数名称并不唯一,可在 DBTUNE 表中的大量不同关键字下重复使用。

parameter_name 列中的有效值是固定不变的;您不能设计新的参数名称。同样,config_string 列只接受特定数值或 SQL 字符串。大多数情况下,这些字符串将被追加到 SQL CREATE TABLE 和 CREATE INDEX 语句中,因此它们必须与给定 DBMS 必需的 SQL 语法相匹配。

在存储于 Oracle 数据库中的地理数据库内,ArcSDE 使用“参数名称-配置字符串”对执行以下操作:

关键字/参数名组合是唯一的。例如,在同一关键字下不能定义相同的参数,如下所示:

KEYWORD        PARAMETER_NAME          CONFIG_STRING
------------  -----------------------  ----------------------
DEFAULTS       RASTER_STORAGE          BLOB

DEFAULTS       RASTER_STORAGE          SDO_GEOMETRY

但是,大多数参数均可在 DBTUNE 表中的多个不同关键字下使用。例如,RASTER_STORAGE 参数还可同其他几个关键字进行组合。在本例中,RASTER_STORAGE 参数包含在关键字 SDELOB 下。

SQL>  SELECT * FROM SDE.DBTUNE
  2  WHERE KEYWORD = 'SDELOB';

KEYWORD   PARAMETER_NAME        CONFIG_STRING
------------- -----------------------      ---------------------
SDELOB      ATTRIBUTE_BINARY      BLOB

SDELOB      GEOMETRY_STORAGE   SDELOB

SDELOB      RASTER_STORAGE        BLOB

参数使用方式示例

在下例中,SQL 语句返回所有以 RAS 开头的参数的数值,并将这些参数分组到 DBTUNE 表中的 DEFAULTS 关键字下。

SQL> SELECT * FROM SDE.DBTUNE   2  WHERE KEYWORD = 'DEFAULTS' AND PARAMETER_NAME LIKE 'RAS%';  KEYWORD   PARAMETER_NAME   CONFIG_STRING ------------  ----------------------   ------------------------- DEFAULTS   RASTER_STORAGE   BLOB  DEFAULTS   RAS_INDEX_ID        PCTFREE 0 INITRANS 8 TABLESPACE IDX1 NOLOGGING  DEFAULTS   RAS_STORAGE        PCTFREE 0 INITRANS 8 TABLESPACE RASTER 

RAS_STORAGE 参数的 config_string 包含适用于 CREATE TABLE 语句的 Oracle SQL 语法。RAS_STORAGE 参数用于控制 SDE_RAS_<raster_column_ID> 表的存储。因此,如果在地理数据库中创建栅格数据集时指定 DEFAULTS 关键字,ArcSDE 将读取 RAS_STORAGE 的 config_string 并将其放到用于创建 SDE_RAS_<raster_column_ID> 表的 SQL 语句中。

此 DEFAULTS DBTUNE 条目将成为一条 SQL 语句,类似于下面 DBTUNE 条目之后显示的代码:

DEFAULTS  RAS_STORAGE  PCTFREE 0 INITRANS 8 TABLESPACE RASTER

CREATE TABLE myuser.sde_ras_6 (raster_id number(38),  raster_flags number(38),  description varchar2(65)) PCTFREE			0 INITRANS       8 TABLESPACE raster

如果未指定表空间,Oracle 将使用表空间的默认存储参数在用户的默认表空间中存储表和索引。如果在最后一个示例中未指定栅格表空间,则将使用用户的默认表空间。

以某一用户身份连接后,通过查询 USER_USERS Oracle 系统表的 DEFAULT_TABLESPACE 字段可确定该用户的默认表空间。以 Oracle 数据库管理员 (DBA) 身份,使用 WHERE 子句查询 DBA_USERS 表的 DEFAULT_TABLESPACE 字段以指定用户。

SQL> connect <user>/<password> SQL> SELECT default_tablespace  FROM user_users;
或者
SQL> connect system/<password> SQL> SELECT default_tablespace  FROM dba_users  WHERE username = <'USER'>;
通过查询 USER_TABLESPACES 获取表空间的默认存储参数列表:
SQL> connect <user>/<password> SQL> SELECT * FROM user_tablespaces  WHERE tablespace_name = <'TABLESPACE'>;

可以通过更改 dbtune.sde 文件或使用 sdedbtune 命令更改 DBTUNE 表中的特定值为数据提供合适的表空间名。

在 dbtune 文件中,取消注释与要使用的配置关键字(例如 DEFAULTS)相关联的相应 TABLESPACE 行。注释的行以一个井号 (#) 开头。移除此井号并用正确的表空间名称替换 <文本>。然后将 dbtune 文件导入到 DBTUNE 表。之后,用户可以指定关键字(或接受 DEFAULTS),他们创建的数据集的表和索引将存储到 dbtune 文件中指定的表空间中。可以使用 sdedbtune 命令的 alter 操作每次更改一个参数值。有关编辑 dbtune 文件和表的具体信息,请参阅在创建地理数据库前更改 dbtune 文件在创建 DBTUNE 表后更改其内容

有效参数列表

下表按字母顺序列出了所有可在 Oracle 中的地理数据库内使用的配置参数。粗体的值表示该值为默认值。

下表之后的部分更详细深入地解释了各个参数(按其功能分组)。

参数名称

描述

A_INDEX_RASTER

添加表(即 A 表)栅格列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

A_INDEX_ROWID

A 表 ObjectID 列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

A_INDEX_SHAPE

A 表空间列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

A_INDEX_STATEID

A 表 sde_state_id 列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

A_INDEX_USER

定义 A 表索引的存储方式

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

A_INDEX_XML

A 表 XML 列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

A_STORAGE

定义 A 表的存储方式

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

ATTRIBUTE_BINARY

指示二进制属性(非空间)字段的存储类型

BLOB 或 LONGRAW

AUX_INDEX_COMPOSITE

栅格 AUX 表复合列索引的存储定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

AUX_STORAGE

栅格 AUX 表的存储定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

B_INDEX_RASTER

业务表中栅格列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

B_INDEX_ROWID

业务表 ObjectID 列索引和栅格 rowid 索引 R<N>_SDE_ROWID_UK 的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

B_INDEX_SHAPE

业务表中空间列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

B_INDEX_TO_DATE

用于创建索引 R<registration_id>_sde_todate 的存储参数信息,在存档操作期间更新历史记录表时使用该信息

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

B_INDEX_USER

业务表用户索引的存储定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

B_INDEX_XML

业务表中 XML 列索引表的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

B_STORAGE

业务表和栅格属性表的存储定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

BLK_INDEX_COMPOSITE

栅格 BLK 表复合列索引的存储定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

BLK_STORAGE

栅格 BLK 表的存储定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

BND_INDEX_COMPOSITE

栅格 BND 表复合列索引的存储定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

BND_INDEX_ID

栅格 BND 表 RID 列索引的存储定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

BND_STORAGE

栅格 BND 表的存储定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

COMMENT

用于添加注释的行

最多可容纳 8,000 个字符长的注释

COMPRESS_ROLLBACK_SEGMENT

版本压缩回滚段(仅适用于使用手动撤消空间管理的数据库)

回滚段名称

D_INDEX_DELETED_AT

删除表(即 D 表)sde_deleted_at 列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

D_INDEX_ STATE_ROWID

D 表 sde_states_id 和 sde_deletes_row_id 列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

D_STORAGE

D 表的存储方式定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

F_INDEX_AREA

要素表中面积列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

仅适用于二进制几何存储类型(SDEBINARY 和 SDELOB)

F_INDEX_FID

要素表中 FID 列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

仅适用于二进制几何存储类型(SDEBINARY 和 SDELOB)

F_INDEX_LEN

要素表中长度列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

仅适用于二进制几何存储类型(SDEBINARY 和 SDELOB)

F_STORAGE

要素表存储方式定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

仅适用于二进制几何存储类型(SDEBINARY 和 SDELOB)

GEOMETRY_STORAGE

指示空间列的存储数据类型

ST_GEOMETRYSDEBINARY、SDELOB、OGCWKB 或 SDO_GEOMETRY

LD_INDEX_DATA_ID

SDE_LOGFILE_DATA 和 SDE_LOGPOOL 表的索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

LD_INDEX_ROWID

SDE_LOGFILE_DATA 和 SDE_LOGPOOL 表的 SDE_ROWID 列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

LD_STORAGE

SDE_LOGFILE_DATA 和 SDE_LOGPOOL_<SDE_ID> 表的存储方式定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

LF_INDEXES

SDE_LOGFILES 表列索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

LF_STORAGE

SDE_LOGFILES 表的存储方式定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

MVTABLES_MODIFIED_INDEX

MVTABLES_MODIFIED 索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

MVTABLES_MODIFIED_TABLE

MVTABLES_MODIFIED 表的存储方式定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

RAS_INDEX_ID

栅格 RAS 表 RID 索引的存储定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

RAS_STORAGE

栅格 RAS 表的存储定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

RASTER_STORAGE

指示对栅格数据采用的存储类型

BLOB、LONGRAW、SDO_GEORASTER 或 ST_RASTER

RDT_INDEX_COMPOSITE

包含为 SDO_GEORASTER 块表创建的复合索引的存储信息(该索引名为 SDE_RDT_<N>_PK,其中 N 是栅格列的 rastercolumn_id 值。)

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

仅适用于 Oracle Spatial

RDT_STORAGE

包含 SDO_GEORASTER 块表的存储信息(该块表名为 sde_rdt_<N>,其中 N 是栅格列的 rastercolumn_id 值。)

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

仅适用于 Oracle Spatial

S_INDEX_ALL

使用二进制几何存储类型时,空间索引表第一个索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

仅适用于二进制几何存储类型(SDEBINARY 和 SDELOB)

S_INDEX_SP_FID

空间索引表第二个索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

仅适用于二进制几何存储类型(SDEBINARY 和 SDELOB)

S_STORAGE

表示空间索引的存储方式定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

SDO_COMMIT_INTERVAL

插入到各 COMMIT 数据库的空间索引表中的行数(此参数成为 CREATE INDEX 语句中的参数。)

1000(有关所有这些值的信息,请参阅《Oracle Spatial 用户指南》。)

仅适用于 Oracle Spatial

SDO_DIMNAME_1 SDO_DIMNAME_2 SDO_DIMNAME_3 SDO_DIMNAME_4

Oracle Spatial 几何类型的各个维度的名称;对应的值如下所示:1 = X 2 = Y 3 = Z 4 = M

维度名称(有关所有这些值的信息,请参阅《Oracle Spatial 用户指南》。)

仅适用于 Oracle Spatial

SDO_INDEX_SHAPE

Oracle Spatial 几何类型空间索引的存储参数

各空间索引的存储参数,包括 <tablespace_name> 和 sdo_indx_dims=#(默认值为 2),后者指定应使用 R 树空间索引为几个维度建立索引(有关所有这些值的信息,请参阅《Oracle Spatial 用户指南》。)

仅适用于 Oracle Spatial

SDO_LB_1 SDO_LB_2 SDO_LB_3 SDO_LB_4

Oracle Spatial 几何类型的维度下限;基于要加载的数据范围在数据默认值的坐标系中指定的单位;对于具有大地测量 SAID 的数据,SDO_LB_1 必须为 180,SDO_LB_2 必须为 90

比相应 SDO_UB 值大的值(有关所有这些值的信息,请参阅《Oracle Spatial 用户指南》。)

仅适用于 Oracle Spatial

SDO_SRID

分配给 SDO_GEOMETRY 列的 Oracle Spatial 坐标参考标识符

如果创建要素类时指定的配置关键字包含设置为有效坐标参考系的 SDO_SRID 参数,则该值将用于要素类并写入 Oracle USER_SDO_GEOM_METADATA 视图中。

SDO_SRID 参数指定的值会覆盖客户端(例如 ArcCatalog 或 sdelayer 命令)指定的任何坐标参考系。

仅适用于 Oracle Spatial

SDO_TOLERANCE_1 SDO_TOLERANCE_2 SDO_TOLERANCE_3 SDO_TOLERANCE_4

  • 在指定维度中,如果两个坐标间的距离为此值,则这两个坐标被视为相同
  • 由 Oracle Spatial 函数使用
  • 必须大于零
  • 对于大地数据,单位为米;否则由数据的坐标系指定。

大于 0 的值(有关所有这些值的信息,请参阅《Oracle Spatial 用户指南》。)

仅适用于 Oracle Spatial

SDO_UB_1 SDO_UB_2 SDO_UB_3 SDO_UB_4

  • Oracle Spatial 几何类型的维度上限
  • 由 Oracle Spatial 函数使用
  • 必须大于零
  • 对于大地数据,单位为度;否则由数据的坐标系指定。
  • 基于要加载的数据范围的默认值
  • 对于包含大地测量 SAID 的 Oracle9i 数据,SDO_UB_1 必须为 180,SDO_UB_2 必须为 90

比相应 SDO_LB 值大的值(有关所有这些值的信息,请参阅《Oracle Spatial 用户指南》。)

仅适用于 Oracle Spatial

SESSION_INDEX

基于 ArcSDE 会话的日志文件索引和独立日志文件索引的存储定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

SESSION_STORAGE

基于 ArcSDE 会话的日志文件表和独立日志文件表的存储定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

ST_GEOM_LOB_STORAGE

控制 ST_Geometry 对象的 SHAPE.POINTS 列的存储方式

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

有关存储 LOB 的详细信息,请参阅 Oracle 中地理数据库的 BLOB 数据存储

ST_INDEX_PARTITION_LOCAL

指定已分区表的 sde.st_spatial_index 是作为全局索引还是局部索引进行创建(FALSE 表示 st_spatial_index 将作为全局索引创建;TRUE 指定空间索引将作为局部索引创建。)

TRUE 或 FALSE

仅适用于包含 ST_Geometry 列的已分区业务表

STATES_INDEX

STATES 表的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

STATES_LINEAGES_TABLE

STATE_LINEAGES 表的存储方式定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

STATES_TABLE

STATES 表的存储方式定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

UI_NETWORK_TEXT

用户界面参数,用于指示将在 ArcGIS 用户界面中显示的相关配置关键字;包括网络配置的描述

描述不能超过 8000 个字符

UI_TERRAIN_TEXT

用户界面参数,用于指示将在 ArcGIS 用户界面中显示的相关配置关键字;包括 terrain 配置的描述

描述不能超过 8000 个字符

UI_TEXT

用户界面参数,用于指示将在 ArcGIS 用户界面中显示的相关配置关键字;包含相关的非复合配置关键字的描述

描述不能超过 8000 个字符

UI_TOPOLOGY_TEXT

用户界面参数,用于指示将在 ArcGIS 用户界面中显示的相关配置关键字;包括拓扑配置的描述

描述不能超过 8000 个字符

UNICODE_STRING

确定是否使用 Unicode 文本类型(如果设置为 TRUE,将使用与 UNICODE 兼容的数据类型存储字符字段。例如,如果将 UNICODE_STRING 参数设置为 FALSE,则字符串数据类型将为 VARCHAR2。如果将 UNICODE_STRING 设置为 TRUE,则字段的数据类型将为 NVARCHAR2。)

TRUE 或 FALSE

VERSIONS_INDEX

VERSIONS 表索引的存储方式定义

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

VERSIONS_TABLE

VERSIONS 表的存储方式定义

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

XML_COLUMN_STORAGE

用于指定要创建的 XML 列的类型:ArcSDE XML 类型或原生 DBMS XML 类型

SDE_XML or DB_XML

XML_DOC_INDEX

sde_xml_doc<n> 表中 xmldoc<n>_pk 索引和 xml_doc<n>_ix 索引的存储子句

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

XML_DOC_LOB_STORAGE

sde_xml_doc<n> 表中 xml_doc 列的 XML 文档的存储和访问信息

有关 LOB 存储参数的信息,请参阅 Oracle 文档。

有关存储 LOB 的详细信息,请参阅 Oracle 中地理数据库的 BLOB 数据存储

XML_DOC_MODE

XML 文档的存储类型

COMPRESSED 或 UNCOMPRESSED

XML_DOC_STORAGE

sde_xml_doc<n> 表的存储子句

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

XML_DOC_TEXT_TYPE

文档文本列的数据类型

BLOB 或 LONGRAW

ArcSDE 版本 9 之后不再使用

XML_DOC_UNCOMPRESSED_TYPE

XML_DOC_MODE 参数设置为 UNCOMPRESSED 后,XML_DOC_UNCOMPRESSED_TYPE 参数可确定 XML 文档的存储格式

由于 XML_DOC_MODE 的默认设置为 COMPRESSED,因此默认情况下 XML_DOC_UNCOMPRESSED_TYPE 参数不存在;可能的值为:CLOB 或 NCLOB

XML_DOC_VAL_LOB_STORAGE

sde_xml_doc<n> 表中 xml_doc_val 列的 XML 文档内容的存储方式和访问信息

有关 LOB 存储参数的信息,请参阅 Oracle 文档。

有关存储 LOB 的详细信息,请参阅 Oracle 中地理数据库的 BLOB 数据存储

XML_IDX_INDEX_DOUBLE

sde_xml_idx<n> 表中 double_tag 列的 xmlix<n>_db 索引的存储子句

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

XML_IDX_INDEX_ID

xml_idx<n> 表中 ID 列的 xmlix<n>_id 索引的存储子句

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

XML_IDX_INDEX_PK

sde_xml_idx<n> 表中 xml_key_column 标识列的 xmlix<n>_pk 索引的存储子句

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

XML_IDX_INDEX_STRING

sde_xml_idx<n> 表中 string_tag 列的 xmlix<n>_st 索引的存储子句

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

XML_IDX_INDEX_TAG

sde_xml_idx<n> 表中 tag_id 列的 xmlix<n>_tg 索引的存储子句

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

XML_IDX_INDEX_TEXT

XML 索引创建参数(请参阅《Oracle Text 参考指南》(Oracle Text Reference Guide)。)

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

XML_IDX_STORAGE

sde_xml_idx<n> 表(XML 列的索引表)的存储子句

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

XML_IDX_TEXT_TAG_STORAGE

sde_xml_idx<n> 表(XML 列的索引表)中 text_tag 列内容的存储方式和访问信息(如果默认情况下未指定任何值或未指定 DISABLE STORAGE IN ROW,则此 LOB 数据将存储在行内。)

<无任何值>、ENABLE STORAGE IN ROW 或 DISABLE STORAGE IN ROW

XML_IDX_TEXT_UPDATE_MEMORY

构建和更新文本索引时使用的内存量,例如,2M 表示将分配 2 MB 的内存

一个大于 0 且小于以 MB(使用 M 表示)为单位的可用 RAM 量的整数(有关建议的设置,请参阅 Oracle 文档。)

XML_IDX_TEXT_UPDATE_METHOD

Oracle Text 索引更改追踪方法:

  • NONE - 通过运行 Oracle Text 包手动更新(默认值)
  • BUFFERED - 关闭流时更新 ArcSDE
  • IMMEDIATE - 插入或更新行时更新 ArcSDE

NONE、BUFFERED 或 IMMEDIATE

XML_INDEX_TAGS_INDEX

sde_xml_indexes 表的 xml_indextags_pk 索引的存储子句

有关 CREATE INDEX 参数的信息,请参阅 Oracle 文档。

XML_INDEX_TAGS_TABLE

sde_xml_index_tags 表的存储子句,以及 tag_name 列和 tag_alias 列中相应的 xml_indextags_ix1 和 xml_indextags_ix2 索引的存储子句

有关 CREATE TABLE 参数的信息,请参阅 Oracle 文档。

配置参数汇总
注注:

对于 XML 参数,<n> 是指与特定 XML 列关联的 xml_column_id。

参数的功能描述

以下部分将对之前表中列出的参数进行详细解释。

业务表和索引存储参数

业务表是由 ArcSDE 客户端、sdetable 管理命令或 ArcSDE C 应用程序编程接口 (API) SE_table_create 函数创建的任意 Oracle 表。使用 DBTUNE 表的 B_STORAGE 参数可定义业务表的存储方式配置。

用于创建业务表索引的索引存储参数有五个:

  • B_INDEX_USER 参数用于保存通过 C API 函数 SE_table_create_index 和 sdetable 命令的 create_index 操作创建的用户定义索引的存储方式配置。
  • B_INDEX_ROWID 参数用于保存 ArcSDE 对注册表中 ObjectID 列(通常称为 ROWID 或 OBJECTID 列)创建的索引的存储方式配置。
  • B_INDEX_SHAPE 参数用于保存向业务表添加空间列时 ArcSDE 创建的空间列索引的存储方式配置。此索引由 ArcSDE C API 函数 SE_layer_create 创建。ArcGIS 在创建要素类时,会使用 sdelayer 命令的添加操作调用此函数。
  • B_INDEX_RASTER 参数用于保存向业务表添加栅格列时 ArcSDE 创建的栅格列索引的存储方式配置。此索引由 ArcSDE C API 函数 SE_rastercolumn_create 创建。ArcGIS 在创建要素类时,会使用 sderaster 命令的添加、复制和导入操作调用此函数。
  • B_INDEX_TO_DATE 参数用于指定索引 R<registration_id>_sde_todate 的存储方式。此索引是在对业务表进行存档时创建的,并且在执行存档操作期间更新历史记录表时会使用此索引。
注注:

ArcSDE 会对它所创建的所有表进行注册。通过 sdetable 或 sdelayer 命令也可以注册不是由 ArcSDE 创建的表。TABLE_REGISTRY 系统表中保存着一系列当前已注册的表。

A 表和 D 表存储参数

将业务表或要素类注册为版本化业务表或要素类,从而允许多个用户维护和编辑同一个对象。ArcSDE 会为注册版本的每个表创建两个表,即添加表和删除表。

每过一段适当的时间间隔,用户就会合并他们所做的更改和其他用户所做的更改,并协调修改相同要素时产生的所有冲突。

A 表参数

A_STORAGE 参数维护 A 表的存储配置。A 表的名称为 A<n>,其中 <n> 是在 TABLE_REGISTRY 系统表中列出的注册 ID。例如,如果业务表 ROADS 使用注册 ID 10 列出,则 ArcSDE 将创建名为 A10 的 A 表。

另外,还有五个存储参数,用于保存 A 表索引的存储方式配置:

  • A_INDEX_RASTER 参数指定为 A 表中栅格列创建的索引的存储配置。索引名为 SDE_RIX_<N>_A。其中 <N> 是栅格列的 ID。
  • A_INDEX_ROWID 参数用于保存 ArcSDE 对多版本化状态 ID 和 ObjectID(也称为 ROWID)列创建的索引的存储配置。A 表 ROWID 索引的名称为 A<n>_PK,其中 <n> 是业务表的注册 ID,业务表使用该 ID 与 A 表建立关联。
  • A_INDEX_STATEID 参数用于保存 ArcSDE 为 A 表中 SDE_STATE_ID 列创建的索引的存储配置。SDE_STATE_ID 列索引称为 A<n>_STATE_ID_IX1,其中 <n> 是业务表的注册 ID,业务表使用该 ID 与 A 表建立关联。
  • A_INDEX_SHAPE 参数保存 ArcSDE 为 A 表中空间列创建的索引的存储配置。如果业务表中包含空间列,则会在 A 表中复制空间列及其索引。A 表的空间列索引称为 A<n>_IX1_A,其中 <n> 是在 LAYERS 表中列出要素类时所用的图层 ID。
  • A_INDEX_USER 参数用于保存 ArcSDE 为 A 表创建的用户定义索引的存储配置。业务表中用户定义的索引在 A 表中可重复。

D 表参数

D_STORAGE 参数保存 D 表的存储配置。D 表的名称为 D<n>,其中 <n> 是在 TABLE_REGISTRY 系统表中列出 D 表时所用的注册 ID。例如,如果业务表 ROADS 使用注册 ID 10 列出,则 ArcSDE 将创建名为 D10 的 D 表。

另外,还有两个存储参数,用于保存 ArcSDE 为 D 表创建的索引的存储配置。D_INDEX_STATE_ROWID 参数用于保存 ArcSDE 为 D 表中 SDE_STATE_ID 和 SDE_DELETES_ROW_ID 列创建的 D<n>_IDX1 索引的存储配置。D_INDEX_DELETED_AT 参数用于保存 ArcSDE 为 D 表中 DELETED_AT、SDE_DELETES_ROW_ID 和 SDE_STATE_ID 列创建的 D<n>_PK 索引的存储配置。

有关 A 表和 D 表的结构以及使用方式的详细信息,请参阅 Oracle 中地理数据库 (geodatabase) 内的版本化表

空间索引与要素表参数

使用 ST_Geometry 存储方式创建的具有空间索引的要素类会在 Oracle 数据库中创建另一个表。此空间索引表的名称为 S<n>_IDX$,其中 <n> 是该表的几何索引值。可通过查询 SDE.ST_GEOMETRY_COLUMNS 表来获取该值。此空间索引表被创建为 Oracle 索引组织表 (IOT)。通过企业管理器查看时,ST_Geometry 属性的空间索引显示为 A<n>_IX1。值 <n> 表示存储在 LAYERS 表中的 LAYER_ID 值。

如果创建包含 ST_Geometry 列的分区业务表,您还可能希望对空间索引进行分区。分区方法有如下两种:全局和局部。默认情况下,将对已分区业务表创建全局分区索引。要创建局部分区索引,则必须在 CREATE INDEX 语句的末尾添加关键字 LOCAL。为使 ArcGIS 能够在空间索引的 CREATE INDEX 语句末尾添加 LOCAL,请在 DEFAULTS 关键字下将 ST_INDEX_PARTITION_LOCAL 设置为 TRUE。

但如果未对包含 ST_Geometry 列的业务表进行分区,则将 ST_INDEX_PARTITION_LOCAL 设置为 TRUE 时会收到以下错误消息:

ORA-14016: underlying table of a LOCAL partitioned index must be partitioned

使用 ArcSDE 压缩二进制存储(LONG RAW 或 BLOB 数据类型)格式创建的要素类会向 Oracle 数据库添加两个表 - 要素表和空间索引表。空间索引表将创建为 S<n>,其中 <n> 是空间索引表中要素类的图层 ID,该值可在 LAYERS 表中找到。将对要素表创建三个索引,对空间索引表创建两个索引。适用于空间索引的配置参数通常以 S_ 开头。

这些表和索引的存储参数与业务表中 B_STORAGE 和 B_INDEX_* 存储参数的用法相同。S_STORAGE 参数用于保存空间索引表及其 ST_Geometry 和二进制存储类型的索引的 Oracle CREATE TABLE 存储配置。S_INDEX_ALL 参数只适用于二进制存储类型,可保存空间表中第一个索引的 Oracle CREATE INDEX 存储配置。空间索引将创建为 S<n>_IX1,其中 <n> 是索引的要素类的图层 ID,该值可在 LAYERS 表中找到。

如果对要素类使用的是二进制存储类型,则 S_INDEX_SP_FID 参数将保存空间表中第二个索引的 Oracle CREATE INDEX 存储配置。空间索引将创建为 S<n>_IX2,其中 <n> 是索引的要素类的图层 ID,该值可在 LAYERS 表中找到。

仅当使用二进制存储类型时要素类参数才适用。这些参数以 F_ 开头。

  • F_STORAGE 参数保存要素表的 Oracle CREATE TABLE 存储配置字符串。要素表将创建为 F_<n>,其中 <n> 是表的要素类的图层 ID,该值可在 LAYERS 表中找到。
  • F_INDEX_FID 参数保存要素表中空间列索引的 Oracle CREATE INDEX 存储配置字符串。空间列索引将创建为 F<n>_UK1,其中 <n> 是索引的要素类的图层 ID,该值可在 LAYERS 表中找到。
  • F_INDEX_AREA 参数保存要素表中面积列索引的 Oracle CREATE INDEX 存储配置。空间列面积索引将创建为 F<n>_AREA_IX2,其中 <n> 是索引的要素类的图层 ID,该值可在 LAYERS 表中找到。
  • F_INDEX_LEN 参数保存要素表中长度列索引的 Oracle CREATE INDEX 存储配置。空间列长度索引将创建为 F<n>_LEN_IX3,其中 <n> 是索引的要素类的图层 ID,该值可在 LAYERS 表中找到。

栅格表和索引存储参数

添加到业务表的栅格列实际上是对存储在包含四个表和五个支持索引的方案中的栅格数据的外键引用。栅格表参数定义栅格表和索引的配置。

RASTER_STORAGE 参数定义用于存储栅格数据的数据类型。包括的选项有 BLOB、LONG RAW、SDO_GEORASTER 或 ST_Raster。ST_Raster 和 SDO_GEORASTER 类型可通过 SQL 访问。

警告警告:

请勿对新数据使用 LONG RAW 存储类型,因为在以后的版本中 Oracle 可能不再支持此数据类型。虽然 LONG RAW 仍可用,但最好不要使用它,如果一定要使用 LONG RAW,最终必须将其迁移到其他存储类型。

如果想对数据库中的大部分栅格列使用相同的栅格数据存储格式,在 DEFAULTS 配置关键字下设置一次 RASTER_STORAGE 参数即可。例如,要将默认设 RASTER_STORAGE 从 BLOB 更改为 SDO_GEORASTER,应进行以下更改:

## DEFAULTS RASTER_STORAGE "SDO_GEORASTER" <other parameters> END

RASTER_STORAGE 参数将取代 RASTER_BINARY_TYPE,RASTER_BINARY_TYPE 仍可继续使用但不再受支持。

RAS_STORAGE 参数保存 RAS 表的 Oracle CREATE TABLE 的存储配置。

RAS_INDEX_ID 参数保存 RAS 表索引的 Oracle CREATE INDEX 的存储配置。

BND_STORAGE 参数保存 BND 表的 Oracle CREATE TABLE 的存储配置。

BND_INDEX_COMPOSITE 参数保存 BND 表中复合列索引的 Oracle CREATE INDEX 的存储配置。

BND_INDEX_ID 存储参数保存 BND 表中行 ID (RID) 列索引的 Oracle CREATE INDEX 的存储配置。

AUX_STORAGE 参数保存 AUX 表的 Oracle CREATE TABLE 的存储配置。

AUX_INDEX_COMPOSITE 参数保存 AUX 表索引的 Oracle CREATE INDEX 的存储配置。

BLK_STORAGE 参数保存 BLK 表的 Oracle CREATE TABLE 的存储配置。

BLK_INDEX_COMPOSITE 参数保存 BLK 表索引的 Oracle CREATE TABLE 的存储配置。

ArcSDE 为 Oracle 提供四种栅格数据存储格式。RASTER_STORAGE 参数指定使用的几何存储方法。RASTER_STORAGE 参数具有以下值:

  • BLOB
  • ST_RASTER
  • SDO_GEORASTER
  • LONGRAW
注注:

在以后版本的 Oracle 中,可能不再支持 LONG RAW 数据类型,因此,不要对新栅格数据使用这种类型。

有关地理数据库中栅格数据存储方式的详细信息,请参阅存储在 Oracle 中的地理数据库 (geodatabase) 内的栅格数据集和栅格目录

还有另一类栅格表,即栅格属性表。此表(或这些表;可以存在多个此类表)存储栅格像元值的属性值。B_STORAGE 参数定义这些表的存储方式。如果需要为这些表定义不同于其他要素类业务表的存储位置,请确保创建一个可在创建栅格数据集和栅格目录时使用的栅格关键字(该关键字指定栅格属性表的各种存储信息)。

要了解有关栅格属性表的详细信息,请参阅栅格数据集属性表。要了解有关自定义配置关键字的信息,请参阅自定义配置关键字

几何存储参数

ArcSDE for Oracle 提供了五种空间数据存储格式。GEOMETRY_STORAGE 参数指定使用的几何存储方法。应在 DEFAULTS 配置关键字中设置 GEOMETRY_STORAGE 参数以反映创建大部分要素类时将使用的几何存储类型。GEOMETRY_STORAGE 参数具有以下可能的值:

  • ST_Geometry for Oracle - 此类型将扩展数据库以包括 ST_GEOMETRY 数据类型。如果要以此种格式来存储空间数据,请将 GEOMETRY_STORAGE 参数设置为 ST_GEOMETRY。(从 ArcSDE 9.3 开始,如果未设置 GEOMETRY_STORAGE 参数,则假定使用 ST_GEOMETRY 格式。)
  • 存储为 BLOB 数据类型的 ArcSDE 压缩二进制

    如果要以此种格式来存储空间数据,请将 GEOMETRY_STORAGE 参数设置为 SDELOB。如果要将此格式设置为默认格式,请在 DEFAULTS 配置关键字下将 GEOMETRY_STORAGE 参数设置为 SDELOB。

  • ArcSDE 压缩二进制 - 如果要以存储为 LONG RAW 的压缩二进制格式存储空间数据,请将 GEOMETRY_STORAGE 参数设置为 SDEBINARY。
    注注:

    Oracle 的未来版本可能会弃用 LONG RAW 存储类型。因此,建议不要对新要素类采用 SDEBINARY 存储。要将现有要素类从 LONG RAW 迁移到 BLOB 或 ST_GEOMETRY,请参阅使用“迁移存储”地理处理工具将栅格列迁移到 ST_Raster 类型

  • Oracle Spatial 几何类型 - 此对象关系存储类型将扩展数据库模型以将 SDO_GEOMETRY 类型包括在 Oracle DBMS 中。

    如果要以此种格式来存储空间数据,请将 GEOMETRY_STORAGE 参数设置为 SDO_GEOMETRY。如果要将此格式设置为默认格式,请在 DEFAULTS 配置关键字下将 GEOMETRY_STORAGE 参数设置为 SDO_GEOMETRY。

  • OGC 熟知二进制 (WKB) 几何类型 - 这种存储类型将几何表示为连续的字节流形式。OGCWKB 表示仅支持简单 2D 几何。

    如果您要以这种格式来存储空间数据,请将 GEOMETRY_STORAGE 参数设置为 OGCWKB。如果您要将此格式设置为默认格式,请在 DEFAULTS 配置关键字中将 GEOMETRY_STORAGE 参数设置为 OGCWKB。

注注:

ArcSDE for Oracle (Windows) 程序包括多个版本的 dbtune 文件;每个文件分别在 DEFAULTS 关键字中指定一种不同的几何存储类型。如果要安装新的 ArcSDE for Oracle(而不是升级数据库)并且希望默认几何存储类型是 ST_GEOMETRY 之外的其他类型,则可在安装后设置过程中使用某个替代版本的文件来填充 DBTUNE 表。

XML 参数

注注:

如果您在地理数据库中不使用 XML 列和 XML 文档,则无需对这些参数进行配置。

XML_COLUMN_STORAGE 参数会确定是以 ArcSDE XML 方式,还是以本机 Oracle XML 方式创建 XML 列。默认设置为使用 ArcSDE XML (SDE_XML)。

XML 列可以具有两个与其相关联的文本索引:一个用于 XML 文档表,另一个用于 XML 索引表。要成功创建 XML 列,XML_IDX_INDEX_TEXT 参数必须具有合适的值。创建 XML 列的上下文文本索引时 PARAMETERS 子句将使用该值。XML_IDX_INDEX_TEXT 参数的相应值与用于创建其他类型索引的 DBTUNE 参数的值不同。PARAMETERS 子句中的值控制文本索引的存储参数、在 XML 文档中建立索引和搜索文本时用于进行语言分析的语言、更新文本索引计划以及特定于文本索引的其他设置。

XML 文档以大对象 (LOB) 形式存储在 XML 文档表的 XML_DOC 和 XML_DOC_VAL 列中以及 XML 索引表的 TEXT_TAG 列中。要获得最佳搜索性能,准确配置这些列很重要。如果 LOB 数据与行中的其他数据存储在同一块中,则将行内存储 LOB。但是,只有 LOB 数据大小小于 4 KB 时才能进行行内存储。对于行外存储,将以 LOB 段的形式存储数据,且仅 LOB 定位器与其余数据一同存储在行内。

可以使用 ArcSDE DBTUNE 参数 XML_DOC_LOB_STORAGE 和 XML_DOC_VAL_LOB_STORAGE 以及 XML_IDX_TEXT_TAG_STORAGE 来指定是将与 XML 列关联的 LOB 数据存储在行内还是行外。可追加值“DISABLE STORAGE IN ROW”以在行外存储数据,或追加值“ENABLE STORAGE IN ROW”以在行内存储数据。

对 XML 列行外存储 LOB 数据时,默认情况下,ArcSDE 会将数据存放到 XML 文档表所在的表空间中。另外,可以将 LOB 数据移动到不包含 XML 文档表的其他表空间中。

包含描述 GIS 资源的元数据的典型 XML 文档将大于 4 KB。测试表明当在不包含 XML 文档表的表空间中行外存储 LOB 数据时,与 ArcIMS 元数据服务关联的 XML 列性能最佳。但是,元数据服务可能包含地名词典数据而非典型的元数据 XML 文档。地名词典数据非常小,通常小于 100 个字节。行内存储 LOB 数据时包含地名词典数据的元数据服务会达到最佳性能。有关配置 ArcSDE XML 列以供地理数据库中的元数据服务使用的信息,请参阅将 Oracle 数据库配置为支持 ArcSDE XML 列

日志文件表参数

日志文件表由 ArcSDE 使用,用于维护所选记录的集合。

日志文件参数将对日志文件数据表和索引产生影响。它们以字母 L 或单词 SESSION 开头。参数如下:

  • LF_STORAGE 定义 LOGFILES 表的配置。
  • LF_INDEXES 用于配置 LOGFILES 表中 logfiles_pk 与 logfiles_uk 索引的创建方式。
  • LD_STORAGE 定义 LOGFILE_DATA 和 LOGPOOL_<SDE_ID> 表的配置。
  • LD_INDEX_ROWID 用于配置 LOGFILE_DATA 表中 LOGFILE_DATA_idx1 索引以及 LOGPOOL_<SDE_ID> 池表中 LOGPOOL_<SDE_ID>_idx1 索引的创建方式。
  • LD_INDEX_DATA_ID 用于配置 LOGFILE_DATA 表中 LOGFILE_DATA_idx2 索引以及 LOGPOOL_<SDE_ID> 表中 LOGPOOL_<SDE_ID>_idx1 索引的创建方式。
  • SESSION_STORAGE 定义独立日志表的 LOGDATA_<SDE_ID>_<Current_standalone_id> 和会话表的 SESSION_<sde_id> 的配置。
  • SESSION_INDEX 配置独立日志表中 LOGDATA_<SDE_ID>_<sde_id>_<Current_standalone_id>_idx1 索引以及会话表中 LOGSESSION_<SDE_ID>_idx1 索引的创建方式。
  • Oracle 数据库中不使用 SESSION_TEMP_TABLE。

有关如何在地理数据库中使用日志文件表的详细信息,请参阅有关 Oracle 的 ArcSDE 日志文件表配置选项

用户界面参数

用户界面参数以 UI 开头,用于指示其关联配置关键字在 ArcGIS 用户界面和 ArcObjects 中是否可用。UI_TEXT 用于非复合配置关键字。UI_TOPOLOGY_TEXT 用于拓扑关键字。UI_TERRAIN_TEXT 用于 terrain 关键字。UI_NETWORK_TEXT 用于网络关键字。有关如何使用 UI 参数的详细信息,请参阅使配置关键字在 ArcGIS 中可用

其他参数

某些也可在 DBTUNE 表中设置的参数包括:

COMPRESS_ROLLBACK_SEGMENT 参数

定期压缩版本化数据库的状态树是必须执行的维护过程。

压缩操作的事务往往比较大;如果使用的是 Oracle 手动撤消方法,ESRI 建议您创建一个较大的独立回滚段以包含更改内容。COMPRESS_ROLLBACK_SEGMENT 存储参数用于存储为此创建的回滚段的名称。应将 COMPRESS_ROLLBACK_SEGMENT 存储参数添加到 DEFAULTS 配置关键字中。

从 Oracle 10g 开始,Oracle 建议不要再使用手动撤消方法。有关详细信息,请参阅随 Oracle 10g 安装提供的文档。

ATTRIBUTE_BINARY 参数

ArcSDE 可定义用于以 LONG RAW 或 BLOB 形式存储二进制数据的属性列。建议的默认设置设置为 BLOB。

如果通过 sdedbtune 管理工具导入 dbtune 文件时未在 DEFAULTS 配置关键字下设置存储参数,则 ArcSDE 将在 DEFAULTS 配置关键字下插入 ATTRIBUTE_BINARY 存储参数且将配置字符串设置为 BLOB。

注注:

在 ArcSDE 9.2 之前的产品中,LONGRAW 是 ATTRIBUTE_BINARY 参数的默认值。将现有 ArcSDE 地理数据库升级到 9.2 或后续版本后,该值在 DBTUNE 表中不会发生变化。要将 BLOB 设为二进制属性列的默认数据类型,必须手动将 DEFAULTS ATTRIBUTE_BINARY 参数更改为 BLOB。进行此更改后,通过 DEFAULTS 关键字创建的新要素类将对二进制列使用 BLOB。要将现有数据中的属性列从 LONG RAW 迁移到 BLOB,请参阅使用 ArcSDE 命令迁移 Oracle 中的 LONG RAW 属性列迁移存储

如果使用的是要素类制图表达,则必须使用 ATTRIBUTE_BINARY 参数已设置为 BLOB 的配置关键字创建要素类。如果已将 DEFAULTS ATTRIBUTE_BINARY 值设置为 LONGRAW,则必须创建用户在创建包含制图表达类的要素类时可指定的其他配置关键字。

例如,可以按如下方式添加配置关键字 REPRESENTATIONS:

##REPRESENTATIONS ATTRIBUTE_BINARY   BLOB UI_TEXT    "Configuration keyword used to create feature classes  containing representation classes" END

有关自定义关键字的详细信息,请参阅自定义配置关键字。如果创建要素类时使用的配置关键字将 ATTRIBUTE_BINARY 参数设置为 LONGRAW 且创建了多个制图表达,则会返回一条错误消息:

Unable to create the representation. Underlying DBMS error.

发生这种情况的原因是每次添加新制图表达类时,会向要素类的业务表添加两个新字段 - 一个是 LONG RAW,一个是 BLOB。Oracle 中的表不能包含多个 LONG RAW 字段,因此添加第二个 LONG RAW 字段时操作将失败。

UNICODE_STRING 参数

UNICODE_STRING 参数指定文本列是以 VARCHAR2(非 Unicode)数据类型还是 NVARCHAR2 (Unicode) 数据类型存储。

有关 Unicode 数据的描述,请参阅 Unicode 概述

注释

可在需要时通过添加一行以单个井号 (#) 开头的文本以在 dbtune.sde 文件中添加 COMMENT 参数。创建自己的自定义关键字并且希望添加关于使用关键字的方法或时间的注释时,可执行此操作。例如,可以为用户的日志文件关键字添加如下所示的注释:

#COMMENT		"This keyword is used by ArcSDE to create log file tables for all users logged in as editor"


7/10/2012