Oracle 中 Workflow Manager 工作空间的日志文件表配置

在 ArcGIS 中,默认情况下,如果选择集包含 100 或 100 条以上记录,则会使用日志文件表。ArcMap 或在 ArcMap 上方运行的执行选择集的任何应用程序(如 Workflow Manager)使用这些日志文件表。ArcSDE 使用日志文件表代替内存中存储的记录追踪大型选择。这同样适用于排序、选择或更新 Workflow Manager 表中的记录情况。

当使用 Workflow Manager 工作空间中的结果时,最好了解日志文件表配置选项以便可以为数据库选择所需的正确选项。有四个不同的 ArcSDE 日志文件选项:共享的日志文件、基于会话的日志文件、独立的日志文件,以及由基于会话的或独立的日志文件组成的池。

Oracle 的默认 ArcSDE 日志文件表配置使用共享的 ArcSDE 日志文件。

在大多数情况下,数据库管理系统 (DBMS) 的默认 ArcSDE 日志文件表配置应足以满足需要,并且使用推荐的设置。

建议您将日志文件表存储在单独的表空间中。通过在 SERVER_CONFIG 和 DBTUNE 表中设置特定参数可实现上述操作。

创建日志文件表空间

使用以下语句在 Oracle SQL Plus 或 Oracle SQL Developer 中创建日志文件表空间。

CREATE SMALLFILE TABLESPACE sdelogfile
DATAFILE 'D:\oracle\ORADATA\WMXDB\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\WMXDB\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:wmxdb
    
  2. Modify the dbtune_logfile.sde ##LOGFILE_DEFAULTS configuration keyword in a text editor.
    ##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 import -f dbtune_logfile.sde -u sde -p sde -i sde:oracle11g:wmxdb
    

创建日志文件表

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. Grant CREATE TABLE permissions for the ArcSDE editor/viewer user.
  3. Start ArcMap.
  4. 选择 100 多个要素。

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

  5. Remove CREATE TABLE permissions as appropriate.
5/10/2014