ORACLE 10G自动化特性在联通BSS系统性能优化工作中的应用
让Oracle跑得更快:Oracle 10g性能分析与优化思
小结
13.1 AWR性能报告
13.2 Statspack性 能报告
13.3 ASH性能 报告
13.4小结
13.1.1生成AWR性能报告 13.1.2 AWR性能报告分析
13.2.1 Statspack的安装 13.2.2 Statspack性能采集
13.3.1生成ASH性能报告 13.3.2 ASH性能报告分析
2.3.1 select for update 2.3.2外键和索引
3.1共享池中的 Latch争用
3.2数据缓冲池 Latch争用
3.2.1表数据块 3.2.2索引数据块 3.2.3索引根数据块 3.2.4段头数据块
4.1 RBO基于 规则的优化器
4.2 CBO基于 成本的优化器
5.1 Cardinality
作者介绍
这是《让Oracle跑得更快:Oracle 10g性能分析与优化思路》的读书笔记模板,暂无该书作者的介绍。
读书笔记
这是《让Oracle跑得更快:Oracle 10g性能分析与优化思路》的读书笔记模板,可以替换为自己的心得。
精彩摘录
这是《让Oracle跑得更快:Oracle 10g性能分析与优化思路》的读书笔记模板,可以替换为自己的精彩内容 摘录。
6.6.1 APPEND Hint 6.6.2 DYNAMIC_SAMPLING Hint 6.6.3 DRIVING_SITE Hint 6.6.4 CACHE Hint
7.1直方图
7.2 DBMS_STATS包
7.3动态采样
7.4小结
7.3.1什么是动态采样 7.3.2动态采样的级别 7.3.3什么时候使用动态采样?
8.7.1直接加载和REDO 8.7.2直接加载和索引 8.7.3直接加载和并行 8.7.4直接加载和SQL*LOADER
oracle10G性能调优
SQL调优顾问程序可以在OEM基于Web的新控制台接口内的很多地方启动,也可以通过 DBMS_SQLTUNE包用(AQL*Plus)命令行来进行访问。要使用SQL调优顾问程序(或任何其他顾问程序),都需要具有ADVISOR(顾问程序)权限(Oracle数据库10g版本最新提供;默认情况下,数据库管理员具有ADVISOR权限)。
除了查看主动ADDM分析的结果之外,还可以使用OEM的PL/SQL接口通过OEM或命令行手动运行 ADDM。ADDM对潜在的瓶颈进行自顶向下的分析,得出包括根本原因和带有原理阐述建议的一组分析结果。除了识别问题以外,ADDM还对每个问题对系统总体性能有多大影响及解决该问题后会得到多少好处进行报告。这种影响-好处分析有助于数据库管理员将精力集中在那些解决后能获得最大性能收益的问题上。
SQL附加信息集合。优化器会进行更广泛的分析,并汇总可以使查询运行更为理想的必要附加信息,将其存储在一个SQL附加信息集合中。SQL附加信息集合包含的信息可以使SQL编译器对特定的 SQL文本的执行计划进行优化。SQL附加信息集合在运行时使用(当优化器返回正常模式时),用于提高SQL的性能,但不改变源代码。
优化器可确定执行特定SQL语句的最有效方式。对于任一特定的SQL语句,指定其有效的可选方式的可能数目后,优化器会对它们进行快速评估,在一秒钟之内生成一个执行计划。
除了优化器的这一所谓"正常"模式外,Oracle数据库10g现在还提供一种"调优"模式(在 Oracle文献中有时称作"自动调优优化器")。正如其名称意义所示,优化器的调优模式明确地用于SQL调优对话(使用SQL调优顾问程序和SQL访问顾问程序),以生成可在运行时加速性能的附加信息。调优模式包含了正常模式的性能,同时还提供扩展功能,因此它能够在创建执行计划的过程中进行进一步的分析。
Oracle数据库10g独立软件供应商和客户的应用系统性能
– 良好的数据模型、表以及索引设计 – 强健、精致的 SQL
Ÿ 新特性不能补偿低劣的设计 Ÿ 但良好的设计可充分发挥诸如并行机制、分区
、新数据结构等特性。
学习改变命运,知 识创造未来
Oracle数据库10g独立软件供应商和客户的应用系统性能
64 位计算的优缺点
学习改变命运,知 识创造未来
Oracle数据库10g独立软件供应商和客户的应用系统性能
主题
Ÿ 真实体验 Oracle9i 数据库 Ÿ 马上获取 Oracle 数据库 10g 的性能优势 Ÿ 采用 Oracle 数据库 10g 的主要 ISV Ÿ 客户案例分析
– 使用 Oracle 性能方法调整基于 Oracle 的 大型应用程序
超时
时间(秒) (毫秒) /txn
----------------- --------- ------------ ---------- -------- ------
日志文件同步 59,932
79
138
2 1.0
学习改变命运,知 识创造未来
Oracle数据库10g独立软件供应商和客户的应用系统性能
瓶颈识别(续)
最耗时的前 5 个事件
~~~~~~~~~~~~~~~~~~
总花费时间
事件
等待 时间 (s) 百分比
------------------------------ ---------- ------------ ------------
日志文件同步
91,907
2,067 81.78
日志文件并行写操作 48,898
响,请使用 X$DUAL 代替 DUAL 进行测试
学习改变命运,知 识创造未来
[让Oracle跑得更快.Oracle.10g性能分析与优化思路]
在线事务(OLTP)在线分析(OLAP)在Oracle数据库中,凡是分配了存储空间的,都称为段,所有段并不一定指的是表,也可能是表的一个分区,还可能是索引、大对象(LOB),或者IOT(索引表),物化视图等。
第1章引起数据库性能问题的因素系统设计包含:软件的设计;--软件系统架构的设计;--软件代码的编写;数据库的设计;--数据库的类型选择;--根据数据库类型的所有数据库对象的设计;硬件的设计。
--存储结构的设计;--硬件的性能选择;--冗余设计。
1.1 软件设计对数据库的影响1.1.1 软件架构设计对数据库性能的影响对于并发操作比较大的系统,在数据库之前建一个缓冲用户请求的中间件服务。
1.1.2 软件代码的编写对数据库性能的影响通常指的是应用程序代码中对数据库操作的代码部分对数据库产生的影响。
具体来讲就是SQL语句或是PL/SQL包。
SQL语句造成的影响:SQL语句本身在逻辑上就是效率低下的SQL语句没有绑定变量性能低下的SQL语句:使用Hint、不合适的外连接,谓词的隐含转换,优化器的选择、多表关联、数据的访问方式(索引还是全表扫描)以及表关联方式的选择(Hah Join,Nested Loops)1.1.2.1 人为地在SQL代码中加入Hint来约束SQL的执行计划SELECT /*+ index(t1 ind_t1) */ col1,col2 FROM t1 WHERE col1>..... AND col1<.....;1.1.2.2 不必要的外连接操作CREATE TABLE t1 AS SELECT ROWNUM a,ROWNUM+100 b FROM dba_users WHERE ROWNUM<10;CREATE TABLE t2 AS SELECT DECODE(MOD(ROWNUM,2),0,ROWNUM) c,ROWNUM+1000 d FROM dba_users WHERE ROWNUM<10;SELECT a,b,c,d FROM t1,t2 WHERE t1.a=t2.c(+);SELECT a,b,c,d FROM t1,t2 WHERE t1.a=t2.c(+) AND t2.d>1000;SELECT a,b,c,d FROM t1,t2 WHERE t1.a=t2.c AND t2.d>1000;1.1.2.3 CBO下优化器模式的选择通常对于一种功能单一的数据库来讲,在实例级设置一个优化器模式就可以了。
oracle10G数据库性能监控与优化
log -事务commit
➢ 当一个会话发出一个commit命令时,LGWR进程会将这个事务产生的 redo log从log buffer里面写到磁盘上。 ➢ 会话发出的commit指令后,需要等待LGWR将这个事务产生的redo 成 功写入到磁盘之后,才可以继续进行后续的操作,这个等待事件就叫作log 。 ➢当系统中出现大量的log 等待事件时,应该检查数据库中是否有用户在做
enq: SQ - contention(序列CACHE)
赋予了CACHE 属性的Sequence 调用nextval 期间,许多 会话同时访问nextval 值。需要将数据字典信息物理修改后 ,再次执行CACHE 的工作 select sequence_val from dual
RAC Cache Fusion(内存拷贝)-补充 v$event_name
➢什么是 Cache Fusion ➢9i之前有Cache Fusion吗 ➢ 相关的等待事件
✓应用分开 ✓终端用户避免交叉连接不同实例
回顾等待事件
大数据量迁移
① 关闭数据库归档 ② 关闭数据库自动分析 ③ 数据表空间足够大 ④ 回滚段表空间足够大 ⑤ 迁移前索引失效
PX Deq: Execution Msg
latch: cache buffers chains(热块)
➢极短的时间内对少量数据块进行了过于频繁的并发访问 ➢内存 ——> 磁盘——> 内存哈希表——>遍历
✓低效的SQL
✓表分区 ✓表PCTFREE
read by other session
➢ 当一个会话试图修改一个数据块,但这个数据块正在被另一 个会话修改时。
开始迁移数据 ⑥ 迁移后索引有效 ⑦ 手工表分析 ⑧ 启用数据库自动分析 ⑨ 开启数据库归档
关于Oracle10g数据库系统性能优化与调整的研究 (1)
关于Oracle 10g数据库系统性能优化与调整的研究【摘要】当前Oracle数据库应用极为广泛,但是不断增加的数据量和访问量等因素导致数据库系统性能的降低,出现吞吐量降低、响应时间变长等相关的数据库性能问题,这就产生了对数据库系统的优化的需求。
如何对数据库系统进行优化和调整,才能获得更快的响应时间、更大的吞吐量、以及更少的资源占用呢?在本文中笔者就Oracle 10g数据库系统性能优化与调整进行了相关方面的研究。
【关键词】Oracle 10g数据库;系统性能;优化与调整;SQL语句优化1.前言IT系统随着支持用量的增长和新业务的不断扩展,数据处理量大量增加,业务处理模式日趋复杂,必然导致主机CPU和I/O占用不断呈线性增加。
因此,充分使用先用硬件的处理能力对于保护投资至关重要。
Oracle数据库是现在使用最广泛的大型数据库之一,对于规模较大、需要处理的用户数目较多的数据库系统来说工作效率是最重要的指标之一。
在实际应用中,不断增加的数据量和访问量都会导致数据库系统性能将会下降,这就产生了对数据库系统的优化的需求,以实现更快的响应时间、更大的吞吐量、以及更少的资源占用等。
2.影响数据库系统性能的因素在Oracle数据库的实际应用中,其系统性能主要受到数据库运行方面的因素如服务器性能、数据库配置、网络I/O、应用程序实现等因素的影响,各个因素的具体影响情况如表1所示。
表1 影响数据库系统性能的相关因素3.数据库系统性能优化与调整数据库系统的优化措施是通过有目的更改系统的一个或多个组件途径使其满足一个或多个目标的过程。
Oracle数据库的性能优化与调整应从影响系统性能的因素着手,实现对数据库的体系结构、软件结构、具体的业务和技术等方面的优化效果,使得数据库系统实现更快的响应时间、更大的吞吐量、以及更少的资源占用等性能。
2.1内存区调整与优化Oracle数据库实例的内存结构主要包括两个方面,分别为SGA和PGA。
Oracle数据库应用系统的性能优化技术
Data Base Technique •数据库技术Electronic Technology & Software Engineering 电子技术与软件工程• 137【关键词】Oracle 数据库 应用系统 性能 优化技术在一般情况下,oraele 数据库应用系统是一个软件系统,解决了在一个特定领域的问题。
它的主要特点是,它是在处理事务效率。
据调查,50%的Oracle 数据库应用系统的性能问题是发生在设计过程中。
在数据库应用系统的设计过程中,发生在未来的业务处理特殊情况不能完全预测的,所以在系统运行一段时间后,一些性能问题才能被发现。
在本文中,ORAC数据库系统及其特点,绩效评价指标和优化策略进行了详细讨论。
1 Oracle数据库基本含义及特点1.1 Oracle数据库基本含义Oracle 数据库能够分析各数据间的关联性,然后生成反映这些数据的相关性的数据库。
Oracle 不仅可以直接应用于关系数据库的计算机系统,同时也为商业数据库管理系统提供完整的用户/服务设备的系统架构,也可以使用SQL * NET 软件层来实现与多个操作系统通信协议的融合;Oracle 关系数据库可以创造更多的分布条件为其它系统如金融系统服务,以实现单点与多点的查询。
在银行、保险、烟草业和其他数据平台,Oracle 数据库具备给这些平台以安全性、稳定性高的服务保障。
Oracle 数据库系统内存结构见图1。
1.2 Oracle数据库基本特点1.2.1 独立性Oracle 独立成一个系统,其包括大型系统中,介质系统、小型系统和微系统。
1.2.2 统一性该数据库减少数据争用,并确保数据的一Oracle 数据库应用系统的性能优化技术文/冯文堂致性。
1.2.3 安全性Oracle 数据库具有很高的安全性,数据的完整性能够防止数据漏洞,增强安全性。
Oracle 有许多功能,如识别、权限、角色、日志和备份等。
1.2.4 兼容性Oracle 数据库具有一定的兼容性,不仅可以在不同类型的系统进行操作,而且还可以在同一制造商的不同操作系统运行。
ORACLE 10g数据库性能优化与分析
ORACLE 10g数据库性能优化与分析摘要:随着数据库在生活中各个领域中的广泛应用,数据库产品也层出不穷。
其中,oracle数据库产品在整个数据库产品的应用中占据50%,并且有不断上升的趋势。
可是,随着数据库数据量的增大、并发用户数量增多,系统常常出现吞吐量降低,响应时间延长等性能问题,怎样有效优化、改善数据库性能,突破系统瓶颈,是保证 oracle 数据库高效运行的基础。
oracle 数据库系统性能优化、调整是一项复杂的系统工程,贯穿于系统的整个生存周期中。
关键词:oracle数据库;性能优化;索引;sql语句中图分类号: tp311 文献标识码: a 文章编号:1009-3044(2013)13-2943-031 概述数据库优化不仅仅是dba(数据库管理员)的事情,它也是设计人员、应用开发人员必须做的事情。
有人认为,优化数据库不用着急,在系统出现宕机或者慢到无法忍受时再优化不迟。
但此时,往往无法有效的对相应的数据库进行更为有效的优化。
所以我们应当在整个数据库的生命周期中,给予不断地优化,以使数据库达到最好的性能[1]。
2 数据库系统性能评价指标2.1 系统吞吐量2.2 响应时间响应时间是,在用户提交任务要求到数据库做出回应的时间。
其实质就是,终端客户等待后台处理所花费的时间[2]。
因此响应时间优化的重要性不言而喻。
调查显示,当用户等待一项任务的响应时间超过几秒钟时,用户可能就会对此系统产生不满或者厌烦的情绪。
因此,我们必须通过优化,将响应时间降到最低。
2.3 数据库的命中率数据库命中率是数据库性能中非常重要的评价指标,包括数据库缓冲区命中率和共享池命中率。
缓冲区命中率是指用户需求的数据是否存放在在内存中,该命中率是指高速缓存命中总数除以高速缓存的查找总数;共享池命中率决定了用户提交的 sql语句是否需要进行重新解析,该比率等于 sql 语句的解析次数除以sql语句总的执行次数。
通常情况,数据库的命中率应该在 90%左右,低于这个值的系统均需要做出优化和调整[3]。
Oracle10g数据库系统性能优化与调整
Orce数 据 库 系统 性 能 的 因素 入 手 , 优 化 策 略 , 包括 内存 区 调 整 与 优 化 、 盘 I0 优 化 、 盘 碎 磁 / 磁
ZH EN Fu—do ng
( vlA it nAi TrfcCo to a c fGa s , a z o 3 0 7 Chn ) Cii vai r af nr l n h o nu L n h u 7 0 8 , ia o  ̄ Br
Absr t t ac :Or ce d tbae i c 'n l he n o tw i l u e a g —sae d tbae ,d tb s t i t nce s h m be o u 一 a l aa s s une ty t l s dey s d lr e c l aa s s aa a edaaw t he i ra eoft e nu h rofc nc r
甄福东
( 肃 省 兰 州 市 川 机 场 民航 甘 肃 窄 管 分 局 技 术 保 障部 ,{ 兰 州 7 0 8 ) 甘 }肃 3 0 7
摘 要 : al 据 库 是 当前 应 用 最 广 泛 的 大 型数 据 库 , 着 数 据 库 数 据 量 的增 大 、 发 用 户 数 量 增 多 , Or e数 c 随 并 系统 常 常 出现 吞 吐 量 降低 , 响
a lz sO r ce d tb s yse ro m a c mpa tfc o ,w e f u e n he O r ce g daa a C s tm o tmi ai tae y ncu n nay e a l aa ae s tm pef r n e i c a t r oc s d o t a l 1 tb S yse 0 pi z t on srt g ,i l dig
关于Oracle 10g数据库系统性能优化与调整的研究
1 前 言
I T系统随着支持用量的增长和 新业务的不断扩 展, 数据 处理量 大量 增加 , 业 务处理模式 日趋 复杂 , 必然导致主机 C P U和 I / O占用不 断呈线 性增加。因此,充分使用先用硬件的处理能力对于保护投资至关重要。 O r a c l e 数据库 是现在 使用最广 泛的大型数据库之一 , 但是在 实际的应用 中, 不断增加的数据量和访 问量都会导致 O r a c l e数据库系统性能的降低 现象 , 这就 产生了对 O r a c l e数据库系统的优化 的需求, 通过相关 的优化 和调整 手段 , 以实现更快 的响应 时间、 更大 的吞 吐量 以及更少 的资源 占 用等 。
3 数 据库 系统性 能优 化与调 整
数据库系统 的优化与调整的 目的是通过对 0 r a c l e 1 O 数据库性能的
库配置等) 着手 , 实现对数据库 的体 系结构、 软件结构 、 具体的业务和 技 术等方面 的优 化效 果, 使得数据库系统 实现更快的响应 时间、 更大 的吞
点的通过率较低 。在 振动筛 的极限速度 已知的情 况下, 筛孔大小的计算 公式为:
d= r +V( 2 r / g )
在计算振动筛结构参数的过程 中, 还要注 意的是筛面的倾角与 吊杆 的角度 。 这主要是因为筛面的倾角和 吊杆的角度决定了振动筛筛分的时 间, 因而合理的调整筛面斜角与 吊杆的角度能够提高振动筛筛分的工作 效率 。
影 响因素 在0 r a c l e 数据库 系统性 能中的地位 数据 库服 数据库服务器是整个 O r a c l e 数据系统的核心, 服务器上运行的操作系 务器性能 统 以及服务器的硬件配 置对 0 r a c 1 e 数据系统产生直接 影响。 数据库配 数据库 的配置主要包括内存区的设置 、 I / O设置 、 相关参数设置、 回滚 置 段设置以及碎 片整理等 , 数据库配置情况对于数据库系统性能具有极 为重要的作用 , 是进行 0 r a c l e 数据库性能优化调整的核心。 网络 I / O 在0 r a c l e 数据库, 应用程序与服务器之间所进行 的交互主要是通过 网 络I / O完成, 因此网络 I / O对数据库系统性能有重要的影响。 应用程序 应用程序性能, 尤其是 S Q L语句的应用、 数据库端程序 设计以及数据 性能 库对象 的使用情况等由于能够影响 O r a c l e 数据库的执行效率, 因此其 对 数 据 库 性 能 的影 响也 是至 关 重 要 的 。
Oracle10g数据库系统性能优化与调整
Oracle10g数据库系统性能优化与调整摘要:Oracle 数据库是当前应用最广泛的大型数据库,随着数据库数据量的增大、并发用户数量增多,系统常常出现吞吐量降低,响应时间变长的性能问题,如何有效优化、调整数据库性能,避免系统瓶颈,是保证Oracle数据库高效运行的基础。
该文试从分析影响Oracle 数据库系统性能的因素入手,重点介绍了Oracle10g 数据库系统优化策略,包括内存区调整与优化、磁盘I/O优化、磁盘碎片、回滚段设置、CPU 性能调整以及SQL 语句优化等,通过对这些优化策略的介绍,期望能使Oracle10g数据库系统获得最优性能。
关键词:Oracle数据库;数据库配置优化;SQL 语句优化中图分类号:TP312文献标识码:A文章编号:1009-3044(2010)22-6151-02Oracle10g Database Performance Optimization and AdjustmentZHEN Fu-dong(Civil Aviation Air Traffic Control Branch of Gansu, Lanzhou 730087, China) Abstract: Oracle database is currently the most widely used large-scale databases, database data with the increase of the number of concurrent users increases, the throughput of the system often appears lower, longer response time performance problems, how to effectively optimize and adjust database performance, avoid system bottlenecks and to ensure efficient operation of the base Oracle database. This paper analyzes Oracle database system performance impact factor, we focused on the Oracle10g database system optimization strategy, including the memory area to adjust and optimize disk I / O optimization, disk fragmentation, rollback segment set, CPU performance tuning and optimization of SQL statements and so on, through the introduction of these optimization strategies, hopes to Oracle10g database system for optimum performance.Key words: oracle database; database configuration optimization; optimizing SQL statementOracle 数据库是现在使用最广泛的大型数据库之一,选用Oracle 作为数据库的应用系统一般规模比较大, 需要处理的用户数目较多,对于这样的数据库系统来说,效率是最重要的指标之一,在实际应用中,随着系统数据库中数据的增加,访问量的加大,数据库系统性能将会下降,数据库的优化逐渐突显出其重要作用。
ORACLE 10g数据库性能优化与分析
E — ma i l : j s l t @d n z s . n e t . C n
ht t p: / / www. d nz s . n e t . c n
C o mp u t e r K n o w l e d g e a n d T e c h n o l o g y电脑 知 识 与技术
o p t i m i z a t i o n , a d j u s t me n t i s a c o m p l i c a t e d s y s t e m e n g i n e e r i n g , r u n s t h r o u g h t h e w h o l e s y s t e m l i f e c y c l e .
ma n c e , b r e a k t h r o u g h t h e b o t t l e n e c k o f s y s t e m, i s t o e n s u r e e ic f i e n t o p e r a t i o n o f t h e Or a c l e d a t a b a s e . Or a c l e d a t a b a s e p e f r o r ma n c e
摘要 : 随着数 据库在生活 中各个领域 中的广泛应 用, 数据库产品也层 出不穷。其 中, O R A C L E数据库产品在 整个数据库产
品的应用 中占据 5 0 %, 并且有不断上升的趋势。可是 , 随着数据库数据量的增大、 并发 用户数量增 多, 系统常常 出现吞 吐量 降低 , 响 应时间延长等性 能问题 , 怎样 有效优化 、 改善 数据库性能 , 突破 系统瓶 颈 , 是保证 O r a c l e 数 据库高效运行 的基 础。 O r a c l e 数据库 系统性能优化 、 调整是一项复杂的 系统工程 , 贯 穿于系统的整个生存 周期 中。
ORACLE 10G自动化特性在联通BSS系统性能优化工作中的应用
ORACLE 10G自动化特性在联通BSS系统性能优化工作中的
应用
王卫;唐巍
【期刊名称】《人天科学研究》
【年(卷),期】2011(010)001
【摘要】在介绍Oracle 9i版本下性能优化的基本方法基础上,着重论述了Oracle 10g版本中的一些自动化特性,以及应用10g中的自动化特性进行数据库系统性能优化的方法和案例。
【总页数】3页(P102-104)
【作者】王卫;唐巍
【作者单位】中国联通新疆分公司信息化部,新疆乌鲁木齐830000;中国联通新疆分公司信息化部,新疆乌鲁木齐830000
【正文语种】中文
【中图分类】TP311.52
【相关文献】
1.Oracle 10g分析在新一代联通业务支撑系统中的应用 [J], 邓德贵;卞轶静
2.ORACLE10G自动化特性在联通BSS系统性能优化工作中的应用 [J], 王卫;唐巍
3.Oracle 10g数据库系统性能优化与调整 [J], 孙风栋;闫海珍
4.Oracle 10g on Windows的重要特性——Oracle 10g系列专栏(三) [J], 何
致亿
5.关于Oracle 10g数据库系统性能优化与调整的研究 [J], 李瑛
因版权原因,仅展示原文概要,查看原文内容请购买。
基于Linux平台Oracle 10g数据库性能调优
基于Linux平台Oracle 10g数据库性能调优笔者单位对外业务网站为宣传、承揽主营业务的重要窗口。
随着业务范围的逐步扩大,网站数据库的数据量迅速增长。
系统性能设计不足的问题逐步暴漏出来,如页面加载速度慢,执行数据库操作等待时间过长等。
针对这一问题,笔者提出了对系统所采用的数据库的优化设计,最终实现了网页数据加载速度加快及数据库操作时间等待减少的调优目标。
本文旨在结合此项实践分享基于Linux 操作系统平台的Oracle数据库服务器的调优实践,进而归纳几个调整和优化基于Linux操作系统平台的Oracle数据库服务器的方法。
标签:Linux Oracle 数据库性能调整优化引言笔者单位的对外业务网站为宣传、承揽主营业务的重要窗口。
随着各项业务范围的逐步扩大,网站数据库的数据量迅速增长。
系统性能设计不足的问题逐步暴露出来,出现了页面加载速度慢,执行数据库操作等待时间过长等问题。
系统使用Oracle 10g数据库,笔者根据多年数据库管理和开发经验,以满足業务性能需求为出发点,对业务数据库进行了调整、优化。
取得了预期的成效。
数据库性能优化技术主要包含以下几个方面[1]:查询优化;优化数据库内存配置;优化操作系统及网络配置。
笔者将从各个不同角度考虑、分析数据库问题及解决之道。
本文将结合此项工作实践分享构建在Linux操作系统之上的Oracle 10g数据库的调优心得,总结调整、优化基于Linux操作系统平台的Oracle数据库服务器的几种方法。
一、Linux操作系统层面优化1.Linux常用的调优工具Linux系统性能监控命令可用于监控Oracle数据库性能,进而根据这些监控数据决定数据库的调优需求。
这些命令可查看进程信息、服务器CPU使用信息以及操作系统内存交换情况。
概述如下:vmstat 查看Linux的进程、虚拟内存等情况。
例如:vmstat 2 5可以查看系统每隔2秒钟共5次的系统负载采样情况;iostat 显示磁盘活动。
Oracle数据库的自动数据优化特性
Oracle Database 12c 中的自动数据优化特性目录引言2存储分层和压缩分层3热图—细粒度的数据使用情况跟踪4自动数据优化4总结9Oracle Database 12c 第 2 版 (12.2) —全球极受欢迎的新一代数据库,现在现身于 Oracle云中。
引言企业当前存储和管理的数据量正在快速增长,各种行业评估结果表明,数据量每 2-3 年就会加倍。
数据量的这种迅猛增长为 IT 带来了成本和性能上的巨大挑战。
虽然存储成本在不断下降,但快速增长的数据量仍然使得存储成为大多数 IT 预算的一项成本高昂的组成部分。
此外,由于数据的加速增长,很难在不超出预算的同时继续满足性能要求。
信息生命周期管理 (ILM) 正是为了应对这些挑战,它采用的方法是,根据企业目前的业务和性能需求将数据存储在不同的存储层和压缩层。
这种方法让企业有望通过优化存储同时获得成本节省和提高性能。
在 Oracle Database 12c 中,Advanced Compression 选件包含两个 ILM 特性。
热图可在行级和段级自动跟踪修改和查询的时间戳,提供对数据访问状况的详细洞察。
自动数据优化 (ADO) 可根据热图收集的信息,按照用户定义的策略自动移动和压缩数据。
通过热图和 ADO,可以轻松使用 Oracle 数据库压缩和分区技术中的现有创新,从而帮助降低管理大量数据的成本,同时提高应用程序和数据库的性能。
这些功能结合在一起可帮助在 Oracle 数据库中实施先进的信息生命周期管理。
存储分层和压缩分层一家企业(甚至同一个应用程序)不会均等地访问自己的所有数据:重要的数据或频繁访问的数据将需要优质的性能和可用性。
如果对所有数据都提供这种优质的访问质量,将会代价高昂且效率低下,并且在架构上通常也无法实现。
然而,IT 组织可以实施存储分层。
利用存储分层,组织可将其数据部署在不同的存储层,从而将较少访问的(“较冷的”)数据从昂贵且速度极快的存储迁移出去。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ORACLE 10G自动化特性在联通BSS系统性能优化工作中的应用摘要:在介绍Oracle 9i版本下性能优化的基本方法基础上,着重论述了Oracle 10g版本中的一些自动化特性,以及应用10g中的自动化特性进行数据库系统性能优化的方法和案例。
关键词:Oracle 自动化;10G 优化;ADDMOracle数据库是中国联通核心业务支撑系统中最主要的关系型数据库管理系统。
在联通BSS业务支撑系统的体系结构中,绝大多数的子系统都是典型的在线事务处理系统(OLTP系统),对业务处理的实时性和性能要求非常高。
基于以上情况,对Oralce数据库及BSS应用系统进行不断地性能调整和优化,就成为联通业务支撑工作中一个必不可少的关键性工作。
Oracle 10G中很多性能优化工作可以借助自动化的工具方便快捷地进行,使性能优化工作的效率和效果得以大幅提升。
1Oracle 9i环境下性能优化的典型方法和问题1.1Oracle 9i环境下典型的性能优化步骤通常情况下Oracle 9i环境下的性能优化工作的步骤如下:①用户或应用维护人员反馈:“某个应用场景下,系统反应很慢”;②数据库管理员(DBA)人工观测该应用是否确实比较慢,或者根据以往记录的性能测试数据来比较,确认该性能问题是否确实存在;③使用统计信息收集工具包-StatsPack包(以下简称SP 包),在可能会发生性能问题的时间段,进行性能统计信息搜集(即进行“snapshot快照”);④使用SP包,生成SP分析报告;⑤DBA阅读SP分析报告,结合自己的经验,手工在浩如烟海的信息中找到可能存在的性能瓶颈;⑥对于性能瓶颈,DBA结合自己的经验,手工设计优化方案;⑦DBA或应用系统开发人员,进行数据库配置、数据库对象或应用程序的调整;⑧调整完成后,再次进行性能表现的观测,如果问题没有得到解决,则再次从步骤三开始进行新一轮的过程,直至问题得以解决。
Oracle 9i时期典型的性能优化步骤的示意图如图1所示:图1Oracle9i时期典型的性能优化的步骤1.2Oracle 9i环境下性能优化方法存在的问题从上述步骤中可以明显看出,9i环境下的性能优化,均是DBA人工处理,所有的判断和决策都依靠人来开展,不仅非常耗时耗力,而且对进行优化工作的人员素质要求较高,对DBA 的“经验”要求极高,旺旺只有对业务较熟悉的DBA才能进行一些有效的优化工作。
2Oracle 10G的自动化特性介绍2.1Oracle 10G的自动化特性概述Oracle 10G在降低DBA工作强度和提高工作效率和质量方面做了很多改进:丰富了大量的ADVICE功能;新增了很多有用的自动化功能,如自动化数据库诊断监控(ADDM)、SharedPool内存自动管理(ASMM)、自动段管理(ASM)、优化器统计信息自动收集(AOSC)等。
2.2Oracle 10G部分实用的自动化特性介绍2.2.1自动数据库诊断监控ADDM自动数据库诊断监控(Automatic Database Diagnostic Monitor,后文简称ADDM)是10G自动化体系中最重要的一个部分。
简单的说,ADDM是对以前版本中SP包的增强,它在以前的SP包的基础上新增了如下特性:①自动后台执行快照:自动快照的最大好处是可以在出现性能问题后,不用担心已经错过了性能问题突发的时刻,可以不再等待问题重现;②更多的统计信息种类:ADDM快照所收集的信息比9i的SP包快照收集的信息种类多了很多,很显然,收集的统计信息的种类增多,对快速准确分析和解决性能问题极有好处;③增强分析报告的可读性:分析报告可读性的增强是ADDM技术中最吸引人眼球的一个进步:9i中SP报告的内容完全是一些统计数据,没有任何“该怎么做”的建议。
而在10G中,ADDM的报告的内容已经是Oracle 分析完成的“汇报材料”,里面包含了各类有益的、具备可操作性的建议。
2.2.2自动共享内存管理ASMM自动共享内存管理Automatic Shared Memory Management (后文简称ASMM)是对Oracle最重要的内存结构-SGA进行自动化管理的先进技术。
SGA包括DB CACHE、SHARED POOL、LARGE POOL、JA V A POOL等核心内存组件,而对各组件大小的调整一直是Oracle数据库性能调优的重要手段。
在之前版本中,需要DBA 根据经验来决定每个组件的的大小。
这种手工模式存在很大的弊端,一是非常非常麻烦,二是很难适应多变的应用场景。
在10G中,ASMM技术的引入,可以很好地解决以前的问题,DBA不需要再操心各组件之间的平衡,只需设置一个较大的SGA_TARGET参数即可,该参数指定了SGA的目标容量,Oracle的MMAN进程会自动在SGA总容量范围内进行各组件的尺寸调整。
下面这个应用场景的例子可以很好地说明ASMM作用:图2ASMM自动内存调整示意图大多数应用系统,都或多或少存在这样一种情况:白天营业期间,系统是典型的OLTP应用系统,需要很大的buffer cache,而到了夜晚,系统的特性又变得更像DSS应用系统,批量后台任务大大增加(如统计报表),这时需要更大的large pool。
ASMM可以很好地满足应用的需要:在SGA_TARGET 总量范围内,白天自动增加buffer cache、减少large pool,晚上则反过来,这样既很好地满足了白天需要大buffer cache以保证高性能I/O性能,又确保了晚上有足够的large pool用于支持大量的并行查询、大量排序。
2.2.3自动段管理建议ASA自动段管理建议Automatic Segment Advisor(后文简称ASA)也是10G新增的一个很有特色的自动化特性。
对段空间的管理Oracle一直使用高水位线方式管理(后文称HWM),这种管理机制的最大弊端之一是易产生碎片问题,导致空间利用率差和访问性能低。
在以往版本中,核查碎片问题需要DBA手工编写和执行一些脚本,并和熟悉应用的人员一起讨论以确认需发现碎片多的对象。
在10G中,ASA会每天自动运行一次,并对热对象(HOT OBJECT,即访问频率高的对象)段空间碎片情况予以检查,检查的结果会明确报告哪些段的碎片问题严重,并给出压缩的建议和脚本。
2.2.4SQL调优助手SQL Tuning Advisor在性能调优工作中,很多时候,最终的调整对象往往是某条具体的SQL语句,即通过对某些有性能问题的SQL语句调整来达到性能优化的目的。
在以往版本中,大多数情况下,需要由DBA或开发人员人工进行分析、调整、测试。
在10G中,对于SQL语句优化可以借助SQL Tunning Advisor进行,自动对疑似有性能问题的SQL语句进行分析,并获得优化的建议。
3Oracle 10G环境下性能优化的典型方法由于以ADDM为代表的多种自动化特性的存在,在10G 中对系统性能进行优化的步骤就相对地简化了许多,如图2所示。
步骤如下:①用户或应用维护人员反馈:“某个应用场景下,系统反应很慢”;②DBA确认该性能问题是否确实存在;③使用ADDM工具,直接对发生性能问题时间段内的快照进行分析;④阅读ADDM分析报告,报告中已经明确描述了哪里存在重要的性能瓶颈;⑤利用ADDM报告中建议的解决方案,再结合Segment advisor和SQL tunning advisor等工具,实施优化;⑥调整完成后,再次进行性能表现的观测,如果问题没有得到解决,则再次从步骤3开始进行新一轮的过程,直至问题得以解决。
4联通新一代BSS系统性能优化案例介绍下面是Oracle 10G自动化特性在新疆联通BSS系统上的一次性能优化的实际应用案例。
4.1接到性能问题投诉某日,应用系统管理员接到客服投诉,反映系统某新增功能操作非常慢,点击完“查询”按钮后,长时间系统没有响应。
图3Oracle 10Gj时期典型的性能优化的步骤4.2用ADDM核查性能问题DBA和应用系统管理员对该功能进行测试,发现性能问题确实存在。
恰好发生性能问题的数据库版本是10.2.0.4.0,DBA随即使用ADDM特性,针对最近2小时之内的统计快照,使用$Oracle_HOME/rdbms/admin/addmrpt脚本生成ADDM报告(下文简称《报告》)。
《报告》中,很明确报出了3类可能影响性能问题的重要因素:①部分segment可能存在不合理性,导致IO wait;②部分sql语句消耗了过多的时间和I/O wait;③SGA尺寸不合适,导致附加的I/O 或hard parses。
4.3根据ADDM的建议实施优化对于以上3类问题,《报告》也分别明确给出了建议的解决方案。
对于“segment不合理性问题“,ADDM建议用segment advisor进一步核查。
对于“部分SQL语句不够优化的问题”,ADDM建议用SQL Tuning Advisor进一步核查。
对于“SGA尺寸不合适的问题”,ADDM建议调整SGA_TARGET的大小。
4.3.1用segment advisor核查段不合理性问题以《报告》中反馈的JBPM_V ARIABLEINSTANCE表为例,概述segment advisor的用法:首先,依次执行dbms_advisor包的create_task、create_object、set_task_parameter和execute_task四个过程,用来运行一次segment advisor。
然后查看DBA_ADVISOR_RECOMMENDATIONS、DBA_ADVISOR_FINDINGS和DBA_ADVISOR_ACTIONS三个数据字典视图,即可看到相应的问题细节和解决方案细节。
本次核查的结果,确认TASKBILL_INCALL_INFO表需要进行空间回收并需要打开row movement属性,同时给出了具体的执行脚本。
4.3.2SQL Tuning Advisor核查SQL语句性能问题下面以《报告》中反馈的这条问题的sql语句为例,介绍SQL Tuning Advisor的用法:select variablein0_.TASKINSTANCE_ as TASKINS16_1_, variablein0_.CLASS_ as CLASS2_119_0_ from JBPM_V ARIABLEINSTANCE variablein0_ where variablein0_.TASKINSTANCE_=:bnd;首先,通过运行DBMS_SQLTUNE包的CREATE_TUNING_TASK和EXECUTE_TUNING_TASK过程创建和执行一个SQL Tuning 任务。