网络编程
位置:首页>> 网络编程>> 数据库>> Oracle数据库性能优化技术开发者网络Oracle(2)

Oracle数据库性能优化技术开发者网络Oracle(2)

 来源:asp之家 发布时间:2010-07-18 13:05:00 

标签:oracle,数据库,优化,技术


  2.5确定数据块大小和存储参数。

  由于数据库的块大小在数据库创建以后就不能在修改(除非重建数据库),因此为了减少数据链接和行迁移,又提高磁盘空间的利用率,在设计数据库时要确定合适的数据块大小和存储参数。通常我们是根据样例数据确定数据块大小,而根据业务现状和未来发展趋势确定存储参数。

3. 在数据库运行阶段调整数据库

  数据库运行阶段调整数据库包括两个方面:操作系统级的调整;数据库级的调整。

  3.1 操作系统级的调整

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

  3.1.1减少内存交换

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


   vmstat命令

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

   sar命令

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

  若系统内存交换较多,且需要节省内存,可采用以下措施:

  1) 避免运行不必要的系统daemon进程或应用程序进程;

  2) 在不明显影响数据块命中率的前提下减少数据库缓冲区的数量,以释放一些内存;

  3) 减少UNIX文件缓冲区的数量(特别是在使用裸设备时)。

  3.1.2控制分页

  少量的内存分页不会太显著地影响系统的性能,因为应用程序不必全部放在内存中。但是分页过多将会造成系统性能下降。为了检测过多的分页,可在快速响应或空闲期间运行测量,并与响应迟缓时的测量进行比较。可通过以下办法来解决:

   使用vmstat或sar -p监控分页;

    安装更多的内存;

    将一些工作移到另一系统中;

    配置系统核心使用更少的内存;

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

  3.1.3使SGA(System Globle Area)留驻内存

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

  3.2 数据库级的调整

  每一个Oracle实例都是由一组Oracle后台进程和SGA的一个内存区组成的。这组后台进程会自动的读写数据库的数据文件,因此,数据库性能可以被这些因素所影响:SGA各部分的分配是否合理,使用效率是否正常;I/O和锁竞争是否较多。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com