WEB开发网
开发学院数据库Oracle Oracle内存结构研究-PGA篇 阅读

Oracle内存结构研究-PGA篇

 2009-07-06 11:50:06 来源:WEB开发网   
核心提示: 什么时候使用自动PGA内存管理?什么时候使用手动PGA内存管理?白天系统正常运行时适合使用自动PGA内存管理,让Oracle根据当前负载自动管理、分配PGA内存,Oracle内存结构研究-PGA篇(4),夜里用户数少、进行维护的时候可以设定当前会话使用手动PGA内存管理,让当前的维护操作获

什么时候使用自动PGA内存管理?什么时候使用手动PGA内存管理?

白天系统正常运行时适合使用自动PGA内存管理,让Oracle根据当前负载自动管理、分配PGA内存。

夜里用户数少、进行维护的时候可以设定当前会话使用手动PGA内存管理,让当前的维护操作获得尽可能多的内存,加快执行速度。

如:服务器平时运行在自动PGA内存管理模式下,夜里有个任务要大表进行排序连接后更新,就可以在该操作session中临时更改为手动PGA内存管理,然后分配大的SORT_AREA_SIZE和HASH_AREA_SIZE(50%甚至80%内存,要确保无其他用户使用),这样能大大加快系统运行速度,又不影响白天高峰期对系统造成的影响。

六、操作命令

系统级更改:

ALTER SYSTEM SET WORKAREA_SIZE_POLICY = {AUTO | MANAUL};

ALTER SYSTEM SET PGA_AGGREGATE_TARGET=100000000;

ALTER SYSTEM SET SORT_AREA_SIZE = 65536 SCOPE = SPFILE;

ALTER SYSTEM SET HASH_AREA_SIZE = 65536 SCOPE = SPFILE;

会话级更改

ALTER SESSION SET WORKAREA_SIZE_POLICY = {AUTO | MANAUL};

ALTER SESSION SET SORT_AREA_SIZE = 65536;

ALTER SESSION SET HASH_AREA_SIZE = 65536;

七、学以致用

1,排序区:

pga_aggregate_target为100MB,单个查询能用到5%也就是5MB时排序所需时间

SQL> create table sorttable as select * from all_objects;

表已创建。

SQL> insert into sorttable (select * from sorttable);

已创建49735行。

SQL> insert into sorttable (select * from sorttable);

已创建99470行。

SQL> set timing on;

上一页  1 2 3 4 5  下一页

Tags:Oracle 内存 结构

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接