Oracle 9i 数据库性能调优技术-les01

合集下载

ORACLE 性能优化

ORACLE 性能优化

ORACLE 数据库性能优化参考书目:《ORACLE 9i Database Performance Tuning Guide and Reference》《ORACLE 9i Database Reference》《ORACLE 9i SQL Reference》《ORACLE 9i Database Administrator’s Guide》一、数据库实例创建过程参数确定在创建数据库实例过程中,需要确定以下几个参数:1. 数据块大小(DB_BLOCK_SIZE)该参数指明了ORACLE所处理的数据存贮于数据文档以及SGA内存中的数据块大小。

该参数的可选择的范围为:4k,8k,16k,32k,64k。

对于OLTP系统而言,取值可以为4K或8K,对于DSS系统而言,则可以取较大的数据,如32K或64K 建议统一取8K(即8192)说明DB_BLOCK_SIZE的大小将影响创建表时的EXTENT的大小。

例如指定db_block_size=16K,某表空间的EXTENT MANAGEMENT 为local autoallocate,则其系统将extent的大小最小指定为1M.所以将可能导致空间的浪费。

2. 字符集(Character set)该参数确定数据库以何种字符集来存贮CHAR以及V ARCHAR、V ARCHAR2等字符类型的值。

对于ORACLE数据字典中的字符(如表及字段的COMMENT内容)具有同样的作用。

因此需要考虑如字符集的使用。

对于国际项目,因为数据库中的comment内容(包括表及字符、存贮过程中的中文字符等内容)可能性需要以中文存贮,而用户业务数据使用的字符可能性是使用本地的语言,基于此,该参数需要选择支持UNICODE的字符编码的字符集。

目前ORACLE9i支持以下二种UNICODE字符集:⏹UTF8⏹AL32UTF8建议统一取AL32UTF83. 扩展段管理(EXTENT MANAGEMENT)该参数指明表空间中的扩展段的管理方式。

Oracle9i 应用系统优化

Oracle9i 应用系统优化

1、优化前提应用系统方案制定正确,对应用系统运行环境分析合理、正确,在数据库效劳器性能、存储空间、网络带宽等方面的配置能够到达系统运行要求.2、优化目标● 响应时刻与吞吐量平衡● 临界资源2.1响应时刻与吞吐量平衡依据应用类型的不同,性能优化的目标不同:在线事务处理系统OLTP〕把吞吐量定义为性能指标;决策支持系统〔DSS〕把响应时刻定义为性能指标。

响应时刻响应时刻=效劳时刻+等待时刻系统吞吐量系统吞吐量指在给定的时刻内所完成的工作量。

有以下两种技术:● 以相同的资源来完成更多的工作〔减少效劳时刻〕;● 通过减少整个响应时刻来更快完成工作。

等待时刻当竞争增强的时候,某个任务的效劳时刻也许维持不变,但它的等待时刻将增长。

我们开发的系统一般为OLTP和DSS的复合系统,侧重于OLTP,在硬件答应的情况下最好能够将运行数据库、分析数据库不离。

2.2临界资源诸如CPU、内存、I/O容量、网络带宽等资源,基本上减少时刻的要害因素。

性能好坏取决于以下因素:● 可用资源的数量● 需要该资源的客户方的数目● 客户方等待资源所消耗的时刻● 客户维持资源的时刻长短随着请求单元的增加,效劳时刻也增加。

为了处理这种情形,用户能够选择:● 通过限制请求的速率,从而维护可同意响应时刻● 还可通过增加资源数目,如CPU和硬盘〔增加资源的前提是应用系统设计良好,同时差不多做了充分的优化〕3、优化时期从实际做的工程过程来瞧,除了系统安装优化外,系统优化往往基本上在系统实施、运行时才考虑,事实上到这时期做系统优化的局限性对比大,因为系统架构设计都成型、固化,大幅度调整设计的代价特不珍贵,一般只能在局部领域做优化,只能通过重新分配内存或优化I/O来或多或少地提高性能,实际上优化应该贯穿系统设计、开发、安装、测试、运行整个过程。

3.1设计时期为了到达最正确的效果,优化工作应当从设计时期进行,而不是在系统实施后进行。

在数据库设计时期,个人认为需要注重如下几个方面:● 业务对象不能建立在系统表空间;● 索引表空间和业务表空间分开;● 将LOB类型的字段与其它的类型分开;● 依据应用系统功能确定是否要采纳冗余字段;● 正确的主键字段的选择,建议采纳数字,不推举使用复合主键;3.2开发、测试时期在开发实现时期,个人认为需要注重如下几个方面:● 执行sql使用变量绑定的方式,尽可能的保留在共享内存中,提高sql命中率;● 多表关联查询时采纳有效的连接顺序;● 尽可能的落低客户端和效劳器的网络数据交互,某个业务功能点需要频繁和数据库交互的,建议采纳存储过程、临时表实现;● 依据查询条件建立必要的索引,查询条件中使用oracle函数建立相对应的函数索引,数据值范围较小的采纳位图索引● 多张表关联查询时,有时可采纳先查询符合条件对应的表中要害字,然后通过要害字再查询对应表中相关信息;● 频繁访咨询,较少更新的数据量较小的表信息可采纳缓存的方式;● 在实现批量更新、插进时,要采纳jdbc批量执行方法,同时调整对应的fetchsize参数。

Oracle 9i 和 10g 高性能调优

Oracle 9i 和 10g 高性能调优

Oracle 9i 和10g 高性能调优介绍让我们从安装所需要的检查的事物开始来讨论oracle的优化。

调优环境调优的环境是什么?是一个你的调优努力能起作用的一种环境。

调整oralce数据库的所必需的东西⏹好多软件工具⏹训练有素的人⏹分段的测试环境⏹生产环境的一个副本○真实的和期望的生产环境。

在成长快速或者需求改变时,这些环境是经常不同的。

○经可能的使得数据库的大小/内容一致。

在不能完全满足这样的要求时,至少开发和测试数据库应该同生产数据库成比例○统计表是一样的吗?统计表可以拷贝,或者同生产数据库使用同样的时间间隔执行可用工具调整和监控数据库的优秀软件很多。

OEM有很多非常有用的小组件。

Spotlight擅长于对繁忙系统的视频和信息进行实时监控。

两者对调整数据库物理和SQL代码的性能分析都是非常有用的。

也有许多其他的工具可用。

在调整过程中最重要的工具是developer和administrators。

那是为什么你读这本书的原因。

最好的软件工具也意味着是最昂贵的,当然这也不是说较为便宜的工具是无用的了。

通常,越贵的软件为你所做的事情越多。

然而,有时候自动为你做了某些工作,你不理解其内部机制。

你的工具集未必比经过良好训练,经验丰富的数据库管理员和开发人员作得更好。

训练有素的人好的训练有其恰当的地方。

作为系统管理员或者开发者,数据库管理员趋向于有root权限。

每一种训练都有其优缺点。

开发者除了编码SQL,创建数据模块之外,所了解的知识越来越多。

系统管理员对unix之类的操作系统知识具有广泛的了解,关注的是oracle数据库的物理存储的调优。

开发者关注的是数据库模型和创建更为高效的SQL代码方面的优化。

幸的是,事情不总是如此。

有时候开发者趋向于把调优SQL代码和数据模型负担看着是数据库管理的负责范围。

这样就会导致混乱。

分段的环境你需要尽可能多的实验环境。

作为DBA,你不能期望在一个在线的生产数据库上进行调优工作。

oracle数据库性能调整与优化

oracle数据库性能调整与优化

Oracle9i数据库性能调整与优化V1.0在数据库成熟应用的时代,数据库的性能优化已经演变为一项相当严密的系统工程。

作为企业IT基础设施的核心部件之一,数据库并不是孤立的系统,它与网络、操作系统、存储等硬件系统紧密相连,这种与其他IT部件的多重连接特性决定了数据库性能优化是一门综合技术。

数据库性能优化的实现路径和IT系统管理架构越来越密不可分。

Oracle9i数据库在内部特性方面有着非常大增强,其中一个最令Oracle DBA兴奋莫过于可以动态设置全部Oracle SGA控制参数。

与8i不同是,原来都将初始化参数放到一个文本文件中,并且在数据库启动时候读取,Oracle9i却可以通过ALTER DATABASE 和ALTER SYSTEM命令复位全部Oracle参数。

在9i前,如果想对Oracle数据库处理模式作一些改变话,Oracle管理员必须关闭数据库并且重新设置INIT.ORA文件中参数,然后重新启动数据库。

对于白天使用OLTP 模式运作,晚上切换到数据仓库模式Oracle数据库来说,这种重新设置是经常做。

对于需要停止和重新启动Oracle数据库来修改参数来说,Oracle9i在这方面有明显加强,它令实现数据库连续可用目标变得更加简单。

定义:SGA:(System Global Area)是Oracle Instance的基本组成部分,在实例启动时分配。

是一组包含一个Oracle实例的数据和控制信息的共享内存结构。

主要是用于存储数据库信息的内存区,该信息为数据库进程所共享(PGA不能共享的)。

它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。

理论上SGA可占OS系统物理内存的1/2——1/3。

SGA几个很重要的特性:1、SGA的构成——数据和控制信息,我们下面会详细介绍;2、SGA是共享的,即当有多个用户同时登录了这个实例,SGA中的信息可以被它们同时访问(当涉及到互斥的问题时,由latch和enquence控制);3、一个SGA只服务于一个实例,也就是说,当一台机器上有多个实例运行时,每个实例都有一个自己的SGA尽管SGA来自于OS的共享内存区,但实例之间不能相互访问对方的SGA区。

调整优化Oracle 9i数据库的性能

调整优化Oracle 9i数据库的性能

调整优化Oracle 9i数据库的性能
何月顺;丁秋林
【期刊名称】《计算机应用与软件》
【年(卷),期】2004(021)006
【摘要】介绍调整和优化Sun SPARC Solaris系统平台上的Oracle 9i数据库服务器的一些相关命令和方法.
【总页数】3页(P10-11,40)
【作者】何月顺;丁秋林
【作者单位】南京航空航天大学,南京,210016;东华理工学院,抚州,344000;南京航空航天大学,南京,210016
【正文语种】中文
【中图分类】TP311.13
【相关文献】
1.Oracle 9i数据库的性能调整和优化 [J], 尹成国
2.基于Oracle 9i数据库的查询优化 [J], 廖建华
3.Oracle 9i数据库性能优化 [J], 姚树春;朱艳琴
4.索引调整优化Oracle 9i工作性能的研究 [J], 谷小秋;李德昌
5.浅议如何调整优化Oracle 9i数据库的性能 [J], 胡铁峰
因版权原因,仅展示原文概要,查看原文内容请购买。

Oracle 9i 数据库性能调优技术-les02

Oracle 9i 数据库性能调优技术-les02
2-2 Copyright © Oracle Corporation, 2002. All rights reserved.
Maintenance of the Alert Log File
• •
The alert log file consists of a chronological log of messages and errors. Check the alert log file regularly to:
2-21
Copyright © Oracle Corporation, 2002. All rights reserved.
Tuning Using Oracle Expert
2-14
Copyright © Oracle Corporation, 2002. All rights reserved.
Statspack
• • • • •
Installation of Statspack using the spcreate.sql script Collection of statistics execute statspack.snap Automatic collection of statistics using the spauto.sql script Produce a report using the spreport.sql script To collect timing information, set TIMED_STATISTICS = True
2-7
Copyright © ll rights reserved.
Oracle Enterprise Manager Console
2-9

ORACLE数据库性能优化

ORACLE数据库性能优化

(三)(三)优化 I/O 操作 I/O 优化被安排在内存优化之后,通过内存的优化,可以是 I/O 冲突减少,在此情况下, 可以通过一些调整以使 I/O 性能进一步提高。 对于新系统,应自顶向下分析 I/O 需求,确定所需要的资源。而对于已存在的系统应采 用自底向上的方法: 1.1.了解系统的磁盘数量。 2.2.了解 ORACLE 使用的磁盘数量。 3.3.了解应用系统的 I/O 类型。 4.4.了解 I/O 操作是针对文件系统还是原始设备。 5.5.了解对象在磁盘上的分布。 可以通过如下方法检查 I/O 问题: 检查系统 I/O 的使用:可以使用操作系统提供的工具来监视整个系统对磁盘 文件的访问,可以将大量访问磁盘的应用与 ORACLE 的相关文件分别存放。在 UNIX 系统中可以通过 sar –d 来获得有关数据。在 WINDOWS NT 中 可 通 过 性 能监视器查看。 检查 ORACLE 的 I/O 的使用:对于 ORACLE ,可以通过下列视图来获得相 关的信息: File Type Where to Find Statistics Database Files V$FILESTAT Log Files V$SYSSTAT, V$SYSTEM_EVENT, V$SESSION_EVENT Archive Files V$SYSTEM_EVENT, V$SESSION_EVENT Control Files V$SYSTEM_EVENT, V$SESSION_EVENT 可以通过如下的方法来解决 I/O 问题: 减少磁盘竞争: 磁盘竞争:当多个进程同时访问同一个磁盘时就会产生磁盘竞争。要减 少高负荷磁盘的访问,可以将高访问量的文件移到低负荷的磁盘上。 分离 Redo 日志文件和数据文件:ORACLE 总是经常的访问 Redo 日志 文件和数据文件,将二者放在一起,可能会增加磁盘冲突。 条带化表数据:条带化,就是将一个大表的数据分布到不同磁盘的不同 数据文件中,这样也可以减少磁盘冲突。 分离表和索引:这并不是必须的,由于索引和表的读取是串行的,也可 以做到将表和索引放在一起而不发生磁盘冲突。 磁盘条带化:就是将一个大表的数据分布到不同磁盘的不同数据文件中,条 带化允许不同的进程同时访问一个表的不同部分。 这尤其对随机访问一个表的多行 很有帮助。条带化可以是磁盘的 I/O 负载平衡。有两种条带化方法。 手动方法:利用表空间以及分区表的方式。

Oracle9i性能调整

Oracle9i性能调整

create or replace function GET_SQL(V_SQLADDRESS in RAW, V_SQLHASHVALUE in NUMBER) return varchar2 is Result varchar2(2000); CURSOR C1 IS SELECT A.SQL_TEXT FROM V$SQLAREA A WHERE A.ADDRESS=V_SQLADDRESS AND A.HASH_VALUE=V_SQLHASHVALUE; begin FOR REC IN C1 LOOP RESULT:=RESULT||REC.SQL_TEXT; END LOOP; return(Result); end GET_SQL;
索引与性能
基于函数的索引 Create index ind_name on animal (upper(animal_name)); CBO, query_rewrite_enable=true query_rewrite_integrity=trusted 分析相应的表,列,所有索引;
Bad sql的定位
索引与性能
Index的原理(通常指B树) 根据键值来确定rowid,根据rowid来定位记录 Index的平衡性 DML对index的影响,而键值不会被删除。 Index的效率 可选择性的问题 重组的必要性 效率以及DML的影响 索引组织表(IOT)原理 既是表又是索引。 适用场合:静态的所有列皆为pk的大表
如何跟踪一个session
10046 event(level n)+tkprof n=4:enable sqltrace+variable bind; n=8:enable sqltrace+wait event; n=12: n=4+n=8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• •
Bad cursor management Bad relational design
– Unnecessary table joins performed – Usually a result of trying to build an object interface to relational storage
1-7
Copyright © Oracle Corporation, 2002. All rights reserved.
Tuning Steps During Development
• • • • • •
Tune the design Tune the application Tune memory Tune I/O Tune contention Tune the operating system
1-5
Copyright © Oracle Corporation, 2002. All rights reserved.
Tuning Goals
Tuning goals are usually specified in terms of: • Reducing or eliminating waits • Accessing the least number of blocks • Caching blocks in memory • Minimizing response time • Increasing throughput • Increasing load capabilities • Decreasing recovery time • Instance hit percentages
1-15
Copyright © Oracle Corporation, 2002. All rights reserved.
1-10
Copyright © Oracle Corporation, 2002. All rights reserved.
Database Server Tuning Methodology
• • • •
Check alert log and trace files for errors. Check the parameter file for any diagnostic or inappropriate parameter setting. Check memory, I/O, and CPU usage. Identify processes with resource usage anomalies. Identify and tune SQL statements that are heavy consumers of CPU or I/O.
1-14
Copyright © Oracle Corporation, 2002. All rights reserved.
Summary
In this lesson, you should have learned how to: • Create a good initial design • Define a tuning methodology • Perform production tuning • Establish quantifiable goals • List tuning problems • Decide between performance and safety
1-8
Copyright © Oracle Corporation, 2002. All rights reserved.
Collect a Baseline Set of Statistics
A baseline set of statistics is used to: • Provide a set of statistics collected when the system was operating within the bounds set • Create a hypothesis about what has changed on the system
• •
What to tune? How much tuning?
1-3
Copyright © Oracle Corporation, 2002. All rights reserved.
Tuning Phases
Tuning can be divided into different phases: • Application design and programming • Database configuration • Adding a new application to an existing database • Troubleshooting and tuning
1-6
Copyright © Oracle Corporation, 2002. All rights reserved.
Common Performance Problems

Bad session management
– Limits scalability to a point that cannot be exceeded – Makes the system one or two orders of magnitude slower than it should be
Overview of Oracle9i Database Performance Tuning
Copyright © Oracle Corporation, 2002. All rights respleting this lesson, you should be able to do the following: • Define the roles associated with the database tuning process • Describe the dependencies between tuning in different development phases • Describe service level agreements • Identify tuning goals • Identify common tuning problems • Employ tuning activities during development and production • Balance performance and safety trade-offs
1-9
Copyright © Oracle Corporation, 2002. All rights reserved.
Tuning Steps for a Production Database
1. 2. 3. 4. 5. 6.
Define the problem. Examine the host system and Oracle statistics. Consider some common performance errors. Build a conceptual model. Implement and measure the change. Check that the bottleneck has been resolved.
1-13
Copyright © Oracle Corporation, 2002. All rights reserved.
Performance Versus Safety Trade-Offs
Factors that affect performance: • Multiple control files • Multiple redo log members in a group • Frequent checkpointing • Backing up datafiles • Performing archiving • Block check numbers • Number of concurrent users and transactions
1-12
Copyright © Oracle Corporation, 2002. All rights reserved.
Database Server Tuning Methodology
Tune response time: • Analyze system performance in terms of work done (CPU or service time) versus time spent waiting for work (wait time). • Determine which component consumes the greatest amount of the time. • Drill down to tune that component if appropriate.
1-2 Copyright © Oracle Corporation, 2002. All rights reserved.
Tuning Questions

Who tunes?
– – – – Application designers Application developers Database administrators System administrators
相关文档
最新文档