优化调整Oracle 8i数据库

简介: 导读:   Oracle 8i数据库服务器是高度可优化的软件产品,经常性的调整可以优化系统的性能,防止出现数据瓶颈。
导读:
  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
相关文章
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
1031 93
|
12月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
566 0
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
781 8
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
699 11
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
2889 28
|
Oracle 关系型数据库 数据库
数据库数据恢复—服务器异常断电导致Oracle数据库报错的数据恢复案例
Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库没有备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并验证恢复的数据库文件。
|
存储 Oracle 关系型数据库
【赵渝强老师】Oracle RMAN的目录数据库
Oracle RMAN默认将备份元信息存储在控制文件中,但控制文件损坏或丢失会导致恢复失败,且备份增多会使控制文件无限增长。为解决这些问题,Oracle引入了RMAN目录数据库(Catalog Database),专门用于存储RMAN备份的元信息。使用目录数据库可提升备份管理效率,支持多数据库共享、长期备份历史记录存储,并可保存RMAN脚本。本文详细介绍了如何创建目录数据库、注册目标数据库及其操作步骤。
461 0
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle数据库的闪回表
本文介绍了Oracle数据库中的闪回表(Flashback Table)功能,它能够将表的数据快速恢复到特定时间点或系统改变号(SCN),无需备份。文章通过实战示例详细演示了如何使用闪回表恢复数据,包括授权、创建测试表、记录时间与SCN号、删除数据、启用行移动功能、执行闪回操作以及验证恢复结果等步骤。同时,还展示了如何通过触发器禁止插入操作,并在闪回过程中处理触发器的启用问题。文末附有视频讲解,帮助读者更好地理解闪回表的使用方法。
753 10
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的闪回数据库
Oracle闪回数据库功能类似于“倒带按钮”,可快速将数据库恢复至 earlier 状态,无需还原备份。本文介绍了闪回数据库的使用方法及实战案例:包括设置归档模式、开启闪回功能、记录SCN号、执行误操作后的恢复步骤等。通过具体 SQL 操作演示了如何利用闪回数据库恢复被误删的用户数据。注意,使用此功能前需确保数据库为归档模式。
648 9

推荐镜像

更多