`

Oracle性能调整的要点之数据库配置和IO问题

阅读更多

降低磁盘的IO

分散磁盘的IO

表空间使用本地管理

1. 将文件分散到不同的设备上

a. 将数据文件与日志文件分开

b. 减少与服务器无关的磁盘IO

c. 评估裸设备的使用

d. 分割表数据

2. 表空间的使用

系统表空间保留给数据字典对象

创建本地管理表空间以避免空间管理问题

将表和索引分散到独立的表空间中

使用独立的回滚表空间

将大的数据库对象保存在各自独立的表空间中

创建一个或多个独立的临时表空间

下列数据库对象应该有单独的表空间:数据字典、回滚段、索引、临时段、表、大对象

3. 检查IO统计数据

Select phyrds,phywrts,d.name from v$datafile d,v$filestat f where f.file#=d.file# order by d.name;

检查最有可能引起磁盘IO瓶颈的文件。

4. 分割文件

可以通过RAID和手工进行

Alter table table_name allocate extent (datafile ‘fiile_name’ size 10M);

但手工操作工作量很大。

5. 优化全表扫描操作

a. 检查有多少全表发生:

Select name,value from v$sysstat where name like ‘%table scan%’;

table scans (short tables)/ table scans (long tables)与全表扫描相关,如果table scans (long tables)的值很高,说明大部分的table access 没有经过索引查找,应该检查应用或建立索引,要确保有效的索引在正确的位置上。

合理的DB_FILE_MULTIBLOCK_READ_COUNT能减少table scan需要调用的IO次数,提高性能(与OS相关)。

b. 查看full table scan操作:

Select sid,serial#,opname,target,to_char(start_time,’HH24:MI:SS’) “start”,(sofar/totalwork)*100 “percent_complete” from v$session_longops;

通过v$session_longops里的sql_hash_value与v$sqltext关联,可以查询导致full table scan的sql。

6. Checkpoint

Checkpoint进行的操作:DBWn进行IO操作;CKPT更新数据文件头和控制文件。

经常进行Checkpoint的结果:减少恢复所需的时间;降低了系统运行时的性能。

LGWR以循环的方式将日志写到各个日志组,当一个日志组满时,oracle server必须进行一个Checkpoint,这意味着:DBWn将对应log覆盖的所有或部分脏数据块写进数据文件;CKPT更新数据文件头和控制文件。如果DBWn没有完成操作而LGWR需要同一个文件,LGWR只能等待。

在OLTP环境下,如果SGA很大并且checkpoint的次数不多,在Checkpoint的过程中容易出现磁盘竞争的状况,在这种情况下,经常进行Checkpoint可以减少每次Checkpoint涉及到的脏数据块的数目。

调节Checkpoint次数的办法:

◆ 增大日志文件;

◆ 增加日志组以增加覆盖的时间间隔。

7. 日志文件

建立大小合适的日志文件以最小化竞争;

提供足够的日志文件组以消除等待现象;

将日志文件存放在独立的、能快速访问的存储设备上(日志文件可以创建在裸设备上)。日志文件以组的方式组织管理,每个组里的日志文件的内容完全相同。

8. 归档日志文件

如果选择归档模式,必须要有两个或两个以后的日志组,当从一个组切换到另一个组时,会引起两种操作:DBWn进行Checkpoint;一个日志文件进行归档。

归档有时候会报错:

ARC0:Beginning to archive log# 4 seq# 2772
Current log# 3 seq# 2773……
ARC0: Failed to archive log# 4 seq# 2772
ARCH: Completed to archiving log#4 seq# 2772

建议init参数修改如下:

log_archive_max_processes=2
#log_archive_dest = ‘/u05/prodarch’
log_archive_dest_1 = “location=/u05/prodarch MANDATORY’
log_archive_dest_state_1 = enable
log_archive_dest_2 = “location=/u05/prodarch2 OPTIONAL reopen=10″ (或其它目录)
log_archive_dest_state_2 = enable
log_archive_min_succeed_dest=1
log_archive_dest_state_3 = DEFER
log_archive_dest_state_4 = DEFER
log_archive_dest_state_5 = DEFER
分享到:
评论

相关推荐

    Oracle性能调整的十大要点

    ### Oracle性能调整的十大要点详解 #### 一、SGA(共享全局区)优化 **1. Shared Pool Tuning** Shared Pool是SGA的一个重要组成部分,用于存储最近使用过的SQL语句及其执行计划等信息。优化Shared Pool对于提高...

    oracle 官方培训

    Oracle数据库培训大纲(2天) 基本内容 时间安排(天) 课程内容要点 基础和管理 1天 Oracle结构组件 Oracle服务器入门 ...数据库配置与IO优化 诊断工具和等待事件 SQL优化原则和案例 Oracle 10g自动SQL调整

    Oracle数据库平台维护报告

    - **内核升级:** OS内核版本从Generic_122300-13升级到了Generic_122300-51,提升了系统的安全性和性能。 **1.3 数据库平台** - **数据库版本:** 运行Oracle 9.2.0.0企业版数据库,适用于大规模的企业级应用。 -...

    ORACLE9i_优化设计与系统调整

    §11.8 Oracle诊断和调整包 129 第12章 优化SQL语句 130 §12.1 SQL语句的优化方法 130 §12.1.1 重新构造语句 130 §12.1.2 调整或使触发器无效 137 §12.1.3 重组数据 137 §12.2 优化目标 137 §12.2.1 优化序列...

    基于SQL和表设计的Oracle数据库开发审计研究.pdf

    总结来说,本文从理论和实践两个层面,深入探讨了Oracle数据库性能优化的要点,着重指出了SQL语句优化和表设计对于信息系统性能的重要性,并提供了一套实用的数据库开发审计标准。通过不断实践和完善这些标准,可以...

    中金数据LINUX+Oracle RAC+搭建文档

    例如,某些软件包的安装顺序对集群的稳定性和性能有较大影响。文档建议在安装Oracle ASM支持包和Oracle ASM软件包时遵守特定的顺序,以确保安装顺利进行。 4. 参考文档 文档的开头列出了用于搭建Oracle RAC时参照的...

    Oracle数据库备份与恢复总结

    以上是Oracle数据库备份与恢复的相关知识点总结, 包括了EXP/IMP、SQL*LOADER、OS备份/用户管理的备份与恢复以及RMAN的详细内容和技术要点。这些知识点对于确保数据库的安全性和高可用性至关重要, 希望对您有所帮助。

    Oracle运维最佳实践-下.pdf 带书签

    - **2.1.2 Oracle性能调整的十大要点** - 本书总结了Oracle性能调整的关键点,涵盖了硬件配置、软件设置、SQL优化等方面。 - 十大要点包括但不限于:正确配置SGA/RGA大小、合理设置并发级别、使用高效的索引策略等...

    oracle 知识要点

    综上所述,Oracle数据库作为企业级数据管理的重要工具,其丰富的功能和强大的性能为数据的存储、检索和分析提供了坚实的基础。理解上述概念和技巧,对于有效利用Oracle数据库解决实际问题具有重要意义。

    专题资料(2021-2022年)PLSQL程序优化和性能分析方法要点.doc

    【PLSQL程序优化和性能分析方法要点】 PLSQL程序优化主要关注如何提高代码效率,减少系统资源的消耗,特别是CPU、内存和IO的利用率。性能问题是程序设计不合理、不规范的结果,性能测试包括压力测试和性能测试两...

    汽车租赁--简单实现(基于JAVA,数据库使用的是Oracle)

    2. **Oracle数据库**:Oracle是企业级的关系型数据库管理系统,具有高可用性、高性能和强大的数据管理能力。在汽车租赁系统中,Oracle用于存储汽车信息、租赁记录、用户信息等关键数据。 3. **JDBC(Java Database ...

    面试--DBA30问

    - **监控状态**:使用系统视图、存储过程和性能监视器来监控复制状态。 #### 19. 复制过程中如何处理truncate操作?复制过程中对于IDENTITY列如何处理? - **处理truncate**:通常需要禁用复制,执行truncate操作...

    java之hibernate和spring技术难点及其要点总结

    ### Java之Hibernate和Spring技术难点及其要点总结 #### Hibernate与Spring技术概述 在Java开发领域,Hibernate和Spring作为两个非常重要的框架,对于提高应用程序的开发效率、降低维护成本具有不可替代的作用。...

    2017年尚学堂Java培训课程大纲.docx

    - **Oracle的安装和配置**:掌握Oracle数据库的安装步骤和基本配置方法。 - **客户端工具的使用**:熟悉Oracle客户端工具的使用,包括SQL*Plus、PL/SQL Developer等。 - **用户和权限管理**:了解Oracle数据库中用户...

    Java高手的25个学习要点.txt

    掌握常用的关系型数据库如Oracle、MySQL和SQL Server等。 熟悉这些数据库系统的特性和使用方法有助于开发者更好地进行数据管理和查询操作。了解各种数据库之间的差异可以帮助开发者选择最适合项目的数据库解决方案...

    java程序员的学习路线.pdf

    1. **Oracle基础管理**:学习Oracle数据库的安装、基本操作,如表的创建、查询、索引、事务控制、SQL语句和函数的使用。 2. **SQL优化**:理解数据库设计优化,如查询性能提升、索引使用、事务控制等。 3. **JDBC**...

    java面试宝典和学习必备

    3. **数据库**:MySQL、Oracle和SQL Server是最常见的关系型数据库。Oracle是大型企业级数据库,广泛用于复杂的企业级应用。 4. **服务器**:Maven是一个项目管理工具,用于构建、依赖管理和项目信息管理。Tomcat和...

    JAVA SMART系统-系统框架设计与开发(源代码+论文

    根据项目需求,开发者可能使用了关系型数据库如MySQL或Oracle,设计了ER(实体关系)模型,定义了各表之间的关系,确保数据的一致性和完整性。同时,可能使用了JPA(Java Persistence API)或MyBatis等工具来简化...

Global site tag (gtag.js) - Google Analytics