Oracle性能调整与优化
- 格式:pdf
- 大小:3.88 MB
- 文档页数:35
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 系统参数调整和优化原则(来自时代朝阳数据库技术中心)粗略来讲,系统调整一般反映在下列方面:•Shared Pool and Library Cache Performance Tuning(共享池和Library Cache):Oracle将SQL语句、存储包、对象信息和很多其他的项目保存在SGA中一个叫共享池(shared pool)的地方。
这个可共享的区域由一个成熟的高速缓存和堆管理器管理。
它有3个基本的问题要克服:o内存分配的单元不是个常量。
从池中分配的内存单元可能是从几个字节到几千个字节。
o在用户完成工作时,不是所有的内存都能够释放出来,因为共享池的目标是使信息最大程度的共享。
o没有一个象其他常规的高速缓存的文件做后备的存储那样磁盘空间供整页的导出。
只有可重新创建的信息可以从Cache中丢弃,在他被再次需要的时候再重新创建。
共享池调整的技巧有:o刷(Flush)共享池可以使小块的内存合并为大块的内存。
当共享池的碎片过多时,这能够暂时恢复性能。
刷共享池可以使用语句:alter system flush shared_pool;o注意执行这个语句将会造成性能的暂时尖峰,因为对象都要重新加载。
所以应当在数据库的负载不是很大的情况下进行。
o确保联机事务处理(OLTP)应用使用绑定变量(bind variables). 这一点对于决策支持系统(DSS)并不重要。
o确保library cache 的命中率> 95%o增大共享池并不总能解决命中率过多的问题。
•Buffer Cache Performance Tuning(数据库缓存调整):数据库缓存保持了从磁盘上读去的数据块的备份。
因为缓存通常受到内存约束的限制,不是磁盘上所有的数据都可以放到缓存里。
当缓存满了的时候,后来的缓存不中使得Oracle 将已经在缓存中的数据写到磁盘上。
后续的对写到磁盘上的数据的访问还会造成缓存不中。
从缓存调整的角度看,应力求避免以下的问题:o'缓存的最近最少使用(LRN)链'('cache buffers LRU chain' )的加锁竞争o'平均写队列'("Average Write Queue" )长度过大o过多时间花在等待‘写完毕等待上’("write complete waits" )o过多时间花在等待‘缓冲释放等待’上("free buffer waits" )•Latch Contention加锁(插销)竞争:插销加锁是SGA中保护共享数据结构的低层的串行化机制。
Oracle性能调整(一)——基本参数调整一、操作系统参数交换区是Oracle的一项基本的要求。
可以根据Oracle的发行要求来确定。
一般交换区大小的要求是该服务器内存的2倍至4倍之间,建议是内存的4倍Note2:oracle 文件设置当服务器平台已完成操作系统的安装后,就应该开始认真的考虑下面的问题:A、是否采用裸设备实际应用的生产系统基本都是采用裸设备,使用裸设备对于读写频繁的数据库应用来说,可以极大地提高数据库系统的性能。
B、安装点的考虑Oracle的安装点就是指数据文件、日志文件和控制文件的安置路径,为了使系统在以后运行性能达到优化,建议将数据文件、日志文件和控制文件的安置路径与数据库系统存放在不同的路径上。
最好将数据文件、日志文件和控制文件分别存放在不同的路径。
C、SYSTEM表空间对应数据文件在自定义安装会话中,建议你根据需要设置system表空间所对应的数据文件的大小。
一般要设置比默认值的2倍。
该数据文件的大小最好是在300MB至500MB间。
因为数据文件太小不利于系统的运行。
D、临时表空间对应的数据文件临时表空间对应的数据文件可以根据将来系统存放的应用的处理情况来定。
比如系统将来可能要经常进程排序处理,则需要设置较大的临时表空间,也可能需要再建立新的临时表空间。
这里建议临时表空间的数据文件在100MB至300MB左右。
E、回滚段表空间对应的数据文件回滚表空间都是系统管理,初始值也是根据系统事务量预估计的值,实际到运行阶段如果系统常出现ORA-01555错误的时候,可能就需要增加回滚表空间的大小。
F、日志文件的大小日志文件的大小对于Oracle系统的运行也是相当重要。
默认值是太小。
实际根据事务繁忙预估计日志大小,没有固定的具体值范围,建议重做日志切换时间不能过短也不能过长,一般在20-40分钟左右。
该参数可以在系统运行期间根据数据库系统日志切换时间重新调整,控制文件的大小。
G、数据库块的大小如果你的应用系统是OLTP的话,可以采用较小的数据库块。
Oracle数据库参数优化和调整参数主要有以下内容:(1)优化初始参数(2)优化内存(3)优化I/O(4)优化资源争用(5)其它参数优化可变参数的优化参数按其作用可以分为两大类,一大类是起限制作用的,如OPEN_CURSORS;另一大类是影响系统性能的,如DB_BLOCK_BUFFERS。
在进行数据库系统性能优化时,需要熟练掌握和了解一些可变参数。
本文讨论了一些对系统性能有较大影响的参数。
限制类可变参数(1)DML_LOCKS该参数表明多少个用户,可同时能修改多少张表。
例如:有三个用户同时修改二张表,则要求表上的总数为6。
若置为0,则组织队列不起作用,其性能会稍有提高。
使用该参数时不能用DROP TABLE、CREATE INDEX或显式封锁。
(2)LICENSE_MAX_SESSION该参数指出允许并发用户会话的最大数。
若此参数为0,则不能实施并发。
若并发的用户会话数已达到此极限,则只有具有RESTRICTED SESSION权限的用户才能连接到服务器。
(3)LICENSE_MAX_USERS该参数指出在一个数据库上可建立的最大用户数。
当达到最大值时,便不能再建新用户,可改变此值以放松限制。
在LICENSE_MAX_SESSION 或LICENSE_MAX_USER为0时,则并发会话或任何用户都不能用。
若对不同的实例,此参数不同时,则以第一个登录的数据库实例的参数为准。
(4)MAX_DUMP_FILE_SIZE该参数指定操作系统中写跟踪文件的块的最大值。
可用此值来限制跟踪文件的空间。
(5)OPEN_CURSORS该参数指明一个用户进程能同时打开光标的最大数,它能限制每个用户进程占用的内存空间量。
(6)OPEN_LINKS该参数指定并发连接到远程数据库的最大用户进程数。
若同时引用多个数据库,则应该增大该值。
例如:同时交替访问A、B和C三个数据库时,若OPEN_LINKS设置为2,则需花费等待连接时间。
千里之行,始于足下。
Oracle性能调优
Oracle性能调优是指通过对数据库系统进行各种配置和优化,以提升数据库的响应速度、并发能力和稳定性,以满足用户的需求。
以下是一些常见的Oracle性能调优技巧:
1. 硬件配置:增加服务器的内存、CPU和磁盘等硬件资源,以提高数据库的整体性能。
2. SQL优化:通过检查和优化SQL语句,去除不必要的查询、索引不匹配等问题,以提高查询性能。
3. 索引优化:根据实际查询访问模式,设计合适的索引并定期进行重建和维护,以加快查询速度。
4. 数据库参数优化:调整Oracle数据库的各项参数,如SGA、PGA、缓冲池等,以提升数据库的性能。
5. 分区表和分区索引:将大表分割为多个小表,并使用分区索引来提高查询效率和维护性能。
6. 批处理操作:对于大批量的数据操作,尽量使用批处理操作,减少物理I/O次数,提高处理效率。
7. 数据库统计信息收集:定期收集和更新表的统计信息,以便查询优化器做出更准确的查询计划。
第1页/共2页
锲而不舍,金石可镂。
8. 资源管理:合理配置Oracle数据库的资源管理策略,如设置合适的连接数、并行度等,以实现最大化的利用率。
9. 数据库分析工具:使用各种数据库性能监控和分析工具,如AWR报告、SQL Trace等,来定位和解决性能瓶颈问题。
总结来说,Oracle性能调优是一个持续优化的过程,需要不断地监测、分析、调整和测试,以实现最佳的数据库性能。
同时,在调优过程中需根据具体情况进行有针对性的优化措施,以达到最好的性能效果。
ORACLE数据库性能调整与优化分析摘要Oracle数据库的主要作用是对多种业务形式进行处理,保障各项业务的稳定运行,因此,Oracle数据库应用系统性能优化至关重要。
对此,本文首先对Oracle数据库进行了介绍,然后对ORACLE数据库性能调整与优化的必要性进行了分析,并对具体的性能调整优化策略进行了详细探究。
关键词Oracle数据库;性能;优化前言现如今,oracle数据库技术日漸完善,其应用范围也越来越广泛,但是,随着数据信息的不断增加,oracle数据库的应用安全性也受到了较大威胁,在数据库信息的实际应用中,偷取、破坏等问题较为常见,这样就会影响oracle数据库的正常运行,甚至会造成信息丢失的问题。
因此,亟须对oracle数据库使用性能进行调整和优化。
1 Oracle数据库随着oracle数据库的快速发展,其规范性逐渐加强,使用性能也日渐完善,oracle数据库是一种通用型数据库,具有完善的数据管理功能,其害是一项关系型数据,在实际应用中,可以对中业务的数据关系进行仔细清理,从而构建出针对性较强的数据库结构形式,然后将所有信息数据传递至计算机终端,通过应用计算机终端相关软件,为oracle数据库运行提供良好的操作环境。
在oracle数据库的分布式操作环境中,可以对数据库中的各类信息进行及时更新,从而满足不同数据使用者的查询需要。
现如今,oracle数据库注意被应用于公共部门中,比如医院、银行等等,oracle数据库的内存结构形式如图1所示。
2 ORACLE数据库性能调整与优化的必要性数据库是一种数据集合,其具有组织性、共享性特征,并被长期存放于计算机中。
数据库系统是由很多部分所组成的,包括计算机硬件设备、计算机软件、数据库管理人员等等,在各项信息系统操作过程中,都需要依赖后台数据库的辅助。
在大数据时代,数据资源量逐渐增多,网络用户对于数据库的访问量逐渐增大,同时,对于数据库的访问要求也越来越高,很多数据信息被长期读取,并被修改和存储,这样很容易增加数据库负荷,导致数据库负载增加,很难对系统内部资源进行科学合理的分配,同时还会影响数据库的响应效率,无法更好地服务于数据库访问用户。
oracle调整方案Oracle 调整方案概述:在使用 Oracle 数据库的过程中,为了提高性能和优化查询效率,调整数据库配置和参数设置是一个重要的工作。
本文将介绍一些常见的Oracle 数据库调整方案,帮助您优化数据库性能。
一、硬件配置调整1. 增加内存:增加数据库服务器的内存可以提高数据库的性能,特别是在处理大量并发查询和高负载的情况下。
2. 增加硬盘容量:如果数据库的数据量持续增长,可以考虑增加硬盘容量,以确保数据库有足够的空间存储数据。
3. 使用高速磁盘:使用高速磁盘,如固态硬盘(SSD),可以提高数据库的读写速度和响应时间。
二、数据库参数调整1. SGA(System Global Area)调整:SGA 是 Oracle 数据库的内存区域,包括共享池、数据库缓冲区等。
可以通过调整 SGA 参数的大小来提高数据库的性能。
2. PGA(Program Global Area)调整:PGA 是每个连接到数据库的进程所使用的内存区域,可以通过调整 PGA 参数的大小来优化 SQL 查询性能。
3. 调整日志缓冲区大小:适当增加日志缓冲区的大小可以提高数据库的写入性能,特别是在大批量写入数据的情况下。
4. 调整查询优化器参数:Oracle 使用查询优化器来生成最优的执行计划。
通过调整一些查询优化器参数,如 optimizer_mode、optimizer_index_cost_adj 等,可以提高查询效率。
三、索引调整1. 分析索引的使用情况:使用 Oracle 提供的分析工具,如 Explain Plan,可以分析查询语句的执行计划和索引的使用情况。
根据分析结果,可以考虑删除不使用或者很少使用的索引,减少索引维护的开销。
2. 创建合适的索引:对于经常用于查询的列,可以创建合适的索引,提高查询性能。
但是要注意索引的数量和大小,过多或过大的索引会增加数据库的开销。
3. 索引压缩:对于大型表的索引,可以考虑使用 Oracle 提供的索引压缩功能,减少索引的大小,提高查询性能。
Oracle数据库优化与调优Oracle是目前市场上应用最广泛的数据库管理系统之一,而随着业务量的不断增长和数据量的持续膨胀,如何优化和调优Oracle数据库的性能已成为企业数据管理领域必须面对的问题。
本文将就Oracle数据库的优化调优进行详细阐述,帮助读者更好地了解Oracle数据库优化与调优的方法和技巧。
一、Oracle数据库优化1.硬件优化硬件优化是Oracle数据库优化的重要方面,可以通过增加机器内存、扩展硬盘空间、提高网络速度等方式来优化硬件资源。
Oracle数据库安装时需要设置多个参数,包括内存参数、网络参数和磁盘IO参数等。
根据具体的硬件配置和业务需求,可以适当调整这些参数。
2.数据库结构优化数据库结构优化可以提高Oracle数据库的查询效率。
常见的数据库结构优化包括创建索引、分区表、视图和物化视图等。
其中,索引可以加速查询,分区表可以减少查询时间,视图和物化视图可以避免重复计算,从而提高Oracle数据库的性能。
3.SQL语句优化SQL语句优化是优化Oracle数据库性能的关键。
在设计SQL语句时,应该尽量避免使用不必要的关联查询和子查询,同时要避免使用通配符查询。
可以使用SQL Trace和Explain Plan等工具来评估SQL语句的性能,并根据评估结果进行调整。
4.Oracle性能监测和故障诊断Oracle性能监测和故障诊断是保障Oracle数据库高性能运行的保障。
Oracle Enterprise Manager和Grid Control是监测、管理和诊断Oracle 数据库的常见工具,可以监测各种Oracle数据库的性能指标、诊断故障和进行自动管理。
5.数据库升级和迁移随着业务的不断扩展,数据量也会不断增加,因此数据库升级和迁移已成为Oracle数据库运维中不可或缺的环节。
在进行数据库升级和迁移时,需要先做好充分的准备工作,包括备份数据、检查硬件和网络环境等。
同时,也需要在升级和迁移过程中,严格遵循相关安全规范,确保数据的完整性和可靠性。