当前位置:文档之家› SDE性能调优方案

SDE性能调优方案

ArcSDE 9.1性能调优方案编写:李国勇日期: 2006-11-27版本: 1.0密级:内部公开北京恒华伟业科技有限公司第一章概述影响ArcSDE运行性能的因素比较多,对其性能的优化需要根据具体情况而定。

总体上说,对ArcSDE性能影响较大的因素是:服务器硬件配置、Oracle参数配置、ArcSDE 参数配置和图层管理模式。

服务器硬件配置包括:CPU主频、物理内存大小、系统总线速度、硬盘数量、磁盘寻道时间等,硬件配置参数不是本文的重点讨论内容。

Oracle参数配置包括表空间的组织和缓冲参数配置;ArcSDE参数配置包括存储参数配置和缓冲参数配置。

本调整方案主要针对输配电GIS系统,不一定适合其它行业。

本优方案所有参数基于ArcSDE 9.1、Oracle 9.2。

1.1 总论一.性能调优的重点在Oracle,而不在ArcSDE,一般情况下,调整ArcSDE各种参数对性能提升作用不大,ArcSDE使用安装时的默认参数即可;二.小数据量(图层数据总量小于1G存储空间)下,优化SDE的存储的优化对性能的提升不大,ArcSDE的四个频繁访问的系统表没有必要分开存储;三.小数据量(图层数据总量小于1G存储空间)下,用户数据存储于SDE用户下对性能的影响也不大,但是出于数据库管理的考虑,建议尽可能将这两类数据分开存储;四.对于输配电GIS系统,数据库db_block_size设置为8KB完全满足使用要求,没有必要调整到16KB;五.如果图层中单个图形元素覆盖范围差异不大,没有必要建立多级Grid Index,而且一般情况下默认Grid Index设置即可满足多数情况下的性能需求;六.如果注册了版本,建议定期对数据库进行Compress和Analyse,同时要确保undo 表空间有足够可用空间(如1G);七.定期对磁盘做碎片整理,以提升磁盘I/0性能。

1.2 参考文献1.ArcSDE 9.1 Configuration and Tuning Guide for Oracle® -- ESRI 2005;2.Managing ArcSDE 9.1 Application Servers -- ESRI 2005;3.Cost Control: Inside the Oracle Optimizer -- Oracle Donald K. Burleson。

/oramag/webcolumns/2003/techarticles/burleson_cbo_pt1.htmlArcSDE 9.1性能调整方案第二章 Oracle参数调整2.1 Oracle存储调整1.确保Oracle的UNDOTBS表空间足够大,以保证ArcSDE对数据进行Compress 和Analyse时的性能,该表空间不低于200M,建议分配1G,添加第二个数据文件(初始大小200M),并使其自动增长(第一个数据文件不自动增长),每次增长50M,设定表空间大小最高限额,以确保磁盘有30%的可用空间;2.确保Oracle的TEMP表空间足够大,以便Oracle对数据进行临时排序有足够的空间,该表空间不低于200M,建议分配500M(具体值应视情况而定,很难给出一个准确值),自动增长,每次增长50M,设定表空间大小最高限额,以确保磁盘有30%的可用空间;3.确保Oracle的SYSTEM表空间足够大,以确保Oracle数据字典的存储空间,建议分配800M,自动增长,每次增长50M,设定表空间大小最高限额,以确保磁盘有30%的可用空间;4.DRSYS表空间初始大小200M,自动增长,每次增长10M,设定表空间大小最高限额,以确保磁盘有30%的可用空间;5.将Oracle系统文件和数据文件分开存储,如将Oracle安装在C盘,建立数据库时数据文件置于D盘(注意:建立数据库时不要直接在数据文件组修改表空间数据文件的存储位置,在表空间组中修改文件的存储位置,控制文件的存储位置可以直接修改);6.所有Oracle的其它数据文件均需设置大小最高限额,确保磁盘有30%的可用空间,以便能够顺利对磁盘做碎片整理;注:(1)数据文件大小的最高限额根据各文件的增长情况及硬盘可用空间大小确定,本文提到的硬盘可用空间均指某硬盘分区而不是整个硬盘的可用空间;(2)设定表空间大小时一定注意和其后的单位匹配,是KB还是MB,否则将导致数据库建立时出错。

2.2 Oracle缓冲调整1.Oracle数据库建立时,参数db_block_size选择默认值8KB,建库时数据库类型选择New Database;注:该参数可以在初始化参数设置界面之数据库大小Tab页中设定,经过对已有表空间的分析,发现输配电GIS系统中电网图层及背景图层在数据库中的行记录大小一般都不超过8KB,因此无需采用ESRI建议的16KB;另外,该参数在数据库建立后不可修改,如果要设置为非默认值,建库时数据库类型要选择为Newdatabase,否则数据库能建立但无法启动,因为从安装盘复制过来的文件中的参数和新设置的参数不匹配。

再有,如果该参数设置过大,将导致表占用空间大幅增加。

2.如无需对Oracle进行Java编程等功能,安装Oracle时,注意以下几点,以减少Oracle缓冲的额外开销:北京恒华伟业科技发展有限公司 李国勇(1) 不安装标准数据库功能中的Oracle JVM 、Oracle Intermedia 、Oracle XML DB 功能; (2) 不安装数据库特性中除Oracle Spatial 外的所有特性;(3) 数据库操作模式选择专用服务器模式,同时在线用户数超过150时,选择共享服务器模式;注:如果在数据库后台用Java 编写Oracle 存储过程或触发器等程序,则需要安装Oracle JVM ;如果有商业智能应用,则需安装OLAP ,具体情况应视实际情况而定,本方案仅为建议方案。

3. 将workarea_size_policy 设置为auto ,用于配合PGA 参数的设置,如果服务器运行单实例的数据库将PRE_PAGE_SGA 设置为TRUE ; 4. 其它缓冲设置建议如下:原则1:分配给Oracle 的总内存数不应超过系统物理内存总量的70%,不应超过系统可用物理内存总量,留出至少总物理内存的10%(最好15%)供ArcSDE 使用,在此原则下越大越好。

注:预留给ArcSDE 的物理内存可以按照(n+1)*28 MB 计算,其中n 为客户端ArcSDE 连接总数(不等同于客户端的计算机总数)。

原则2:data buffer 越大越好、shared_pool_size 不超过300M 、PGA 不超过物理内存总量的16%。

Oracel 缓冲分配表 单位:MB RAM 总数shared_pool_size(共享池) data buffer (高速缓冲)PGAjava_pool_size Java 池large_pool_size大型池512 32 1283216(越小越好)1024 96 3204832(越小越好)2048 192 640968(越小越好)32(越小越好)注:根据现场运行系统的观察,配置240MB PGA 的系统,ArcSDE 在20个用户同时在线时,Oracel实际分配的PGA 最大数量不到60MB ,因此该参数没有必要设置过大。

附:内存分配计算公式:SGA = physical RAM * 2/3Data buffer = (SGA - (shared_pool_size + log_buffer)) * 0.9 db_block_buffers= data buffer / db_block_sizepga_aggregate_target (即PGA )<= total physical RAM * 0.162.3 Oracle 其它1. 安装Oracle 最新补丁,目前为9.2.0.3.0;第三章 SDE 参数调整3.1 存储调整包括SDE 系统表和用户图层存储调整两大部分。

ArcSDE 9.1性能调整方案3.1.1 存储原则1.ArcSDE系统表和用户表分开存储;SDE用户下只存储ArcSDE系统表,ArcSDE Post Setup时手工建立SDE用户及其SDE表空间,给SDE用户分配DBA权限,SDE表空间大小为200M,自动增长,每次增长50M,设定表空间大小最高限额,以确保磁盘有30%的可用空间;3.1.2 SDE系统表这些表均属于ArcSDE系统管理员用户SDE,为便于数据管理,需要将ArcSDE系统表与用户表(用户图层)分开存储,ArcSDE系统管理员用户下仅存放ArcSDE系统表,用户表(用户图层)存储于专用Oracle用户及表空间中。

ESRI建议新建两个表空间用于存放四个访问频度极高的表及其索引,但从实际试验来看(试验图形数据量占Oracle 1G存储空间),这样做对性能并没有明显的提升,因此,一般情况下可以不这样做。

这四个表是:STATES、STATE_LINEAGES、MVTABLES_MODIFIED和VERSIONS,存储表的表空间大小为70M,这里假定其名称为FASDESYSTABLES(F reqently A ccessed Arc SDE Sys tem Tables);存储索引的表空间大小为30M,这里假定其名称为IDXFASDESYSTABLES(I n d e x for Freqently Accessed ArcSDE System Tables)。

表空间均,自动增长,每次增长10M,设定表空间大小最高限额,以确保磁盘有30%的可用空间。

调整办法:用文本编辑器编辑dbtune.sde文件的DATA_DICTIONARY项内容(注:红色高亮文字在dbtune.sde中需要删除,该要求使用与本文后续所有内容):STATES_TABLE "INITRANS 4# (去掉这个“#”)TABLESPACE FASDESYSTABLESSTORAGE (INITIAL 1M)"STATES_INDEX "INITRANS 5#(去掉这个“#”)TABLESPACE IDXFASDESYSTABLESSTORAGE (INITIAL 128K) NOLOGGING"STATE_LINEAGES_TABLE "PCTFREE 0 INITRANS 4# (去掉这个“#”) TABLESPACE FASDESYSTABLESSTORAGE (INITIAL 7M)"STATE_LINEAGES_INDEX "PCTFREE 0 INITRANS 4# (去掉这个“#”)TABLESPACE IDXFASDESYSTABLESSTORAGE (INITIAL 5M) NOLOGGING"VERSIONS_TABLE "INITRANS 4# (去掉这个“#”)TABLESPACE FASDESYSTABLESSTORAGE (INITIAL 256K)"VERSIONS_INDEX "INITRANS 4# (去掉这个“#”)TABLESPACE IDXFASDESYSTABLESSTORAGE (INITIAL 128K) NOLOGGING"北京恒华伟业科技发展有限公司李国勇MVTABLES_MODIFIED_TABLE "INITRANS 4# (去掉这个“#”)TABLESPACE FASDESYSTABLESSTORAGE (INITIAL 2M)"MVTABLES_MODIFIED_INDEX "INITRANS 4# (去掉这个“#”)TABLESPACE IDXFASDESYSTABLESSTORAGE (INITIAL 2M) NOLOGGING"重要说明:不可直接修改数据库中DBTUNE表,否则可能出现意外结果,如要修改该表的内容,需按照以下步骤进行:1.利用行命令将DBTUNE表导出,导出命令为:sdedbtune –o export;2.用文本文件编辑导出的dbtune.sde文件;3.用命令行将编辑后的文件导入ArcSDE。

相关主题