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 工具。

步骤:
  1. 通过命令行导出 DBTUNE 表。
    sdedbtune -o export -f dbtune_logfile.sde -u sde -p sde -i sde:oracle11g:revdb
    
  2. 在文本编辑器中修改 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
    
  3. 通过命令行导出修改后的 dbtune_logfile.sde 文件。
    sdedbtune -o export -f dbtune_logfile.sde -u sde -p sde -i sde:oracle11g:revdb
    

创建日志文件表

.sde 日志文件表可通过执行大型选择在 ArcMap 中创建。

步骤:
  1. 在 OEM 中授予 ArcSDE 编辑器/查看器用户对 SDELOGFILE 和 SDELOGFILEIDX 的 QUOTA 权限。
    ALTER USER <user_name> QUOTA UNLIMITED ON "SDELOGFILE";
    ALTER USER <user_name> QUOTA UNLIMITED ON "SDELOGFILEIDX";
    
  2. 授予 ArcSDE 编辑器/查看器用户 CREATE TABLE 权限。
  3. Start ArcMap.
  4. 选择 100 多个要素。

    这将自动创建日志文件表。

  5. 根据需要撤销 CREATE TABLE 权限。

相关主题

9/9/2014