ORACLE优化总结和注意事项

合集下载

Oracle 大数据量操作优化

Oracle 大数据量操作优化

如何加速Oracle大批量数据处理

一、提高DML操作的办法:

简单说来:

1、暂停索引,更新后恢复.避免在更新的过程中涉及到索引的重建.

2、批量更新,每更新一些记录后及时进行提交动作.避免大量占用回滚段和或临时表空间.

3、创建一临时的大的表空间用来应对这些更新动作.

4、批量更新,每更新一些记录后及时进行提交动作.避免大量占用回滚段和或临时表空间.

5、创建一临时的大的表空间用来应对这些更新动作.

6、加大排序缓冲区

alter session set sort_area_size=100000000;

insert into tableb select*from tablea;

commit;

如果UPDATE的是索引字段,就会涉及到索引的重建,暂停索引不会提高多少的速度,反而有可能降低UPDATE 速度,

因为在更新是索引可以提高数据的查询速度,重建索引引起的速度降低影响不大。

ORACLE优化修改参数最多也只能把性能提高15%,大部分都是SQL语句的优化!

update总体来说比insert要慢:

几点建议:

1、如果更新的数据量接近整个表,就不应该使用index而应该采用全表扫描

2、减少不必要的index,因为update表通常需要update index

3、如果你的服务器有多个cpu,采用parellel hint,可以大幅度的提高效率

另外,建表的参数非常重要,对于更新非常频繁的表,建议加大PCTFREE的值,以保证数据块中有足够的空间用于UPDATE,从而降低CHAINED_ROWS。

二、各种批量DML操作:

OracleSQL性能优化及案例分析

OracleSQL性能优化及案例分析

OracleSQL性能优化及案例分析

标题:Oracle SQL性能优化及案例分析

一、引言

Oracle数据库作为全球最受欢迎的数据库之一,其性能优化问题一直是用户和开发者的焦点。尤其是在处理大量数据或复杂查询时,性能问题可能会严重影响应用程序的响应时间和用户体验。因此,对Oracle SQL进行性能优化及案例分析显得尤为重要。

二、Oracle SQL性能优化

1、索引优化

索引是提高Oracle SQL查询性能的重要工具。通过创建合适的索引,可以大大减少查询所需的时间,提高数据库的响应速度。然而,过多的索引可能会导致额外的存储空间和插入、更新、删除的性能损失。因此,需要根据实际应用的需求,合理地选择需要索引的字段。

2、查询优化

编写高效的SQL查询语句也是提高Oracle SQL性能的关键。这包括选择正确的查询语句、避免在查询中使用复杂的子查询、使用连接

(JOIN)代替子查询等。还可以使用Oracle SQL Profiler来分析和优化查询语句的性能。

3、数据库参数优化

Oracle数据库有许多参数可以影响SQL性能,如内存缓冲区、磁盘I/O参数等。根据实际应用的需求和硬件环境,对这些参数进行合理的调整,可以提高Oracle SQL的性能。

三、案例分析

1、案例一:索引优化

问题描述:在一个电商系统中,用户在搜索产品时,使用全文本搜索功能时经常出现延迟。

解决方案:通过分析用户搜索的习惯和需求,对产品表的名称和描述字段创建全文索引。同时,调整Oracle的全文搜索参数以提高搜索效率。

2、案例二:查询优化

oracle优化方法总结

oracle优化方法总结

千里之行,始于足下。

oracle优化方法总结

Oracle优化是提高数据库性能和响应能力的重要步骤。本文总结了一些常

见的Oracle优化方法。

1. 使用索引:索引是提高查询性能的主要方法。通过在表中创建适当的索引,可以加快查询速度,并减少数据访问的开销。但是要注意不要过度使用索引,因为过多的索引会增加写操作的开销。

2. 优化查询语句:查询语句的效率直接影响数据库的性能。可以通过合理地编写查询语句来提高性能。例如,使用JOIN来替代子查询,尽量避免使用通配符查询,使用LIMIT来限制结果集的大小等。

3. 优化表结构:表的设计和结构对数据库的性能也有很大的影响。合理的表设计可以减少数据冗余和不必要的数据存储,提高查询速度。例如,适当地

使用主键、外键和约束,避免过多的数据类型和字段等。

4. 优化数据库参数设置:Oracle有很多参数可以用来调整数据库的性能。根据具体的应用场景和需求,可以根据情况调整参数的值。例如,调整SGA和PGA的大小,设置合适的缓冲区大小,调整日志写入方式等。

5. 使用分区表:当表的数据量很大时,可以考虑将表分成多个分区。分区表可以加速查询和维护操作,提高数据库的性能。可以按照时间、地域、业务

等来进行分区。

6. 优化存储管理:Oracle提供了多种存储管理选项,如表空间和数据文

件管理。合理地分配存储空间和管理数据文件可以提高数据库的性能。例如,

定期清理无用的数据文件,使用自动扩展表空间等。

第1页/共2页

锲而不舍,金石可镂。

7. 数据压缩:对于大量重复数据或者冷数据,可以考虑使用Oracle的数

oracle日常运维操作总结

oracle日常运维操作总结

oracle日常运维操作总结

一、硬件维护

1.确保服务器硬件运行正常,定期检查硬件设备,如服务器、存储设备、网络设备等。

2.根据需要及时更新硬件设备,包括升级内存、硬盘等。

3.确保服务器周边设备运行正常,如UPS电源、空调等。

二、软件维护

1.确保Oracle数据库软件运行正常,定期检查软件版本、补丁等。

2.更新Oracle数据库软件,包括升级Oracle版本、打补丁等。

3.定期清理无用文件,包括日志文件、临时文件等。

4.定期备份数据库,确保数据安全。

三、性能优化

1.定期检查数据库性能,包括CPU使用率、内存使用率等。

2.根据性能检查结果,进行性能优化,如调整数据库参数、优化SQL语句等。

3.定期对数据库进行优化,包括重建索引、优化表空间等。

四、安全加固

1.配置Oracle数据库的安全设置,如用户密码、权限管理等。

2.确保数据库账户的安全性,如定期修改密码、禁用无效账户等。

3.防止SQL注入等攻击行为,如使用参数化查询、限制用户输入等。

4.定期检查数据库的安全日志,包括登录日志、操作日志等。

五、数据备份

1.制定数据备份计划,并按照计划执行备份操作。

2.采用多种备份方式,如全备份、增量备份等。

3.确保备份数据的可用性和完整性,如定期测试备份数据的恢复能力。

4.对备份数据进行存储和管理,确保数据安全。

六、故障处理

1.建立故障处理流程,明确故障处理责任人和流程步骤。

2.对发生的故障进行及时处理,如系统崩溃、网络故障等。

3.对故障进行分类和总结,建立故障处理知识库。

4.定期对系统进行健康检查和性能测试,预防故障发生。

Oracle数据库参数优化

Oracle数据库参数优化

Oracle数据库参数优化

参数优化对于Oracle数据库来说非常重要,因为它可以有效提高数据库的性能,并提供良好的可用性。参数优化可令数据库更加稳定和高效地运行。但是,在参数优化方面,很多初学者犯了不少错误,有些甚至会影响数据库的性能,甚至可能导致数据库出现问题。因此,在优化参数方面,必须慎重、细心、谨慎。

首先,在参数优化之前,必须对当前参数进行全面的测试,找出需要优化的参数。一般来说,优化可以采用两种方法,一种是优化全局参数,另一种是优化实例参数。如果参数设置过高或者过低,可能会影响数据库的性能,因此,在参数优化时,必须按照Oracle数据库提供的最佳实践去设置参数。

最后,应该强调的是,在参数优化时,不要增加参数或者设置参数太高,并且要确保参数优化后,数据库在重要的方面有所改善,比如。

oracle sql 优化技巧

oracle sql 优化技巧

oracle sql 优化技巧

(实用版3篇)

目录(篇1)

1.Oracle SQL 简介

2.优化技巧

2.1 减少访问数据库次数

2.2 选择最有效率的表名顺序

2.3 避免使用 SELECT

2.4 利用 DECODE 函数

2.5 设置 ARRAYSIZE 参数

2.6 使用 TRUNCATE 替代 DELETE

2.7 多使用 COMMIT 命令

2.8 合理使用索引

正文(篇1)

Oracle SQL 是一款广泛应用于各类大、中、小微机环境的高效、可靠的关系数据库管理系统。为了提高 Oracle SQL 的性能,本文将为您介绍一些优化技巧。

首先,减少访问数据库的次数是最基本的优化方法。Oracle 在内部执行了许多工作,如解析 SQL 语句、估算索引的利用率、读数据块等,这些都会大量耗费 Oracle 数据库的运行。因此,尽量减少访问数据库的次数,可以有效提高系统性能。

其次,选择最有效率的表名顺序也可以明显提升 Oracle 的性能。Oracle 解析器是按照从右到左的顺序处理 FROM 子句中的表名,因此,合理安排表名顺序,可以减少解析时间,提高查询效率。

在执行 SELECT 子句时,应尽量避免使用,因为 Oracle 在解析的过程中,会将依次转换成列名,这是通过查询数据字典完成的,耗费时间较长。

DECODE 函数也是一个很好的优化工具,它可以避免重复扫描相同记录,或者重复连接相同的表,提高查询效率。

在 SQLPlus 和 SQLForms 以及 ProC 中,可以重新设置 ARRAYSIZE 参数。该参数可以明显增加每次数据库访问时的检索数据量,从而提高系统性能。建议将该参数设置为 200。

Oracle数据库内存优化操作说明

Oracle数据库内存优化操作说明

千里之行,始于足下。

Oracle数据库内存优化操作说明

Oracle数据库的内存优化操作主要包括以下几个方面:

1. 调整SGA和PGA的大小:

- SGA(System Global Area)是Oracle数据库实例使用的内存区域,包括数据库缓存、共享池等。可以通过修改SGA_TARGET和SGA_MAX_SIZE等参数来调整SGA的大小。

- PGA(Program Global Area)是每个进程独自使用的内存区域,包括排序区、hash区等。可以通过修改PGA_AGGREGATE_TARGET参数来调整PGA的大小。

2. 合理配置各个内存区域的大小:

- 根据具体的数据库负载情况,可以调整SGA组件的大小,如缓冲区大小、共享池大小等,以提高数据库的性能。

- 合理配置PGA区域的大小,可以减少排序操作的磁盘访问,提高查询效率。

3. 使用自动内存管理 AMM(Automatic Memory Management):

- AMM是Oracle 11g及以上版本中提供的内存管理特性,可以自动分配SGA和PGA的大小。可以通过设置MEMORY_TARGET参数来启用AMM。

4. 使用自动PGA管理:

- Oracle 12c及以上版本中提供了自动PGA管理特性,可以根据需要自动调整PGA的大小。可以通过设置PGA_AGGREGATE_TARGET参数来启用自动PGA管理。

5. 合理配置数据库连接池:

第1页/共2页

锲而不舍,金石可镂。

- 如果数据库中有大量的并发连接,可以考虑启用连接池来管理连接,减少连接的开销,提高数据库的并发性能。

Oracle数据库参数优化

Oracle数据库参数优化

千里之行,始于足下。

Oracle数据库参数优化

Oracle数据库参数优化是指通过调整数据库的配置参数,提高数据库的性能和稳定性。下面是一些常见的Oracle数据库参数优化技巧:

1. SGA参数优化:

- 调整sga_target参数以控制SGA的大小。SGA包括数据库缓冲区、共享池、重做日志缓冲区等,适当调整SGA的大小可以减少IO操作,提高数据库性能。

- 调整db_cache_size参数以增大数据库缓冲区的大小,提高数据块的访问速度。

- 调整shared_pool_size参数以增大共享池的大小,提高SQL语句的解析和执行效率。

2. PGA参数优化:

- 调整pga_aggregate_target参数以控制PGA的大小。PGA是用于处理SQL查询和排序的内存区域,适当调整PGA的大小可以减少磁盘IO操作,提高查询和排序的性能。

3. Redo日志参数优化:

- 调整log_buffer参数以增大重做日志缓冲区的大小,减少频繁的重做日志刷新操作,提高数据库的写入性能。

- 调整log_checkpoint_timeout参数以控制重做日志刷新的频率,避免过于频繁的刷新。

4. 并行处理参数优化:

- 调整parallel_max_servers参数以增大并行处理的资源限制,提高并行查询和并行DML操作的性能。

第1页/共2页

锲而不舍,金石可镂。

- 调整parallel_min_servers参数以设置最小的并行处理资源数,避

免并行操作的启动延迟。

5. SQL优化:

- 使用合适的索引和优化的SQL语句,优化查询的执行计划。

oracle索引优化原则

oracle索引优化原则

oracle索引优化原则

Oracle索引是数据库优化中非常重要的一部分,它们能够在查询数据时提高查询效率和性能。然而,在使用Oracle索引时,需要遵守一些原则,以便最大程度地提高查询效率和性能。以下是一些Oracle索引优化的原则。

1.只在需要时使用索引

Oracle索引能够帮助我们提高查询效率和性能,但它们也会降低更新和插入数据的速度。因此,我们应当仅在需要时使用索引。如果使用过多的索引,会导致查询语句变得复

杂并且更新和插入速度变慢,从而影响整个数据库系统的性能。

2.使用唯一性索引

唯一性索引可以帮助我们避免重复数据的插入和更新。当数据库表中的某个列需要具

有唯一性时,我们可以使用唯一性索引来实现。这将确保同一列中的值不重复,从而提高

整个数据库系统的性能。

3.使用复合索引

如果查询语句需要同时查询多个列,我们可以使用复合索引来提高查询效率和性能。

使用复合索引时,需要注意索引的顺序,应该从前往后按照查询条件的顺序构建索引。这

样可以避免Oracle优化器无法使用索引而导致的全表扫描。

4.选择正确的索引类型

Oracle提供不同的索引类型,包括B树索引、位图索引、函数索引等。在选择索引类型时,我们应当根据查询语句的类型和数据的特点来选择最适合的索引类型。例如,如果

查询语句需要对大量的布尔类型或枚举类型数据进行查询,那么位图索引可能比B树索引

更适合。

5.避免过度索引化

过多的索引将会降低数据库系统的性能,每个索引都需要消耗一定的内存和磁盘空间,使得查询和更新操作变得更慢。因此,我们应避免对相同的列建立多个重复的索引,并仅

Oracle数据库优化

Oracle数据库优化

• 设置Fetch Size 当我们采用select从数据库查询数据时, 数据默认并不是一条一条返回给客户端的, 也不是一次全部返回客户端的,而是根据 客户端fetch_size参数处理,每次只返回 fetch_size条记录,当客户端游标遍历到尾 部时再从服务端取数据,直到最后全部传 送完成。所以如果我们要从服务端一次取 大量数据时,可以加大fetch_size,这样可 以减少结果数据传输的交互次数及服务器 数据准备时间,提高性能。
• •
我们一般在什么字段上建索引? 这是一个非常复杂的话题,需要对业务及数据充分分析后再能得出结果。主键 及外键通常都要有索引,其它需要建索引的字段应满足以下条件:
• • • •
1、字段出现在查询条件中,并且查询条件可以使用索引; 2、语句执行频率高,一天会有几千次以上; 3、通过字段条件可筛选的记录集很小,那数据筛选比例是多少才适合? 这个没有固定值,需要根据表数据量来评估,以下是经验公式,可用于快速评 估:
数据库访问性能优化
2012-05-25
• 一、数据库优化法则
1、减少数据访问(减少硬盘访问)
2、返回更少数据(减少网络传输或磁盘访问)
3、减少交互次数(减少网络传输) 4、减少服务器CPU开销(减少CPU及内存开销) 5、利用更多的资源(增加资源)
•二、Oracle数据库两个基本概念 1、数据块(Block)

Oracle数据库性能优化实战

Oracle数据库性能优化实战

Oracle数据库性能优化实战

第一章:性能优化的重要性

在当今信息时代,数据库是企业管理重要数据的核心,而数据

库性能又是保证企业信息系统高效运行的关键因素之一。优化数

据库的性能不仅可以提供更好的用户体验,还可以降低系统成本,提高企业的竞争力。

第二章:性能评估与分析

在性能优化之前,首先需要对数据库进行全面的评估与分析。

通过使用Oracle的性能监视工具,如AWR报告、ASH报告以及SQL跟踪,我们可以了解数据库系统的整体性能状况,并找出性

能瓶颈所在。

第三章:优化数据库设计

优化数据库设计是提高数据库性能的重要一环。在设计数据库时,应该考虑到数据表的范式化、索引的建立和查询语句的优化

等因素。通过合理的数据库设计,可以减少数据冗余和歧义,以

及提高查询效率。

第四章:优化SQL查询

大多数数据库性能问题都与SQL查询有关。在实际应用中,我们经常遇到一些性能低下的SQL语句,如全表扫描、死锁、缓存

失效等。通过编写优化的SQL查询,我们可以减少数据库的负载,提高系统响应速度。

第五章:优化索引设计

索引是加速数据库查询的关键因素之一。在优化索引设计时,

需要对查询语句的特点进行分析,并根据查询的频率和数据的分

布情况,选择合适的索引类型和索引列。此外,还需要定期进行

索引维护,包括删除冗余索引和重建破碎索引等操作。

第六章:优化存储结构与文件系统

数据库的存储结构和文件系统也对性能有着重要的影响。通过

合理设置数据文件、日志文件和临时文件的存放位置,以及调整

文件系统的参数,可以提高IO的吞吐量和响应时间。同时,还可

以对表空间进行分区和压缩,以减少存储空间的占用。

Oracle百万数据查询优化技巧三十则

Oracle百万数据查询优化技巧三十则

Oracle百万数据查询优化技巧三十则

Oracle百万数据查询优化技巧三十则

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及 order by

涉及的列上建立索引。

2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放

弃使用索引而进行全表扫描,如:

select id from t where num is null

可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0

3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引

而进行全表扫描。

4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使

用索引而进行全表扫描,如:

select id from t where num=10 or num=20

可以这样查询:

select id from t where num=10

union all

select id from t where num=20

5.in 和 not in 也要慎用,否则会导致全表扫描,如:

select id from t where num in(1,2,3)

对于连续的数值,能用 between 就不要用 in 了:

select id from t where num between 1 and 3

6.下面的查询也将导致全表扫描:

select id from t where name like '%abc%'

常见Oracle数据库优化策略与方法

常见Oracle数据库优化策略与方法

常见Oracle数据库优化策略与方法

Oracle数据库优化是提高数据库性能的关键步骤,可以采取多种策略。以下是一些常见的Oracle数据库优化策略:

1.硬件优化:这是最基本的优化方式。通过升级硬件,比如增加RAM、使用

更快的磁盘、使用更强大的CPU等,可以极大地提升Oracle数据库的性能。

2.网络优化:通过优化网络连接,减少网络延迟,可以提高远程查询的效率。

3.查询优化:对SQL查询进行优化,使其更快地执行。这包括使用更有效的

查询计划,减少全表扫描,以及使用索引等。

4.表分区:对大表进行分区可以提高查询效率。分区可以将一个大表分成多

个小表,每个小表可以单独存储和查询。

5.数据库参数优化:调整Oracle数据库的参数设置,使其适应工作负载,可

以提高性能。例如,调整内存分配,可以提升缓存性能。

6.数据库设计优化:例如,规范化可以减少数据冗余,而反规范化则可以提

升查询性能。

7.索引优化:创建和维护索引是提高查询性能的重要手段。但过多的索引可

能会降低写操作的性能,因此需要权衡。

8.并行处理:对于大型查询和批量操作,可以使用并行处理来提高性能。

9.日志文件优化:适当调整日志文件的配置,可以提高恢复速度和性能。

10.监控和调优:使用Oracle提供的工具和技术监控数据库性能,定期进行性

能检查和调优。

请注意,这些策略并非一成不变,需要根据实际情况进行调整。在进行优化时,务必先备份数据和配置,以防万一。

OracleDB性能优化与高可用解决方案

OracleDB性能优化与高可用解决方案

Oracle GoldenGate
数据集成与实时数据复制解决方案
Oracle GoldenGate是Oracle提供的数据集成和实时数据复制解决方案。它能够实现跨不同平台、不同数据库之间的数据同步, 确保数据的实时性和一致性。通过GoldenGate,可以实现数据备份、容灾、报表合并等多种应用场景。
03 Oracle数据库监控与调优 工具
Oracle Enterprise Manager
概述
Oracle Enterprise Manager是一个全面的数据库管理解 决方案,提供了对Oracle数据库的集中式管理、监控和自 动化功能。
主要功能
通过Oracle Enterprise Manager,管理员可以监控数据 库性能、管理用户和权限、执行备份和恢复等任务,以及 进行自动化的数据库调优。
优势
能够自动化地收集和分析性能数 据,减少了手动收集和分析的工 作量,提高了性能问题的发现和 处理速度。
SQL Tuning Advisor
概述
SQL Tuning Advisor是Oracle数据库的一个调优工具,它 可以帮助管理员优化SQL语句的性能。
主要功能
SQL Tuning Advisor通过分析SQL语句的执行计划和性能 数据,提出优化建议,如更改索引、调整SQL语句结构等。
CPU与内存优化

oracle sql优化常用的15种方法

oracle sql优化常用的15种方法

oracle sql优化常用的15种方法

1. 使用合适的索引

索引是提高查询性能的重要手段。在设计表结构时,根据查询需求

和数据特点合理地添加索引。可以通过创建单列索引、复合索引或者

位图索引等方式来优化SQL查询。

2. 确保SQL语句逻辑正确

SQL语句的逻辑错误可能会导致低效查询。因此,在编写SQL语

句前,需要仔细分析查询条件,确保逻辑正确性。

3. 使用连接替代子查询

在一些场景下,使用连接(JOIN)操作可以替代子查询,从而减少

查询的复杂度。连接操作能够将多个数据集合合并为一个结果集,避

免多次查询和表的扫描操作。

4. 避免使用通配符查询

通配符查询(如LIKE '%value%')在一些情况下可能导致全表扫描,性能低下。尽量使用前缀匹配(LIKE 'value%')或者使用全文索引进

行模糊查询。

5. 注意选择合适的数据类型

选择合适的数据类型有助于提高SQL查询的效率。对于整型数据,尽量使用小范围的数据类型,如TINYINT、SMALLINT等。对于字符

串数据,使用CHAR字段而不是VARCHAR,可以避免存储长度不一

致带来的性能问题。

6. 优化查询计划

查询计划是数据库在执行SQL查询时生成的执行计划。通过使用EXPLAIN PLAN命令或者查询计划工具,可以分析查询计划,找出性

能瓶颈所在,并对其进行优化。

7. 减少磁盘IO

磁盘IO是影响查询性能的重要因素之一。可以通过增加内存缓存

区(如SGA)、使用高速磁盘(如SSD)、使用合适的文件系统(如ASM)等方式来减少磁盘IO。

8. 分区表

对于大数据量的表,可以考虑使用分区表进行查询优化。分区表可

oracle日常运维总结

oracle日常运维总结

oracle日常运维总结

Oracle是一种功能强大的关系型数据库管理系统,广泛应用于各种企业级应用程序中。作为一名Oracle数据库管理员(DBA),日常运维是我们工作的重要组成部分。在这篇文章中,我将总结一些Oracle日常运维的经验和注意事项,希望对其他DBA或使用Oracle 的人员有所帮助。

一、备份与恢复

备份和恢复是数据库管理中至关重要的一环。我们需要定期进行数据库备份,以防止数据丢失和系统故障。在备份过程中,我们可以使用Oracle提供的工具和功能,如RMAN(Recovery Manager)和Data Pump。RMAN提供了完整的备份和恢复解决方案,可以进行全库备份和增量备份,并且支持备份集和归档日志的管理。Data Pump 可以用于导出和导入数据库对象和数据,可以选择全库导出或指定对象导出。

恢复也是DBA必须掌握的技能之一。当数据库遇到故障或数据损坏时,我们需要根据备份文件进行恢复。在恢复过程中,我们需要了解不同的恢复场景和方法,如完全恢复、不完全恢复和点恢复。同时,我们还要考虑日志文件的应用和恢复集的管理,确保数据的一致性和完整性。

二、性能优化

Oracle数据库的性能优化是DBA不可或缺的工作之一。通过监控和调整数据库的各个方面,我们可以提高数据库的响应速度和吞吐量,提升用户体验。以下是一些常见的性能优化技巧:

1. SQL调优:通过分析和改进SQL语句,优化查询计划和执行效率。我们可以使用Oracle提供的SQL调优工具,如SQL Tuning Advisor和SQL Access Advisor。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ORACLE优化总结和注意事项

本文档中对优化方法进行详述,并对在优化过程中发现的一些问题进行总结。列出ORACLE的一些注意事项

注意事项:

1.安装的过程中,请务必进行正确安装。

2.当安装过程中出现错误的时候,最好清除原有遗留信息,进行重装,否则在数据库运行

的过程中可能会出现各种诡异的问题。

3.当数据库安装的过程中如果有警告信息,请记录下来,存档,方便排查数据库问题

4.安装的过程中请选择OLTP的数据模板Transaction Processing

5.安装过程中文件的创建

Controlfile、Datafiles、Redo Log Groups如果条件允许,最好分别放于不同的磁盘上。其中Controlfile和Redo Log Groups要尽量保证放在不同的磁盘上

6.其中Redo Log Groups重做日志组最好建5组以上,每个文件大小在1G以上,最大不超

过3G,避免出现进行check_point的时候造成buffer wait 导致数据库宕机

7.检查/etc/hosts文件

配置最后一行信息,将当前的主机名和ip配对起来,避免应用服务连接数据库导致的性能损耗

8.安装完成后,请启动数据库确保数据库基本安装成功

步骤:

sqlplus /nolog

connect /as sysdba

startup//启动数据库实例

exit//退出sqlplus

lsnrctl start//启动监听

emctl start dbconsole

上述步骤如果执行完,没有报错,则说明数据库基本安装正确,并可正常运行。如果执行上述操作的时候出现了问题,则说明数据库安装的过程中出现了某些问题,即使数据库实例当前可以启动连接,但是在以后稳定服务的过程中也是有可能会出现一些数据库问题的。

配置OCI连接

因为当前应用服务采用OCI连接的方式,因此在运行应用服务之前要配置OCI的连接条件

1、需求软件:

如果应用服务是跟ORACLE数据库安装在一台机器上,则不需要额外软件,直接进入第2步即可

如果应用服务是跟ORACLE数据库分开部署,则需要在部署应用服务的机器上安装一个客户端(精简客户端即可大小几M)需要从官方网站下载三个文件instantclient-basic-linux-x86-64-10.2.0.3-20070103.zip

instantclient-sqlplus-linux-x86-64-10.2.0.3-20070103.zip

instantclient-jdbc-linux-x86-64-10.2.0.3-20070103.zip

解压到同一个目录中,同时在该目录下新建一个文件tnsnames.ora文件,文件中添加以下内容

# Generated by Oracle configuration tools.

HMS =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.15.61)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = hms)

)

)

注:本文件可以直接从oralce的安装目录中获取,只要修改HOST和服务名,SID号即可文件目录:/export/home/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora 2、配置操作系统变量

如果应用服务是跟ORACLE数据库安装在一台机器上,只需要将oracle用户的环境变量信息拷贝到启动应用服务的用户下面即可。进入用户的根目录下,修改.bash_profile文件或者.bashrc文件(经测试两个文件均可以,个人推荐修改.bashrc 文件)

下图是Oracle环境变量,需要拷贝的是关于ORACLE的变量。该配置要求用户具有oracle安装目录下的读权限

如果是分开部署安装的精简客户端,则需要自己手工添加环境变量信息。进入用户根目录下修改.bashrc文件或者.bash_profile文件。如下图

3、配置完后,使文件生效,source .bashrc

4、运行sqlplus /nolog命令如果能进入sql命令行,则说明配置成功

优化方法

在讲述优化方法之前,首先要明白,优化方法是针对特定的业务的,不同的业务对数据库有不同的需求,然后就会有不同的优化方法

下述优化方法针对的业务为:当前网管服务业务

事务量很大,但是单个事务较小。插入和更新频繁,并且重复sql语句较多

5000个网元以上,每15分钟报一次性能文件、10分钟一次告警、3分钟一次Inform,30分钟一次UE日志

机器的配置内存要在20g以上,cpu至少要有4个核心

本次优化主要是对数据库服务参数的调整达到提高数据库性能的目的

数据库的调优是一个不断持续的过程,不是一次就能达到目标的,需要在业务稳定运行的过程中不断跟踪数据库状态,根据数据库的瓶颈不断对服务器参数进行微调,最终确定最优参数值。

当前调优内容和方法如下:

1、归档模式更改:

当前值:非归档模式

方法:

✓sqlplus / as sysdba

✓shutdown immediate

✓startup mount

✓alter database noarchivelog

✓alter database open

2、修改参数sga_targe和sga_max_size加大oracle的缓存空间,进行了多次调整

当前值:sga_targe 16G ; sga_max_size 16G

方法:

✓alter system set sga_target=16G scope=spfile;

✓alter system set sga_max_size=16G scope=spfile;

3、将SGA区内存分配改为自动管理(即是启用ASMM):修改参数statistics_level

当前值:TYPICAL

相关文档
最新文档