下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ArcSDE for Oracle 10g内存调优实践马妮(北京北方数慧系统技术有限公司 100086) 摘 要 本文针对安装在Oracle 10g 中的ArcSDE 空间数据库的内存调优给出具体操作方法,作者对所从事的规划和国土行业的已经建立的典型ArcSDE空间数据库进行了优化,验证了方法的正确性。 关键词 性能、共享池、高速缓冲区、PGA 在GIS项目实施中,几乎每个项目都会遇到数据库的内存优化问题。Oracle数据库缺省安装时提供的初始化参数,是针对特定的OLTP或DSS的应用特点设定的,而空间数据存储和访问有别于传统类型的数据的存
2、储和访问特征,因此,Oracle数据库缺省安装设定的参数基本不能满足以空间数据访问为主要运行特征的GIS应用的要求。由于数据库的调优确实需要调优者接受过专业的训练,没有基础的人在短期内无法达到完全掌握的程度。但是接受完整的专业训练需要漫长的过程,针对这种情况,结合对正在运行的空间数据库进行性能优化的实践过程中,摸索了一些简单但不全面的关于内存调整的方法,希望能给类似的工作带来最直接而快速的帮助。文中使用的数据来自乌鲁木齐市地籍数据库调优实践。 一. Oracle 10g内存组成在Oracle 10g中影响性能的内存主要有以下七部分:1&
3、#160; 共享池(Shared Pool):是SGA(System Global Area)的一部分,主要包括SQL语句、PL/SQL过程和包、控制结构(如锁)、数据字典、并行执行消息的缓存等;2 Large Pool:是一个可选的内存区,只有在共享服务器的环境下才需要配置。包括共享服务器的会话信息、I/O服务器进程及Oralce 备份与恢复操作所需的内存等;3 Java Pool:用于所有Java代码和数据的会话所使用的内存;4 Buffer Cache:是SGA的一部分,主要缓存从数据文件读出的数据块,所有的用户进程并发连接到数据库实例,共享数据库的B
4、uffer Cache;5 Streams Pool:流操作所使用的内存;6 Log Buffer:是SGA中循环使用的内存块,用于缓存那些通过INSERT, UPDATE, DELETE, CREATE, ALTER, 或DROP操作引起变化的数据块;7 PGA(Private Global Area):PGA是包含服务器进程(Server Processes)的数据和控制信息的一块内存。当一个服务器进程启动之后,Oracle将为这个服务器进程分配一块非共享内存区。它用于排序操作(例如ORDER BY,GROUP BY,ROLLUP和windows 函数)
5、、哈希联合(Hash-join)查询、位图(Bitmap)合并、位图(Bitmap)创建和大量数据装载操作的写缓冲。 在以上内存区中,对建立在ArcSDE空间数据库之上的GIS应用的性能产生重大影响的主要有共享池(Shared Pool)、Buffer Cache和PGA。现就基于Oracle 10g给出如何调整这些内存参数的具体操作方法。 二. SGA调整(重点调整共享池、Log Buffer、Buffer Cache)在分配SGA时不仅要考虑其内部各组成部分如何分配,还需结合操作系统考虑其内存资源
6、的使用。1 操作系统内存对于操作系统的内存分配主要遵守以下原则: i. 减少页交换:使用操作系统工具检查是否存在大量的页交换。如果存在,则系统内
7、存不足,需要增加内存;反之,也说明SGA区设定的太大,需要根据实际应用对内存的需求权衡适当减小SGA区; ii. 把SGA放入主内存:通过设定LOCK_SGA=true可以用来将S
8、GA锁定到物理内存,保证操作系统不会对SGA进行页交换。其缺省值为false,取值范围是true|false; iii. 为其他运行程序分配足够的内存。在调整SGA区时,要确保给服务器进程和运
9、行在系统上的其他程序分配足够的内存。也就是说,Oracle所使用的内存不能超过该服务器上的全部物理内存除去其他运行的应用和服务所使用的内存后所剩余的内存; iv. SGA的内存最好不要超过物理内存的2/3
10、。 2 共享池(Shared Pool)调整共享池的大小由初始化参数SHARED_POOL_SIZE的值来确定。ESRI给出以下建议: i.
11、60; 最好是16M的倍数; ii. 不小于128M;
12、60; iii. 如果应用是高活动的地理数据库支持的变化较多的应用或者批量编辑系统,则要求这个参数值尽量设置到200M;
13、 iv. 在SGA区的三个内存块中,共享池最为重要,如果物理内存有限制,优先满足共享池的需要。 3 Log Buffer调整Log Buffer由初始化参数LOG_BUFFER控制,原则上不需要很大。具体调整建议如下:
14、 i. Oracle建议可以将这个参数设定为512KB或者128K乘以CPU的数量。如果你的CPU的数量少于4个,则将参数设定为512KB(524288);
15、 ii. 通过监测数据进行调整:可以在系统活动的时候检查动态表V$SYSSTAT,执行以下语句:select name, valuefrom v$sysstatwhere name in ( 'redo entries' , 'redo log space requests' ); Oracle建议如果两
16、个参数'redo log space requests'和'redo entries'的比值大于1:5000的话,需要提高Redo Log Buffer的大小。 4 DB_BLOCK_SIZE调整(可选)ESRI建议DB_BLOCK_SIZE最小设定16K。但在项目实践中发现,对于大比例尺的地形图,DB_BLOCK_SIZE=8K比较合适。 5 Buffer Cache调整调整Buffer Cache的重要前提是调整应用程序中的SQL语句,保证这些SQL获取的数据量不产生不必要的资源消耗。做好了SQL调优之后,按照如下
17、步骤即可完成初始化参数DB_CACHE_SIZE(如果在NT操作系统下使用超过2G的内存另有方法)大小的调整工作。 i. 初始估计:当新建一个实例时,不太可能知道最优的数值,因此,需要事先设定一个初始的估计值。可以采用以下计算方
18、法估计初始值。l SGA可用内存=系统物理内存*2/3l 可用的Buffer Cache=DB_CACHE_SIZE=(SGA可用内存-(共享池+Log Buffer)l DB_BLOCK_BUFFERS=可用的Buffer Cache/DB_BLOCK_SIZE (DB_BLOCK_BUFFERS用于Wind
19、ows操作系统物理内存超过2G或者Oracle版本在9i以下不含9i的情况)。 ii. 统计运行数据:设定初始化参数DB_CACHE_ADVICE=ON,直到统计数据稳定。
20、0; iii. 检查V$DB_CACHE_ADVICE视图,决定下一步内存的增加能减少物理I/O的数量,具体语句如下:COLUMN size_for_estimate FORMAT 999,999,999
21、,999 heading Cache Size (MB)COLUMN buffers_for_estimate FORMAT 999,999,999 heading BuffersCOLUMN estd_physical_read_factor FORMAT 999.90 heading Estd Phys|Read FactorCOLUMN estd_physical_reads FORMAT 999,999,999 heading Estd Phys| ReadsSELECT size_for_estimate, buffers_for_estimate, estd_physical_re
22、ad_factor, estd_physical_readsFROM V$DB_CACHE_ADVICEWHERE name = DEFAULTAND block_size = (SELECT value FROM V$PARAMETER WHERE name = db_block_size)AND advice_status = ON; 以下是乌鲁木齐项目在完成批量入库操作时的运行数据:
23、60; Estd Phys Estd PhysCache Size (MB) Buffers Read Factor Reads- - - - -
24、; 80 10,020 1.16 10,989,689 160 20,040
25、0; 1.08 10,247,748 240 30,060 1.05 9,909,252 320
26、 40,080 1.03 9,761,142 400 50,100 1.02 9,677,505
27、 480 60,120 1.02 9,615,344 560 70,14
28、0 1.01 9,566,148 640 80,160 1.01 9,523,702
29、 720 90,180 1.00 9,483,001 800 100,200
30、0; 1.00 9,464,969 816 102,204 1.00 9,460,668 880
31、 110,220 1.00 9,443,662 960 120,240 .99 9,402,043
32、; 1,040 130,260 .99 9,371,153 1,120 140,280
33、; .99 9,354,239 1,200 150,300 .99 9,350,948 1,280
34、; 160,320 .99 9,347,627 1,360 170,340 .99 9,344,887
35、60; 1,440 180,360 .97 9,180,858 1,520 190,380
36、160;.97 9,178,761 1,600 200,400 .97 9,177,659在执行批量入库操作时,系统的Buffer Cache设定为800M,但在这种操作情况下,我们建议将Buffer Cache 设定为80M。因为,增加内存,并不能大幅度减少物理
37、读的数量。以下图为例进一步说明:在上图中,将A点对应的内存数增加到B点对应的内存数获得的效果要比增加同样的内存数从B点到C点好。 iv. 正确调整方法l
38、160; 在SPFILE中设定初始化参数SGA_MAX_SIZE,这个参数决定实例能够使用的最大内存数。它是非动态参数,只能在SPFILE中修改,重新启动数据库实例方可起作用;这个参数的设定应该参考的SGA区的初始值估计方法。l 设定SGA_TARGET。要求SGA_TARGET值的大小应该为你想设定的SGA区的大小,必须小于等于SGA_MAX_SIZE。l
39、 设置初始化参数 STATISTICS_LEVEL 为TYPICAL或者ALL,启动自动内存管理方法。l 开始进行统计。l 根据统计确定Buffer Cache大小。l 改成手动内存管理:方法设置初始化参数SGA_TARGET=0。l
40、60; 在内存中动态修改DB_CACHE_SIZE。l 观察运行情况,如果性能得到改善,则将参数保存到SPFILE中以保证下次数据库重新启动时,重新使用这些参数。 三. PGA区调整 1 将PGA处于自动内存管理状态:设置初始化参数WORKAREA_SIZE_POLICY=AUTO;2 设置初始值,初始化参数PGA_AGGREGATE_TARGET=全部物理内存3 统计运行数据以便确定
41、合理的初始化参数PGA_AGGREGATE_TARGET。在自动PGA内存管理状态下,运行应用一段时间,搜集统计数据。使用以下查询语句:SELECT round(PGA_TARGET_FOR_ESTIMATE/1024/1024) target_mb,ESTD_PGA_CACHE_HIT_PERCENTAGE cache_hit_perc,ESTD_OVERALLOC_COUNTFROM V$PGA_TARGET_ADVICE; 以下列数据为例: TARGET_MB CACHE_HIT_PERC ESTD_OVERALLOC_COUNT- - -
42、160; 12 49 21 14
43、160; 49 21 17 49
44、160; 21 19 49
45、; 21 22 49 21 24
46、160; 49 21 36 80
47、160; 0 48 83 0 72 84
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高级城市规划师资格考试《城市规划实务》备考题库及答案解析
- 2025年执业医师《外科学综合》备考题库及答案解析
- 商铺物业费代缴协议合同2025年范本
- 商铺电路改造安全协议2025
- 软件开发合同协议2025年源代码归属
- 人工智能模型训练服务合同协议2025
- 汽车租赁服务协议2025年
- 2025年人力资源三支柱模型(COE、SSC、BP)应用考试试题及答案
- 2025年冲突管理与有效沟通考试试题及答案
- 大型泥芯销售合同范本
- 三度房室传导阻滞护理查房-课件
- 基于PLC的自动灌溉控制系统设计-本科毕业设计
- 中医培训课件:《放血疗法》
- 【体能大循环】聚焦体能循环-探索运动奥秘-幼儿园探究体能大循环有效开展策略课件
- 机电运输安全基本知识
- 金属冶炼安全知识培训资料
- 机械制造技术 课件 第5章 机械加工质量分析与控制
- 初中英语试卷讲评课课件
- 行政处罚法课件
- 陈伯宪家族信托讲义
- 初中英语教学目标的设定2022第三稿
评论
0/150
提交评论