• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
优化调整Oracle
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
优化调整Oracle 8i数据库
软件发布 优化调整Oracle 8i数据库
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 认证考试 >> Oracle认证 >> Oracle指导 >> 优化调整Oracle 8i数据库

优化调整Oracle 8i数据库

添加时间: 2008-4-21 23:41:03  作者: Oracle指导  阅读次数:14   来源: http://www.d9soft.com

       

    Oracle 8i数据库服务器是高度可优化的软件产品,经常性的调整可以优化系统的性能,防止出现数据瓶颈。我们通过调整数据库系统,可以使它达到最佳性能以满足用户的需要。下面,笔者将介绍优化和调整Sun SPARC Solaris系统平台上的Oracle 8i数据库服务器的一些相关命令和方法。 Solaris性能监控命令

Solaris提供了性能监控命令,用于监控数据库性能和决定数据库的需求。除了为Oracle进程提供统计外,它们还为CPU提供使用统计,为整个系统提供中断、交换、分页和上下文转换功能。监控命令包括:

 

vmstat
vmstat命令报告Solaris上的进程、虚拟内存、磁盘、分页和CPU的活动情况。下面命令将显示系统每5秒钟做的事的概要:
% vmstat 5
sar
sar命令用于监控交换、分页、磁盘和CPU活动。下面命令用于每10秒显示10次分页活动的概要:
$ sar -p 10 10
iostat
iostat命令报告终端和磁盘的活动。该报告显示哪些磁盘是忙的(该信息在平衡I/O负载时有用)。下面命令用于每5秒显示5次终端和磁盘活动:
$ iostat 5 5
swap
swap命令报告关于交换空间使用的信息。交换空间的不足可以导致系统悬挂,减慢响应时间。
mpstat
mpstat命令报告每个处理器的统计。


调整内存 管理


分配足够的交换空间
内存交换(swapping)可以造成很大的内存开销,应该将它最小化。在Solaris上使用sar -w或vmstat -S命令来 检查 交换。若系统在交换,且需要节省内存,则应采用以下措施:
避免运行不必要的系统daemon进程或应用程序进程;减少数据库缓冲区的数量,以释放一些内存;减少UNIX文件缓冲区的数量(特别是在使用原始设备时)。在Solaris上用swap -l命令决定当前正在使用多少交换空间。使用swap -a命令向系统中增加交换区。用系统RAM两到四倍的交换空间启动数据库。若准备使用Oracle Developer、Oracle Applications或Oracle InterOffice,则使用更高的值。监控交换空间的使用,在必要时增加它。
控制分页
内存分页(paging)可能没有交换那样问题严重,因为为了运行,整个应用程序不必全部放在内存中。少量的分页不可能显著地影响系统的性能。为了检测过多的分页,在快速响应或空闲期间运行测量,并与响应迟缓时的测量进行比较。使用vmstat或sar-p监控分页。
若系统有过多的页面活动,则需考虑以下解决办法:
安装更多的内存;
将一些工作移到另一系统中;
配置系统核心使用更少的内存;
保持SGA在单个共享内存段中。
没有足够的共享内存,将不能够启动数据库。这时,我们可以重新配置UNIX核心,以增加共享内存。


调整磁盘I/O

I/O瓶颈是最容易识别的性能问题。跨所有可用的磁盘均匀地平衡I/O,可以减少磁盘存取的时间。对于较小的数据库和不使用并行查询选项的那些数据库,要确保不同的数据文件和表空间跨可用的磁盘分布。


调整DBWR,增加写带宽
Oracle提供以下方法以防止DBWR(数据库写进程)活动成为瓶颈:
使用异步I/O 异步I/O允许进程继续处理下一个操作,而不必等待在发出写后,最小化了空闲时间,因而改善了系统性能。Solaris支持原始设备和文件系统数据文件的异步I/O。
使用I/O从属 I/O从属(slave)是专用的进程,其惟一功能是执行I/O。它们代替Oracle 7的多个DBWR特性(实际上它们是多个DRWR的概括,可以由其它进程分布)。不管异步I/O是否可用,它们都可以操作。若设置的话,它们被从LARGE_POOL_SIZE分配,否则从共享内存缓冲区分配。
初始化参数控制了I/O从属的行为,其中DISK_ASYNCH_IO和TAPE_ASYNCH_IO允许分别为磁盘和磁带设备关闭异步I/O(因为每个进程类型的I/O从属缺省为0,除非明确设置,否则没有I/O从属被发布)。
若DISK_ASYNCH_IO或TAPE_ASYNCH_IO无效,则DBWR_IO_SLAVES应该设置大于0,否则DBWR将成为一个瓶颈。在这种情况下,Solaris上DBWR_IO_SLAVES的最佳值为4,而在LGWR_IO_SLAVES的情况下,发布的从属不应该超过9个。
DB_WRITER_PROCESSES代替Oracle 7的参数DB_WRITERS,指定某实例的数据库写进程的初始数量。若使用DBWR_IO_SLAVES,则只有一个数据库写进程被使用,而不管DB_WRITER_PROCESSES的设置。
.使用IOSTAT查找大磁盘请求队列请求队列显示特定磁盘设备上等待服务的I/O请求有多长。由大量的磁盘I/O或由平均查找时间I/O引起请求队列。磁盘请求队列应该为0或接近于0。
选择合适的文件系统类型 Sun SPARC Solaris允许选择文件系统。文件系统有不同特性,它们用于存取数据的技术对数据库性能有实质性的影响。文件系统通常包括:

s5:UNIX系统V文件系统;
ufs:UNIX文件系统(由BSD UNIX派生);
vxfs:Veritas文件系统;
原始设备:没有文件系统。
通常没有事实证明文件系统与文件系统是相配的,甚至不同的ufs文件系统也难以比较(因为执行不同),尽管ufs通常是高性能的选择,但根据选择文件系统的不同,性能差别变化也很大。

监控磁盘性能

使用sar -b和sar -u可以监控磁盘性能。

sar -b对磁盘性能的重要性如下:

bread/s、bwrit/s:块读和块写,它们对文件系统而言是非常重要的。

 


pread/s、pwrit/s:分区读和分区写,它们对原始分区数据库系统是非常重要的。 

Oracle块大小应该匹配磁盘块大小或是磁盘块大小的倍数。若可能的话,在数据库文件使用文件系统前在分区上做文件系统 检查 ;然后制作一个新的文件系统,确保它是清洁的和不破碎的。尽可能地均匀分布磁盘I/O,将数据库文件与日志文件分开。 
调整CPU的使用 

在同一优先权上保持所有Oracle用户和进程在Oracle中,所有用户和后台进程操作在同一优先级上,修改优先权对竞争和响应时间有意想不到的影响。例如,若LGWR(日志写进程)获得低优先权,则它不能充分地执行,LGWR将成为一个瓶颈;另一方面,若LGWR有高的优先权,用户进程可能要忍受较坏的响应时间。 
在多处理器系统上使用处理器亲和力/捆绑在多处理器环境中,使用处理器亲和力/捆绑(affinity/binding,若它在系统中可用)。处理器捆绑禁止某进程从一个CPU移动到另一个,允许CPU高速缓存中的信息被更好地利用,而且可以捆绑服务器进程,从而充分利用高速缓存(因为它总是活动的,允许后台进程在CPU间流动)。 
为Export(导出)/Import(导入)和SQLLoader使用单任务链接 
若要在用户和Oracle 8i之间传输大量的数据(如使用Export/Import),使用单任务结构是非常高效的,因为作为单任务链接Oracle可执行程序,允许某用户进程直接存取整个SGA。但运行单任务需要更多的内存。为了使用单任务导入、导出和SQLLoader(sqlldrst)可执行程序,我们可以调用make文件的ins_rdbms.mk(在$ORACLE_HOME/rdbms/lib目录中)。下面是用于实现单任务导入、导出和SQLLoader(sqlldrst)的可执行程序: 
% cd $ORACLE_HOME/rdbms/lib 
% make -f ins_utilities.mk singletask 
调整块大小和文件大小 
在Solaris上,Oracle块缺省值为2KB,可以设置的实际大小为2KB的倍数,最大设置值为16KB。 
最优的块大小通常是缺省值,但随着应用程序而变化。为了用不同的Oracle块大小建立数据库,在创建数据库前在initsid.ora文件中增加下面行:
db_block_size=new_block_size 

调整Solaris缓冲区高速缓存大小 
为了充分利用原始设备的优点,我们需要调整Oracle 8i缓冲区高速缓存的大小和Solaris缓冲区高速缓存。 
Solaris缓冲区高速缓存由操作系统提供。它在内存中保存数据的块(在它们被从内存传送到磁盘前,反之亦然)。 
Oracle 8i缓冲区高速缓存是在内存中保存Oracle数据库缓冲区的区域。因为Oracle 8i可以使用原始设备,它不需要使用Solaris缓冲区高速缓存。 
在移动原始设备时,增加Oracle 8i缓冲区高速缓存的大小。若系统中内存的数量是有限的,则相应地减少Solaris缓冲区高速缓存的大小。 
Solaris命令sar可以帮助决定哪些缓冲区高速缓存应该增加或减少: 

sar -b:报告Solaris缓冲区高速缓存的活动; 
sar -w:报告Solaris内存交换活动; 
sar -u:报告CPU利用情况; 
sar -r:报告内存利用情况; 
sar -p:报告Solaris内存分页活动。 

通常在缓存命中率上升时,我们需要增加Oracle 8i缓冲区高速缓存的大小,而在交换/分页活动变高时,我们需要减少高速缓存的大小。 
我们还可以使用Oracle 8i建立的跟踪(Trace)和警报(Alter)文件来诊断和解决运行中存在的问题。 
只要我们充分利用以上命令和方法,就可以很好地优化与调整Oracle 8i数据库了。
  

 

上下文章:

 

上一篇文章: 几大数据仓库的比较 下一篇文章: Oracle系统实用工具介绍

相关文章:

  • Vista系统的官方优化指南文档下载
  • 上网高效率 宽带路由优化技巧放送
  • 在ORACLE的存储过程中如何做简单的动态查询
  • Oracle下调数据库许可价格以适应多芯CPU
  • Oracle全球客户支持副总裁汤姆·舒尔滋演讲

相关软件:

  • windows XP 注册表优化文件reg下载
  • windows 2000 注册表优化下载
  • Access数据库密码破解器 V2.65
  • Windows优化大师 V6.9 Build 5.1209
  • 联想公司的widows XP优化工具
  • dbguide 数据库管理专家 V1.3.0.0

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

Oracle认证分类导航

  • Oracle动态
  • Oracle指导
  • Oracle题库

本类经典文章推荐

  • Oracle中关于逻辑备份与恢复
  • Oracle开发人员JAVA存储过程
  • 为数据库的表自动生成行号
  • Oracle中的OOP概念
  • 用java从oracle取数
  • 冷备份移植到另一台Solaris机器上
  • 如何将excel数据导入oracle中
  • Oracle10.2g安装记录
  • 数据库监控工具ForOraclev1.2
  • oracle双机群集系统

Oracle指导阅读排行

  • Oracle系统表查询
  • 实例:Oracle导出EXCEL文件
  • Oracle常用的OCI函数上
  • Oracle企业管理器(OEM 2.1)使用...
  • Tomcat+SQLServer连接池配置
  • 如何将excel数据导入oracle中
  • 如何取出某一用户的密码 再原样改...
  • 实例:Oracle导出EXCEL文件
  • 案例学习Oracle错误:ORA-00604
  • 案例学习Oracle错误:ORA-00060

Oracle认证阅读总排行

  • Oracle系统表查询
  • 实例:Oracle导出EXCEL文件
  • Oracle常用的OCI函数上
  • 在ORACLE的存储过程中如何做简单的...
  • Oracle企业管理器(OEM 2.1)使用...
  • Tomcat+SQLServer连接池配置
  • 如何将excel数据导入oracle中
  • AIX下自动启动Oracle数据库与监听...
  • 如何取出某一用户的密码 再原样改...
  • 实例:Oracle导出EXCEL文件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有