什么是 dbtune 文件?
dbtune 配置文件为 DBTUNE 表提供初始值。
创建 DBTUNE 表以后,可使用 dbtune 文件将新的配置关键字添加到 DBTUNE 表。
dbtune 文件最初位于 SDEHOME 的 etc 目录中。在执行 sdesetup 命令时(或者在 Windows 系统中运行“ArcSDE 安装后配置”向导时),将从该文件中读取配置参数并将其写入 DBTUNE 表。如果 dbtune 文件不存在、为空或未指定,则 DBTUNE 表将通过表示 ArcSDE 最低配置的默认配置关键字进行创建和填充。在很多情况下,使用数据库的特定存储参数来填充 DBTUNE 表。
dbtune 文件的分解图
以下示例来自于 SQL Server dbtune.sde 文件。每个数字(如下所示)对应 dbtune 文件的一个组成部分。
- 配置关键字 - 关键字在 dbtune 文件中以两个井号 (##) 开头。这些井号实际上并不是关键字的一部分;不会存储在 DBTUNE 表中。dbtune.sde 文件中的这些井号可表示 dbtune 文件中包含配置关键字的行。ArcSDE 将为系统表中的每个图层记录配置关键字(如果未指定配置关键字,将记录 DEFAULTS)。还将为地理数据库中创建的非空间表记录关键字。每当为图层或注册的表创建新对象(如索引)时,ArcSDE 都将用 DBTUNE 表中的当前参数值作为创建表时使用的关键字。例如,如果使用 sdetable –o create_index 创建列索引,ArcSDE 将返回 DBTUNE 表查阅用于创建表的存储信息,并使用该信息来创建索引。因此,在删除 DBTUNE 条目时必须要格外小心。注:
确保 dbtune 文件中的井号之间或井号和配置关键字之间没有空格。如果存在空格,ArcSDE 会将此关键字读取为上一个关键字的一部分。
- 参数名 - 参数有三种基本类型:元数据、表和索引。元数据参数定义某些类型数据的存储方式、配置关键字的环境或描述数据的注释。表参数定义数据库表的存储配置。在客户端应用程序发送 CREATE TABLE 语句时,ArcSDE 会在语句提交到数据库之前将与参数关联的配置字符串追加到 CREATE TABLE 语句。索引参数定义 DBMS 索引的存储配置。在客户端应用程序发送 CREATE INDEX 语句时,ArcSDE 会在语句提交到数据库之前将索引参数追加到该语句。
例如,如果在 SQL Server 或 Oracle 数据库中创建了一个新图层并选择 WKB_GEOMETRY 关键字,则 ArcSDE 会将 GEOMETRY_STORAGE="OGCWKB" 添加到要发送至数据库的 CREATE TABLE 语句。
有关关键字和参数的详细信息,请参阅什么是 DBTUNE 配置关键字和参数?。
- 配置字符串 - 配置字符串的值可能跨越多行。如果该值是一个实际字符串值,则必须在 dbtune 文件中用双引号括起来。布尔值或数值不需要引号。在某些数据库管理系统 (DBMS) 中,双引号之间不包含空格将表示值为空。双引号用于表示 dbtune.sde 文件中的文本值;并不是 DBTUNE 表中存储值的一部分。
配置字符串总是与参数名成对出现,并为如何在数据库中创建和存储对象提供具体的方法。
- End 关键字 - 每个参数组都必须以 END 关键字结尾。如果任何参数组的结尾缺失 END 关键字,该文件都无法加载到 DBTUNE 表。
在 dbtune 文件中可以指定任意数量的参数组。然而,组中需要存在某些特定组和特定参数名称,如果它们不存在于 dbtune.sde 文件中,则会在 DBTUNE 表中自动创建。
注释可以放置在 dbtune 文件中,并由单个井号 (#) 表示。ArcSDE 组件安装提供的默认版本 dbtune.sde 文件将包含被注释掉的行。这些行将用作某些存储参数的占位符,要使用这些行,可通过移除注释字符并对行进行编辑来实现。