高手谈怎样调整Oracle数据库

数据库 Oracle
这里阐述了在调整Oracle数据库设计阶段如何避免竞争和如何优化数据访问,在数据库运行阶段如何从操作系统和数据库实例级别上调整内存和I/O来达到数据库性能优化的各种技术。

Oracle经过长时间的发展,很多用户都很了解调整Oracle数据库了,这里我发表一下个人理解,和大家讨论讨论。在Oracle数据库运行阶段调整Oracle数据库,Oracle数据库运行阶段调整Oracle数据库包括两个方面:
◆操作系统级的调整
◆调整Oracle数据库级

1.操作系统级的调整

实施操作系统级调整的主要目的是减少内存交换,减少分页,使SGA(SystemGlobleArea)可留驻内存。

1.1减少内存交换

内存交换(swapping)可能会造成很大的内存开销,应将它最小化。运行在SolarisUnix操作系统上的Oracle数据库,可利用vmstat或sar命令来检查交换,查看到系统级内存和硬盘I/O的使用情况,调整unix数据缓冲池的大小、每个进程所能使用的内存大小等参数。

vmstat命令

它报告Solaris上的进程、虚拟内存、磁盘、分页和CPU的活动情况。下面命令将显示系统每5秒钟做的事情的概要:%vmstat5

sar命令

用于监控交换、分页、磁盘和CPU活动。下面命令用于每10秒显示10次分页活动的概要:%sar-p1010

若系统内存交换较多,且需要节省内存,可采用以下措施:
1)避免运行不必要的系统daemon进程或应用程序进程;
2)在不明显影响数据块命中率的前提下减少Oracle数据库缓冲区的数量,以释放一些内存;
3)减少UNIX文件缓冲区的数量(特别是在使用裸设备时)。

1.2控制分页

少量的内存分页不会太显著地影响系统的性能,因为应用程序不必全部放在内存中。但是分页过多将会造成系统性能下降。为了检测过多的分页,可在快速响应或空闲期间运行测量,并与响应迟缓时的测量进行比较。可通过以下办法来解决:
◆使用vmstat或sar-p监控分页;
◆安装更多的内存;
◆将一些工作移到另一系统中;
◆配置系统核心使用更少的内存;

保持SGA在单个共享内存段中。

1.3使SGA(SystemGlobleArea)留驻内存

SGA是对Oracle数据库数据进行快速访问的一个系统全局区,若SGA本身需要频繁地进行释放、分配,则不可能达到快速访问数据的目的,因此,要求SGA驻留内存。这时,我们可以重新配置UNIX核心,调整一些操作系统参数以达到增加共享内存的目的。以上介绍调整Oracle数据库级。

【编辑推荐】

  1. 七步详细分析Oracle表空间
  2. 大家一起来讨论Oracle表空间的创建
  3. 重建Oracle表空间专业技术指导
  4. 六步了解Oracle表空间状态
  5. Oracle表空间恢复让你不再担心数据库出现错误
责任编辑:佚名 来源: IT168
相关推荐

2009-11-17 10:20:01

Oracle Spat

2009-11-16 17:23:09

Oracle减少共享服

2010-04-19 13:59:17

Oracle 数据库

2010-04-12 17:19:16

Oracle数据库

2010-07-22 11:27:55

telnet安全漏洞

2010-12-13 12:35:56

职场

2010-03-25 17:31:16

2010-03-30 17:40:59

Oracle数据库

2011-03-17 14:51:33

数据库自我调整

2009-12-03 15:24:39

双wan路由器设置

2011-04-01 14:51:37

Oracle数据库导入导出

2011-04-01 14:51:37

Oracle数据库导入导出

2009-11-11 15:24:35

ADO创建数据库

2011-04-06 09:25:20

MySQL数据库

2009-02-01 13:33:13

Oracle数据库配置

2010-04-19 13:25:45

Oracle调整

2010-04-23 09:23:44

Oracle 数据库

2011-05-26 10:30:12

Oracle数据库约束

2015-08-21 12:59:38

Oracle数据库

2011-03-10 13:24:26

点赞
收藏

51CTO技术栈公众号