Oracle 中检查器工作空间的日志文件表配置
在 ArcGIS 中,默认情况下,如果选择集包含 100 或 100 条以上记录,则会使用日志文件表。ArcMap 或任何执行选择集的应用程序(如在 ArcMap 之上运行的 ArcGIS Data Reviewer for Desktop)会使用这些日志文件表。ArcSDE 使用日志文件表跟踪大量的选择,而不会将其记录在内存中。对“检查器”表中的记录进行排序、选择或更新时同样适用。
使用检查器工作空间中的结果时,最好了解日志文件表配置选项,以便能够选择满足您数据库需求的正确选项。有四个不同的 ArcSDE 日志文件选项:共享的日志文件、基于会话的日志文件、独立的日志文件,以及由基于会话的或独立的日志文件组成的池。
Oracle 的默认 ArcSDE 日志文件表配置使用共享的 ArcSDE 日志文件。
在大多数情况下,数据库管理系统 (DBMS) 的默认 ArcSDE 日志文件表配置应足以满足需要,并且使用推荐的设置。
建议您将日志文件表存储在单独的表空间。通过在 SERVER_CONFIG 和 DBTUNE 表中设置特定参数可实现上述操作。
创建日志文件表空间
使用以下语句在 Oracle SQL Plus 或 Oracle SQL Developer 中创建日志文件表空间。
CREATE SMALLFILE TABLESPACE sdelogfile
DATAFILE 'D:\oracle\ORADATA\REVDB\SDE\sdelogfile01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 100M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE SMALLFILE TABLESPACE sdelogfileidx
DATAFILE 'D:\oracle\ORADATA\REVDB\SDE\sdelogfileidx01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 100M
LOGGING EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K
SEGMENT SPACE MANAGEMENT AUTO
DEFAULT COMPRESS FOR OLTP STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
更改 DBTUNE 日志文件参数
在创建数据文件之后,修改 DBTUNE 表以加入新的配置关键字。根据此新关键字,数据和数据库对象将存储在之前定义的表空间位置中。DBTUNE 表存储在 Oracle 中的 sde 用户下。要修改 DBTUNE 表,有必要将 DBTUNE 表导出至文本文件中,并在文本文件中进行修改。在对文本文件进行更新后,从文本文件中导入新的 DBTUNE 表。
如果您只在您的站点上使用直接连接,那么您可能尚未安装 ArcSDE。需要安装 ArcSDE,如果尚未安装,则应获取 sdedbtune 和 sdeconfig 工具。
- 通过命令行导出 DBTUNE 表。
sdedbtune -o export -f dbtune_logfile.sde -u sde -p sde -i sde:oracle11g:revdb
- 在文本编辑器中修改 dbtune_logfile.sde ##LOGFILE_DEFAULTS 配置关键字。
##LOGFILE_DEFAULTS LD_INDEX_DATA_ID "PCTFREE 0 INITRANS 4 TABLESPACE SDELOGFILEIDX NOLOGGING " LF_INDEXES "PCTFREE 0 INITRANS 4 TABLESPACE SDELOGFILEIDX NOLOGGING " LF_STORAGE "PCTFREE 0 INITRANS 4 TABLESPACE SDELOGFILE" SESSION_INDEX "PCTFREE 0 INITRANS 4 TABLESPACE SDELOGFILEIDX NOLOGGING " SESSION_TEMP_TABLE 0 SESSION_STORAGE "PCTFREE 0 INITRANS 4 TABLESPACE SDELOGFILE" LD_STORAGE "PCTFREE 0 INITRANS 4 TABLESPACE SDELOGFILE " LD_INDEX_ROWID "PCTFREE 0 INITRANS 4 TABLE PACE SDELOGFILEIDX NOLOGGING " END
- 通过命令行导出修改后的 dbtune_logfile.sde 文件。
sdedbtune -o export -f dbtune_logfile.sde -u sde -p sde -i sde:oracle11g:revdb
创建日志文件表
.sde 日志文件表可通过执行大型选择在 ArcMap 中创建。
- 在 OEM 中授予 ArcSDE 编辑器/查看器用户对 SDELOGFILE 和 SDELOGFILEIDX 的 QUOTA 权限。
ALTER USER <user_name> QUOTA UNLIMITED ON "SDELOGFILE"; ALTER USER <user_name> QUOTA UNLIMITED ON "SDELOGFILEIDX";
- 授予 ArcSDE 编辑器/查看器用户 CREATE TABLE 权限。
- Start ArcMap.
- 选择 100 多个要素。
这将自动创建日志文件表。
- 根据需要撤销 CREATE TABLE 权限。