oracle参数优化参考
oracle数据库性能调优
oracle数据库性能调优⼀:注意WHERE⼦句中的连接顺序:ORACLE采⽤⾃下⽽上的顺序解析WHERE⼦句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最⼤数量记录的条件必须写在WHERE⼦句的末尾.尤其是“主键ID=?”这样的条件。
⼆: SELECT⼦句中避免使⽤ ‘ * ‘:ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个⼯作是通过查询数据字典完成的, 这意味着将耗费更多的时间。
简单地讲,语句执⾏的时间越短越好(尤其对于系统的终端⽤户来说)。
⽽对于查询语句,由于全表扫描读取的数据多,尤其是对于⼤型表不仅查询速度慢,⽽且对磁盘IO造成⼤的压⼒,通常都要避免,⽽避免的⽅式通常是使⽤索引Index。
三:使⽤索引的优势与代价。
优势:1)索引是表的⼀个概念部分,⽤来提⾼检索数据的效率,ORACLE使⽤了⼀个复杂的⾃平衡B-tree结构. 通常,通过索引查询数据⽐全表扫描要快. 当ORACLE找出执⾏查询和Update语句的最佳路径时, ORACLE优化器将使⽤索引. 同样在联结多个表时使⽤索引也可以提⾼效率. 2)另⼀个使⽤索引的好处是,它提供了主键(primary key)的唯⼀性验证.。
那些LONG或LONG RAW数据类型, 你可以索引⼏乎所有的列. 通常, 在⼤型表中使⽤索引特别有效. 当然,你也会发现, 在扫描⼩表时,使⽤索引同样能提⾼效率.代价:虽然使⽤索引能得到查询效率的提⾼,但是我们也必须注意到它的代价. 索引需要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时, 索引本⾝也会被修改. 这意味着每条记录的INSERT , DELETE , UPDATE将为此多付出4 , 5 次的磁盘I/O . 因为索引需要额外的存储空间和处理,那些不必要的索引反⽽会使查询反应时间变慢.。
⽽且表越⼤,影响越严重。
使⽤索引需要注意的地⽅:1、避免在索引列上使⽤NOT , 我们要避免在索引列上使⽤NOT, NOT会产⽣在和在索引列上使⽤函数相同的影响. 当ORACLE”遇到”NOT,他就会停⽌使⽤索引转⽽执⾏全表扫描.2、避免在索引列上使⽤计算.WHERE⼦句中,如果索引列是函数的⼀部分.优化器将不使⽤索引⽽使⽤全表扫描.举例:代码如下:低效:SELECT … FROM DEPT WHERE SAL * 12 > 25000;⾼效:SELECT … FROM DEPT WHERE SAL > 25000/12;3、避免在索引列上使⽤IS NULL和IS NOT NULL避免在索引中使⽤任何可以为空的列,ORACLE性能上将⽆法使⽤该索引.对于单列索引,如果列包含空值,索引中将不存在此记录. 对于复合索引,如果每个列都为空,索引中同样不存在此记录. 如果⾄少有⼀个列不为空,则记录存在于索引中.举例: 如果唯⼀性索引建⽴在表的A列和B列上, 并且表中存在⼀条记录的A,B值为(123,null) , ORACLE将不接受下⼀条具有相同A,B值(123,null)的记录(插⼊). 然⽽如果所有的索引列都为空,ORACLE将认为整个键值为空⽽空不等于空. 因此你可以插⼊1000 条具有相同键值的记录,当然它们都是空! 因为空值不存在于索引列中,所以WHERE⼦句中对索引列进⾏空值⽐较将使ORACLE停⽤该索引.代码如下:低效:(索引失效) SELECT … FROM DEPARTMENT WHERE DEPT_CODE IS NOT NULL;⾼效:(索引有效) SELECT … FROM DEPARTMENT WHERE DEPT_CODE >=0;4、注意通配符%的影响使⽤通配符的情况下Oracle可能会停⽤该索引。
Oracle数据库参数优化
Oracle数据库参数优化
参数优化对于Oracle数据库来说非常重要,因为它可以有效提高数据库的性能,并提供良好的可用性。
参数优化可令数据库更加稳定和高效地运行。
但是,在参数优化方面,很多初学者犯了不少错误,有些甚至会影响数据库的性能,甚至可能导致数据库出现问题。
因此,在优化参数方面,必须慎重、细心、谨慎。
首先,在参数优化之前,必须对当前参数进行全面的测试,找出需要优化的参数。
一般来说,优化可以采用两种方法,一种是优化全局参数,另一种是优化实例参数。
如果参数设置过高或者过低,可能会影响数据库的性能,因此,在参数优化时,必须按照Oracle数据库提供的最佳实践去设置参数。
最后,应该强调的是,在参数优化时,不要增加参数或者设置参数太高,并且要确保参数优化后,数据库在重要的方面有所改善,比如。
oracle优化方法总结
千里之行,始于足下。
oracle优化方法总结Oracle优化是提高数据库性能和响应能力的重要步骤。
本文总结了一些常见的Oracle优化方法。
1. 使用索引:索引是提高查询性能的主要方法。
通过在表中创建适当的索引,可以加快查询速度,并减少数据访问的开销。
但是要注意不要过度使用索引,因为过多的索引会增加写操作的开销。
2. 优化查询语句:查询语句的效率直接影响数据库的性能。
可以通过合理地编写查询语句来提高性能。
例如,使用JOIN来替代子查询,尽量避免使用通配符查询,使用LIMIT来限制结果集的大小等。
3. 优化表结构:表的设计和结构对数据库的性能也有很大的影响。
合理的表设计可以减少数据冗余和不必要的数据存储,提高查询速度。
例如,适当地使用主键、外键和约束,避免过多的数据类型和字段等。
4. 优化数据库参数设置:Oracle有很多参数可以用来调整数据库的性能。
根据具体的应用场景和需求,可以根据情况调整参数的值。
例如,调整SGA和PGA的大小,设置合适的缓冲区大小,调整日志写入方式等。
5. 使用分区表:当表的数据量很大时,可以考虑将表分成多个分区。
分区表可以加速查询和维护操作,提高数据库的性能。
可以按照时间、地域、业务等来进行分区。
6. 优化存储管理:Oracle提供了多种存储管理选项,如表空间和数据文件管理。
合理地分配存储空间和管理数据文件可以提高数据库的性能。
例如,定期清理无用的数据文件,使用自动扩展表空间等。
第1页/共2页锲而不舍,金石可镂。
7. 数据压缩:对于大量重复数据或者冷数据,可以考虑使用Oracle的数据压缩功能。
数据压缩可以减少磁盘空间的使用,提高IO性能。
8. 使用并行处理:对于大型计算或者批处理任务,可以考虑使用Oracle的并行处理功能。
并行处理可以将任务分成多个子任务,并行执行,提高处理能力和效率。
9. 数据库分区:对于大型数据库,可以考虑将数据库分成多个独立的分区。
数据库分区可以提高数据的并行处理能力,减少锁竞争和冲突,提高数据库的性能。
Oracle数据库内存优化操作说明
Oracle数据库内存优化操作说明Oracle数据库内存优化是提高数据库性能的重要手段之一。
通过设置合理的内存参数,可以有效地削减IO操作,提高数据访问速度。
本文将介绍一些常见的Oracle数据库内存优化操作。
一、调整PGA参数PGA(Program Global Area)是每个数据库会话独有的内存区域,用于存储排序、哈希操作等临时数据。
调整PGA参数可以提高排序和连接操作的性能。
1. 设置PGA_AGGREGATE_TARGET参数该参数把握PGA内存的总量,一般建议设置为SGA的1/3到1/2。
可以通过以下命令设置:ALTER SYSTEM SET PGA_AGGREGATE_TARGET=XXXM;2. 调整SORT_AREA_SIZE参数该参数把握每个排序操作使用的PGA内存大小,一般建议设置为100MB到200MB。
可以通过以下命令设置:ALTER SESSION SET SORT_AREA_SIZE = XXXM;3. 调整HASH_AREA_SIZE参数第1页/共4页该参数把握每个哈希操作使用的PGA内存大小,一般建议设置为SORT_AREA_SIZE的1/2到1倍。
可以通过以下命令设置:ALTER SESSION SET HASH_AREA_SIZE = XXXM;二、调整SGA参数SGA(System Global Area)是Oracle数据库的全局共享内存区域,用于存储缓存数据、SQL执行方案等。
调整SGA参数可以提高数据访问的速度。
1. 调整SHARED_POOL_SIZE参数该参数把握缓存SQL语句的内存大小,一般建议设置为SGA的1/4到1/3。
可以通过以下命令设置:ALTER SYSTEM SET SHARED_POOL_SIZE=XXXM;2. 调整DB_CACHE_SIZE参数该参数把握数据库缓冲区的内存大小,一般建议设置为SGA的1/2到2/3。
可以通过以下命令设置:ALTER SYSTEM SET DB_CACHE_SIZE=XXXM;3. 调整LOG_BUFFER参数该参数把握数据库日志缓冲区的内存大小,一般建议设置为10MB到100MB。
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语句,优化查询的执行计划。
- 使用绑定变量而不是直接将参数传递到SQL语句中,避免SQL重解析,提高性能。
6. 服务器参数优化:- 调整processes参数以增加数据库的并发连接数。
- 调整sessions参数以控制数据库的最大会话数。
- 调整open_cursors参数以增大打开游标的数量,避免游标溢出。
以上是一些常见的Oracle数据库参数优化技巧,但具体的优化策略需要根据实际情况进行调整,可以参考Oracle官方文档和专业的DBA建议。
Oracle-BCT(Block Change Tracking)参数优化配置
Oracle-BCT(Block Change Tracking)参数优化配置Oracle BCT(Block Change Tracking)是一个有用的功能,可以用来优化备份和恢复的时间。
使用BCT会减少备份和恢复所需的I/O操作和时间。
正确配置参数是确保BCT有效运行的关键。
以下是一些优化 Oracle BCT参数配置的建议。
1.开启BCT要启用BCT,必须运行以下命令:ALTER DATABASE ENABLE BLOCK CHANGE TRACKING; 如果BCT已经启用,该命令不会做任何事情。
2.配置BCT文件的位置BCT文件位于数据库的主目录中。
如果要改变BCT文件的位置,可以使用以下命令:ALTER DATABASE BACKUP CONTROLFILE TO'/new/path/to/bct_file';运行此命令将在新的目录结构中创建新的BCT文件。
3.监控BCT的大小默认情况下,BCT文件大小为10MB。
如果备份通常大于10MB,则应增加BCT文件的大小。
可以通过以下命令更改BCT文件的大小:ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/path/to/new/bct/file' SIZE 50M;在此示例中,BCT文件的大小将增加到50MB。
4.启用增量备份启用增量备份可以利用BCT功能。
增量备份仅备份已更改的数据块,因此它比完全备份要快。
要启用增量备份,请运行以下命令:CONFIGURE BACKUP OPTIMIZATION ON;如果您想从增量备份中排除某些表,则可以使用以下命令:CONFIGURE BACKUP OPTIMIZATION OFF FOR TABLE schema.table1, schema.table2;5.启用快速恢复区快速恢复区是一个文件系统,可以用来存储备份。
oracle技术参数
oracle技术参数Oracle技术参数Oracle是一种关系型数据库管理系统,具有丰富的技术参数,可以通过调整这些参数来优化数据库的性能和稳定性。
本文将介绍一些常见的Oracle技术参数及其作用。
1. DB_BLOCK_SIZE(数据库块大小)DB_BLOCK_SIZE是指数据库中数据块的大小,它直接影响到数据库的性能和存储效率。
较大的块大小可以减少I/O操作次数,提高数据库的读写效率,但会占用更多的内存空间。
较小的块大小可以节省内存空间,但会增加I/O操作次数,降低数据库的读写效率。
因此,在设置DB_BLOCK_SIZE时需要根据具体情况进行权衡和优化。
2. SGA_TARGET(系统全局区域内存)SGA_TARGET是指Oracle数据库的系统全局区域内存大小,包括缓冲区、共享池、重做日志缓冲区等。
适当调整SGA_TARGET可以提高数据库的性能,但需要根据服务器的内存大小和数据库的实际负载进行合理配置。
3. PGA_AGGREGATE_TARGET(程序全局区域内存)PGA_AGGREGATE_TARGET是指Oracle数据库的程序全局区域内存大小,主要用于存储会话和进程的私有数据。
适当调整PGA_AGGREGATE_TARGET可以提高数据库的性能,特别是对于大量并发查询的场景。
4. SHARED_POOL_SIZE(共享池大小)SHARED_POOL_SIZE是指Oracle数据库的共享池大小,用于存储共享SQL和PL/SQL代码。
适当调整SHARED_POOL_SIZE可以提高数据库的性能,特别是对于频繁执行的SQL语句。
5. LOG_BUFFER(重做日志缓冲区大小)LOG_BUFFER是指Oracle数据库的重做日志缓冲区大小,用于存储事务的重做日志。
适当调整LOG_BUFFER可以提高数据库的事务处理能力和恢复性能。
6. SORT_AREA_SIZE(排序区大小)SORT_AREA_SIZE是指Oracle数据库的排序区大小,用于存储排序操作的临时数据。
34种Oracle性能优化的方法
34种Oracle性能优化的方法1、选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。
如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.2、WHERE子句中的连接顺序:ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.3、SELECT子句中避免使用‘ * ‘:ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间4、减少访问数据库的次数:ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引的利用率, 绑定变量 , 读数据块等;5、在SQL*Plus , SQL*Forms和Pro*C中重新设置ARRAYSIZE 参数, 可以增加每次数据库访问的检索数据量 ,建议值为2006、使用DECODE函数来减少处理时间:使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表.7、整合简单,无关联的数据库访问:如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系)8、删除重复记录:最高效的删除重复记录方法 ( 因为使用了ROWID)例子:DELETE FROM EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID)FROM EMP X WHERE X.EMP_NO = E.EMP_NO);9、用TRUNCATE替代DELETE:当删除表中的记录时,在通常情况下, 回滚段(rollback segments ) 用来存放可以被恢复的信息. 如果你没有COMMIT事务,ORACLE会将数据恢复到删除之前的状态(准确地说是恢复到执行删除命令之前的状况) 而当运用TRUNCATE时, 回滚段不再存放任何可被恢复的信息.当命令运行后,数据不能被恢复.因此很少的资源被调用,执行时间也会很短. (译者按: TRUNCATE只在删除全表适用,TRUNCATE是DDL不是DML)10、尽量多使用COMMIT:只要有可能,在程序中尽量多使用COMMIT, 这样程序的性能得到提高,需求也会因为COMMIT所释放的资源而减少:COMMIT所释放的资源:a. 回滚段上用于恢复数据的信息.b. 被程序语句获得的锁c. redo log buffer 中的空间d. ORACLE为管理上述3种资源中的内部花费11、用Where子句替换HAVING子句:避免使用HAVING子句, HAVING 只会在检索出所有记录之后才对结果集进行过滤. 这个处理需要排序,总计等操作. 如果能通过WHERE子句限制记录的数目,那就能减少这方面的开销. (非oracle中)on、where、having这三个都可以加条件的子句中,on是最先执行,where次之,having最后,因为on是先把不符合条件的记录过滤后才进行统计,它就可以减少中间运算要处理的数据,按理说应该速度是最快的,where也应该比having快点的,因为它过滤数据后才进行sum,在两个表联接时才用on的,所以在一个表的时候,就剩下where跟having比较了。
oracle 资源配置参数
oracle 资源配置参数(实用版)目录1.Oracle 简介2.Oracle 资源配置参数的作用3.Oracle 资源配置参数的分类4.Oracle 资源配置参数的具体设置方法5.Oracle 资源配置参数的优化建议正文一、Oracle 简介Oracle 是一款广泛应用于企业级数据管理的关系型数据库管理系统。
其性能优越、安全性高、可扩展性强,成为众多企业的首选数据库解决方案。
在 Oracle 数据库中,资源配置参数对于优化数据库性能至关重要。
二、Oracle 资源配置参数的作用Oracle 资源配置参数是用于调整数据库系统中各种资源的分配和优化的重要手段。
合理的资源配置可以提高数据库性能,降低系统故障率,保证数据的安全与稳定。
三、Oracle 资源配置参数的分类Oracle 资源配置参数主要分为以下几类:1.CPU 资源配置参数:用于调整数据库系统中 CPU 资源的分配,如CPU 使用率、I/O 使用率等。
2.内存资源配置参数:用于调整数据库系统中内存资源的分配,如SGA(共享内存区)、PGA(程序全局区)等。
3.存储资源配置参数:用于调整数据库系统中存储资源的分配,如数据文件、控制文件、日志文件等。
4.网络资源配置参数:用于调整数据库系统中网络资源的分配,如TCP 连接数、最大客户端连接数等。
四、Oracle 资源配置参数的具体设置方法1.CPU 资源配置参数设置:可以通过调整 Oracle 实例的 SGA 和PGA 参数,以及调整操作系统的资源分配来优化 CPU 资源配置。
2.内存资源配置参数设置:可以通过调整 SGA 和 PGA 的大小,以及调整操作系统的内存分配策略来优化内存资源配置。
3.存储资源配置参数设置:可以通过调整数据文件、控制文件和日志文件的大小,以及调整文件系统的磁盘空间分配来优化存储资源配置。
4.网络资源配置参数设置:可以通过调整 Oracle 实例的连接参数,以及调整操作系统的网络配置来优化网络资源配置。
常见Oracle数据库优化策略与方法
常见Oracle数据库优化策略与方法
Oracle数据库优化是提高数据库性能的关键步骤,可以采取多种策略。
以下是一些常见的Oracle数据库优化策略:
1.硬件优化:这是最基本的优化方式。
通过升级硬件,比如增加RAM、使用
更快的磁盘、使用更强大的CPU等,可以极大地提升Oracle数据库的性能。
2.网络优化:通过优化网络连接,减少网络延迟,可以提高远程查询的效率。
3.查询优化:对SQL查询进行优化,使其更快地执行。
这包括使用更有效的
查询计划,减少全表扫描,以及使用索引等。
4.表分区:对大表进行分区可以提高查询效率。
分区可以将一个大表分成多
个小表,每个小表可以单独存储和查询。
5.数据库参数优化:调整Oracle数据库的参数设置,使其适应工作负载,可
以提高性能。
例如,调整内存分配,可以提升缓存性能。
6.数据库设计优化:例如,规范化可以减少数据冗余,而反规范化则可以提
升查询性能。
7.索引优化:创建和维护索引是提高查询性能的重要手段。
但过多的索引可
能会降低写操作的性能,因此需要权衡。
8.并行处理:对于大型查询和批量操作,可以使用并行处理来提高性能。
9.日志文件优化:适当调整日志文件的配置,可以提高恢复速度和性能。
10.监控和调优:使用Oracle提供的工具和技术监控数据库性能,定期进行性
能检查和调优。
请注意,这些策略并非一成不变,需要根据实际情况进行调整。
在进行优化时,务必先备份数据和配置,以防万一。
oracle 调优参数
oracle 调优参数【实用版】目录1.Oracle 数据库调优的重要性2.Oracle 数据库调优的方法3.Oracle 数据库性能调优工具4.Oracle 数据库调优的实践经验5.Oracle 数据库性能调优的解决方案正文Oracle 数据库调优的重要性Oracle 数据库在社会的各个领域有着广泛的应用,特别是在client/server 模式的应用中。
然而,随着数据量的不断增大,应用开发者往往会遇到整个系统的性能显著下降的问题。
为了解决这个问题,我们需要从数据库服务器、网络 I/O、应用程序等各个方面对整个系统进行调整,以充分发挥 Oracle 的效能。
Oracle 数据库调优的方法Oracle 数据库调优主要包括以下几个方面:1.数据库服务器:我们需要对数据库服务器进行优化,以提高其处理能力。
这包括对数据库实例的配置进行调整,以便更好地分配系统资源,以及对数据库的物理存储结构进行优化,以提高存储效率。
2.网络I/O:我们需要对网络I/O进行优化,以提高数据的传输速度。
这包括对网络协议进行调整,以提高网络吞吐量,以及对网络带宽进行优化,以提高网络的传输能力。
3.应用程序:我们需要对应用程序进行优化,以提高其执行效率。
这包括对程序代码进行优化,以提高其执行速度,以及对程序的运行环境进行优化,以提高其运行效率。
Oracle 数据库性能调优工具Oracle 数据库性能调优工具主要包括以下几个:1.AWR(Automatic Workload Repository):AWR 是 Oracle 数据库性能调优的一个核心工具,它可以自动收集数据库的工作负载信息,并提供一系列的性能指标,以帮助我们分析数据库的性能问题。
2.ASH(Automatic Storage Management):ASH 是 Oracle 数据库的一个存储管理工具,它可以帮助我们优化数据库的物理存储结构,以提高数据库的性能。
3.V 视图:V 视图是 Oracle 数据库性能调优的一个辅助工具,它可以帮助我们查看数据库的性能统计信息,以帮助我们分析数据库的性能问题。
oracle 19c参数
oracle 19c参数Oracle 19c参数设置详解Oracle数据库是一款业界著名的关系型数据库管理系统,其版本不断更新迭代,最新版本为Oracle 19c。
在数据库的运行过程中,参数的设置对于性能和稳定性起着至关重要的作用。
本文将详细介绍Oracle 19c的一些重要参数及其设置方法,帮助读者更好地优化数据库的性能和稳定性。
1. SGA_TARGETSGA_TARGET参数决定了系统全局区(SGA)的大小,SGA是Oracle数据库在内存中的关键组件,包括缓冲区高速缓存、共享池和重做日志缓冲区等。
通过合理设置SGA_TARGET参数,可以提高数据库的性能。
可以使用以下语句设置SGA_TARGET参数的值:ALTER SYSTEM SET SGA_TARGET=XXXM SCOPE=SPFILE;2. PGA_AGGREGATE_TARGETPGA_AGGREGATE_TARGET参数用于控制PGA(程序全局区)的大小,PGA用于存储用户进程的私有数据,如排序操作和HASH JOIN的中间结果。
通过适当设置PGA_AGGREGATE_TARGET参数,可以优化排序和连接操作的性能。
设置PGA_AGGREGATE_TARGET参数的方法如下:ALTER SYSTEM SET PGA_AGGREGATE_TARGET=XXXM SCOPE=SPFILE;3. PROCESSESPROCESSES参数决定了数据库同时能够处理的最大用户连接数。
在高并发环境下,需要增加PROCESSES参数的值,以支持更多的用户连接。
可以使用以下语句设置PROCESSES参数的值:ALTER SYSTEM SET PROCESSES=XXX SCOPE=SPFILE;4. SESSIONSSESSIONS参数用于限制数据库同时打开的会话数,每个用户连接都会占用一个会话。
在高并发环境下,需要增加SESSIONS参数的值,以支持更多的用户同时访问。
oracle性能优化总结
Oracle 性能优化50个方法1. 选用适合的ORACLE优化器ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性)设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中的对象统计信息(object statistics)的准确性. 如果数据库的优化器模式设置为选择性(CHOOSE),那么实际的优化器模式将和是否运行过analyze命令有关. 如果table已经被analyze过, 优化器模式将自动成为CBO , 反之,数据库将采用RULE形式的优化器. 在缺省情况下,ORACLE采用CHOOSE优化器, 为了避免那些不必要的全表扫描(full table scan) , 你必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器.2. 访问Table的方式ORACLE 采用两种访问表中记录的方式:a. 全表扫描全表扫描就是顺序地访问表中每条记录. ORACLE采用一次读入多个数据块(database block)的方式优化全表扫描,这样的访问方式是效率最低的.b. 通过ROWID访问表你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高.3. 共享SQL语句为了不重复解析相同的SQL语句,在第一次解析之后, ORACLE将SQL语句存放在内存中.这块位于系统全局区域SGA(system global area)的共享池(shared buffer pool)中的内存可以被所有的数据库用户共享. 因此,当你执行一个SQL语句(有时被称为一个游标)时,如果它和之前的执行过的语句完全相同, ORACLE就能很快获得已经被解析的语句以及最好的执行路径. ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用. 可惜的是ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询. 数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性也就越大了. 当你向ORACLE 提交一个SQL语句,ORACLE会首先在这块内存中查找相同的语句. 这里需要注明的是,ORACLE对两者采取的是一种严格匹配,要达成共享,SQL语句必须完全相同(包括空格,换行等). 共享的语句必须满足三个条件:A. 字符级的比较: 当前被执行的语句和共享池中的语句必须完全相同. 例如:SELECT * FROM EMP;和下列每一个都不同SELECT * from EMP;Select * From Emp;SELECT * FROM EMP;B. 两个语句所指的对象必须完全相同: 例如:用户对象名如何访问Jack sal_limit private synonymWork_city public synonymPlant_detail public synonymJill sal_limit private synonymWork_city public synonymPlant_detail table owner考虑一下下列SQL语句能否在这两个用户之间共享.C. 两个SQL语句中必须使用相同的名字的绑定变量(bind variables) 例如:第一组的两个SQL语句是相同的(可以共享),而第二组中的两个语句是不同的(即使在运行时,赋于不同的绑定变量相同的值)select pin , name from people where pin = :blk1.pin;select pin , name from people where pin = :blk1.pin;select pin , name from people where pin = :blk1.ot_ind;select pin , name from people where pin = :blk1.ov_ind;4. 选择基础表所谓基础表是被最先被访问的表,通常是以全表扫描的方式被访问,由于优化器不同,SQL语句的基础表的选择也不同.1.COST优化器会检查SQL中每个表的物理大小,索引状态,然后选择花费最底的执行路径.他会自己选择基础表2.RULE优化器,在所有连接条件都有索引对应的前提下,选择FROM子句中最后那个表作为基础表.ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处理多个表时, 会运用排序及合并的方式连接它们.首先,扫描第一个表(FROM子句中最后的那个表)并对记录进行派序,然后扫描第二个表(FROM子句中最后第二个表),最后将所有从第二个表中检索出的记录与第一个表中合适记录进行合并. 例如: 表TAB1 16,384 条记录表TAB2 1 条记录。
Oracle性能优化中系统参数的分析与设置
过 比较 高速 缓存 的命 中率 决 定 它 的大 小.查 询 V ¥LB ARY ACHE数 据 字 典 视 图 pn IR C is和 rlas的 eod
S M , 比较 的结 果近 似 为 0 说 明命 中率 比较合 适 ; 大 于 1 则 需 要 增 加 参数 S U 若 , 若 , HAR D OOL I E E —P —S Z
速 运行 .
参数 S HAR D OOL IE 以字节 为单位 指定 共 享存储 池 大小 .共 享存 储 池包 括 光标 、 E —P —SZ 存储 过 程 、 控 制结 构及 其他 结构 .共 享 存储 池不 仅 包 括对 话 期 信 息 , 且包 括 数 据 字典 高 速 缓 存 和 库 高速 缓存 .较 而
的值 .
收 稿 日期 :2 0 t0 5一o o 9一 9审稿 人 : 李从 信 ; 辑 : 丽 芹 编 郑 作 者 简 介 : 晓 明 ( 99 ) 女 , 师 , 士 , 刘 16一 , 讲 硕 主要 从事 数 据库 、 件 工程 方 面 的研 究 软
维普资讯
ii oa 现在 的名 字 结 构 为 I Ts . A.这 里 的 “i” 数 据库 实 例 的名 字 .例 如 , 装 Orc nt r , . NI i OR d s 是 d 安 al e系统 时 , 名 的数据 库 实例 的名 字“ i” o al9 则对 应 的初始 化 文件名 为 ii rce . r.数 据库 管 理员 使 命 s 为 rc , d e nt a l9 oa o 用该 文件 可 以进行 优 化 内存 结 构 、 置数 据库 限制 等 . 设
的命 中率 与 以下 几个 参 数相关 .
参 数 D —B OC B F R B L K— UF E S指定 高速 缓存 区 的数 目, 由几个参 数 一起构 成 S GA 的大小 .缓 存 区 的
Oracle的性能优化
千里之行,始于足下。
Oracle的性能优化
Oracle的性能优化是提高数据库系统性能和响应速度的关键步骤,可以通
过如下几个方面进行优化:
1. 数据库设计和规范化:合理的数据库设计和良好的规范化可以减少数据冗余,提高查询效率,避免数据冲突和不一致。
2. 索引优化:在频繁查询的字段上创建适当的索引,可以加快查询速度。
但是,索引不宜过多,因为它们会增加数据修改和插入的时间。
3. 查询优化:优化查询语句的执行计划,使用正确的连接方法(如内连接、外连接),避免全表扫描。
4. 硬件升级:增加内存、硬盘和处理器等硬件资源,可以显著提高
Oracle数据库的性能。
5. 优化配置参数:根据数据库的特点和应用的需求,调整数据库的配置参数,例如SGA大小、PGA大小、日志文件大小等,以提高性能。
6. 数据库优化:使用合适的数据库特性,如分区表、分区索引、物化视图等,优化数据库的存储和查询效率。
7. 监控和调优:持续监控数据库的性能指标,如CPU利用率、内存使用率、磁盘IO等,并及时进行适当的调优操作。
第1页/共2页
锲而不舍,金石可镂。
总体来说,Oracle的性能优化需要综合考虑数据库设计、硬件配置、查询优化和系统监控等多个方面,通过不断的调整和优化,提高数据库的性能和响应速度。
oracle 19c参数
oracle 19c参数摘要:1.引言2.Oracle 19c 简介3.Oracle 19c 参数概述4.Oracle 19c 参数设置方法5.参数调整案例及优化建议6.总结正文:Oracle 19c 作为Oracle 数据库的最新版本,为企业级应用程序提供了更强大的功能和更高的性能。
本文将详细介绍Oracle 19c 参数相关知识,包括参数概述、设置方法及优化建议。
首先,我们需要了解Oracle 19c 的基本情况。
Oracle 19c(19.3.0.0.0)是Oracle 数据库的最新版本,于2019 年发布。
它带来了许多新功能,如支持更大的数据库、更高的性能和更强的安全特性。
在Oracle 19c 中,参数是用于控制数据库性能和功能的关键设置。
参数分为两类:一类是数据库参数,另一类是实例参数。
数据库参数控制整个数据库的行为,而实例参数控制单个实例的行为。
本文将重点介绍数据库参数的设置方法。
Oracle 19c 参数设置方法如下:1.使用Oracle SQL*Plus:通过编写SQL 脚本或直接在命令行中输入SQL 命令来设置参数。
2.使用企业管理器(EM):通过图形界面设置参数,适用于初学者和非技术人员。
3.使用动态性能视图:通过查询动态性能视图来查看和调整参数值。
在实际应用中,根据不同场景和需求,可以通过调整参数来优化数据库性能。
以下是一个参数调整案例及优化建议:假设某企业数据库在高峰时段出现性能瓶颈,经诊断发现是I/O 子系统导致。
为了解决这个问题,可以通过调整以下参数来优化性能:1.增加I/O缓冲区缓存:通过设置`DB_CACHE_SIZE`参数,增加I/O缓冲区缓存,减少磁盘I/O操作次数。
2.调整I/O调度器:将`IOSCHED_POLICY`参数设置为`NO_I/O_SCHEDuling`,禁用I/O调度器,降低CPU消耗。
3.优化日志文件设置:通过调整`LOG_BUFFER_SIZE`和`LOG_FILE_MAX`参数,提高日志写入性能。
oracle jvm 参数
oracle jvm 参数(原创实用版)目录1.Oracle JVM 参数简介2.Oracle JVM 参数的分类3.Oracle JVM 参数的具体设置4.Oracle JVM 参数的优化建议5.总结正文一、Oracle JVM 参数简介Oracle JVM(Java 虚拟机)参数是指在 Oracle 数据库系统中,用于管理和调整 Java 虚拟机运行环境的一系列参数。
通过调整这些参数,可以有效地提高 Oracle 数据库系统的性能、稳定性和扩展性。
二、Oracle JVM 参数的分类Oracle JVM 参数主要分为以下几类:1.类加载器参数:用于设置类加载器的行为,例如指定类加载器的路径等。
2.垃圾收集器参数:用于设置垃圾收集器的类型和行为,例如选择不同的垃圾收集策略等。
3.内存管理参数:用于设置堆内存、栈内存和方法区的大小,以及内存的分配和回收策略等。
4.线程管理参数:用于设置线程池的大小、线程的生命周期等,以优化多线程环境下的性能。
5.数据库连接参数:用于设置数据库连接的属性,例如连接超时时间、最大连接数等。
6.日志管理参数:用于设置日志记录的级别、格式和输出目的地等。
三、Oracle JVM 参数的具体设置在 Oracle 数据库系统中,可以通过以下方式设置 JVM 参数:1.使用ORACLE_HOME/bin/oraclevars.sh或ORACLE_HOME/bin/oraclevars.bat文件,修改其中的JVM参数设置。
2.在 Oracle 实例启动时,通过启动参数-jarlag 参数指定 JVM 参数设置文件。
3.在 Oracle 数据库中,使用 ALTER SYSTEM 或 ALTER SESSION 语句直接修改 JVM 参数。
四、Oracle JVM 参数的优化建议1.根据服务器的硬件配置和负载情况,合理设置堆内存、栈内存和方法区的大小。
2.选择合适的垃圾收集策略,以降低垃圾回收过程中的 CPU 使用率和内存占用。
Oracle优化器二十六个参数
Oracle优化器二十六个参数Oracle还是比较常用的,于是我研究了一下Oracle优化器,在这里拿出来和大家分享一下,希望对大家有用。
影响系统性能类可变参数(1)CHECKPOINT_PROCESS该参数根据是否要求检查点而设置成TRUE或者FALSE。
当所有缓冲区的信息写到磁盘时,检查点进程(CHPT)建立一个静态的点。
在归档日志文件中做一个记号表示有一个检查点发生。
检查点发生在归档日志转换的时候或当达到log_checkpoint_interval定义的块数的时候。
当设置此参数为TRUE时,后台进程CHPT便可工作。
在检查点期间内,若日志写进程(LGWR)的性能减低,则可用CHPT进程加以改善。
(2)DB_BLOCK_CHECKPOINT_BATCH该参数的值设置得较大时,可加速检查点的完成。
当指定的值比参数DB_BLOCK_CHECKPOINT_BATCH大时,其效果和指定最大值相同。
(3)DB_BLOCK_BUFFERS该参数是在SGA中可作缓冲用的数据库块数。
该参数决定SGA的大小,对数据库性能具有决定性因素。
若取较大的值,则可减少I/O次数,但要求内存空间较大。
每个缓冲区的大小由参数DB_BLOCK_SIZE决定。
(4)DB_BLOCK_SIZE该参数表示Oracle数据库块的大小,以字节为单位,典型值为2048或4096。
该值一旦设定则不能改变。
它影响表及索引的FREELISTS参数的最大值。
(5)DB_FILES该参数为数据库运行时可打开的数据文件最大数目。
(6)DB_FILE_MULTIBLOCK_READ_COUNT该参数表示在顺序扫描时一次I/O操作可读的最大块数,该最大块数取决于操作系统,其值在4至16或者32是比较好。
(7)D1SCRETE_TRANSACTION_ENABLED该参数实现一个更简单、更快的回滚机制,以改进某些事务类型的性能。
当设置为TRUE时,可改善某些类型的事务性能。
ORACLE数据库变得非常慢解决方案一例
ORACLE数据库变得非常慢解决方案一例最近在为一个项目做数据库优化,发现ORACLE数据库运行得特别慢,简直让人头大。
今天就来给大家分享一下我是如何一步步解决这个问题的,希望对你们有所帮助。
事情是这样的,那天老板突然过来,一脸焦虑地说:“小王,你看看这个数据库,查询速度怎么这么慢?客户都投诉了!”我二话不说,立刻开始分析原因。
我打开了数据库的监控工具,发现CPU和内存的使用率都很高,看来是数据库的压力确实很大。
然后,我开始查看慢查询日志,发现了很多执行时间很长的SQL语句。
这时,我意识到,问题的根源可能就在这些SQL语句上。
一、分析SQL语句1.对执行时间长的SQL语句进行优化。
我检查了这些SQL语句的写法,发现很多地方可以优化。
比如,有些地方使用了子查询,我尝试将其改为连接查询,以提高查询效率。
2.检查索引。
我发现有些表上没有合适的索引,导致查询速度变慢。
于是,我添加了合适的索引,以提高查询速度。
3.调整SQL语句的顺序。
有些SQL语句的执行顺序不当,导致查询速度变慢。
我调整了这些语句的顺序,使其更加合理。
二、调整数据库参数1.增加缓存。
我发现数据库的缓存设置比较低,导致查询时需要频繁读取磁盘。
我适当增加了缓存大小,以提高查询速度。
2.调整线程数。
我发现数据库的线程数设置较低,无法充分利用CPU资源。
我将线程数调整为合适的值,以提高数据库的处理能力。
3.优化数据库配置。
我对数据库的配置文件进行了调整,比如调整了日志文件的存储路径和大小,以及调整了数据库的备份策略等。
三、检查硬件资源1.检查CPU。
我查看了CPU的使用情况,发现CPU负载较高。
我建议公司采购更强大的CPU,以提高数据库的处理能力。
2.检查内存。
我发现内存的使用率也很高,于是建议公司增加内存容量。
3.检查磁盘。
我检查了磁盘的读写速度,发现磁盘的I/O性能较低。
我建议公司更换更快的磁盘,以提高数据库的读写速度。
四、定期维护1.定期清理数据库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle参数优化参考分析评价Oracle数据库性能主要有数据库吞吐量、数据库用户响应时间两项指标。
数据库用户响应时间又可以分为系统服务时间和用户等待时间两项,即:数据库用户响应时间=系统服务时间+用户等待时间因此,获得满意的用户响应时间有两个途径:一是减少系统服务时间,即提高数据库的吞吐量;二是减少用户等待时间,即减少用户访问同一数据库资源的冲突率。
数据库性能优化包括如下几个部分:1. 调整数据结构的设计这一部分在开发信息系统之前完成,程序员需要考虑是否使用Oracle数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。
2. 调整应用程序结构设计这一部分也是在开发信息系统之前完成的。
程序员在这一步需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构。
不同的应用程序体系结构要求的数据库资源3. 调整数据库SQL语句应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率最终决定了Oracle数据库的性能。
Oracle公司推荐使用Oracle语句优化器(Oracle Optimizer)和行锁管理器(Row-Level Manager)来调整优化SQL语句。
4. 调整服务器内存分配内存分配是在信息系统运行过程中优化配置的。
数据库管理员根据数据库的运行状况不仅可以调整数据库系统全局区(SGA区)的数据缓冲区、日志缓冲区和共享池的大小,而且还可以调整程序全局区(PGA区)的大小。
5. 调整硬盘I/O 这一步是在信息系统开发之前完成的。
数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上,做到硬盘之间I/O 负载均衡。
6. 调整操作系统参数例如:运行在Unix操作系统上的 Oracle数据库,可以调整Unix数据缓冲区的大小、每个进程所能使用的内存大小等参数。
下面为一些参数调优参考:一、db_file_multiblock_read_count:oracle读取数据有两种方式:1) 通过rowid(即索引扫描)2) 通过全表扫描如果是全表扫描时,oracle会一次读取多个blocks,每次读取的块数将受初始化参数db_file_multiblock_read_count和操作系统的I/o缓冲区大小的限制。
设置DB_FILE_MULTIBLOCK_READ_COUNT以充分利用操作系统I/O缓冲区的大小。
应考虑DB_FILE_MULTIBLOCK_READ_COUNT <= 操作系统I/O缓冲区/ Oracle Block的大小,如果DB_FILE_MULTIBLOCK_READ_COUNT设置的太大,会使优化器认为全表扫描更有效而改变执行计划,然后实际情况并非如此。
二、pga_aggregate_target:Oracle9i中,PGA_AGGREGATE_TARGET参数仅对专用服务器模式下(Dedicated Server)的专属连接有效,对共享服务器(Shared Server)连接无效;10g后对专用服务器和共享服务器都起作用,设置pga_aggregate_target,需要考虑最大并发连接后所需要的pga内存。
三、sga_max_size:sga在32位的数据库中最大不超过1.7G,而64位的数据库则可以无限大,只要服务器的物理内存足够大。
设置sga大小需要考虑几个问题:1)物理内存多大2)操作系统估计需要使用多少内存3)数据库是使用文件系统还是裸设备4)有多少并发连接5)应用是OLTP 类型还是OLAP 类型有一个经验公式:OS 使用内存+SGA+并发执行进程数*(sort_area_size+hash_ara_size+2M) < 0.7*总内存四、log_buffer对于日志缓冲区的大小设置,通常我觉得没有过多的建议,因为参考LGWR写的触发条件之后,我们会发现通常超过3M意义不是很大。
作为一个正式系统,可能考虑先设置log_buffer=1~3M 大小,然后针对具体情况再调整。
五、large_pool_size对于大缓冲池的设置,假如不使用MTS,建议在20~30M 足够了。
这部分主要用来保存并行查询时候的一些信息,还有就是RMAN的备份的时候可能会使用到。
如果设置了MTS,则由于UGA部分要移入这里,则需要具体根据session最大数量和sort_ares_size等相关会话内存参数的设置来综合考虑这部分大小的设置,一般可以考虑为session * (sort_area_size +2M)。
这里要提醒一点,不是必须使用MTS,我们都不主张使用MTS,尤其同时在线用户数小于500的情况下。
六、java_pool_size:假如数据库没有使用JAVA,我们通常认为保留10~20M大小足够了。
事实上可以更少,甚至最少只需要32k,但具体跟安装数据库的时候的组件相关(比如http server)。
七、shared_pool_size:这是迄今为止最具有争议的一部分内存设置。
按照很多文档的描述,这部分内容应该几乎和数据缓冲区差不多大小。
但实际上情况却不是这样的。
首先我们要考究一个问题,那就是这部分内存的作用,它是为了缓存已经被解析过的SQL,而使其能被重用,不再解析。
这样做的原因是因为,对于一个新的SQL(shared_pool里面不存在已经解析的可用的相同的SQL),数据库将执行硬解析,这是一个很消耗资源的过程。
而若已经存在,则进行的仅仅是软分析(在共享池中寻找相同SQL),这样消耗的资源大大减少。
所以我们期望能多共享一些SQL,并且如果该参数设置不够大,经常会出现ora-04031错误,表示为了解析新的SQL,没有可用的足够大的连续空闲空间,这样自然我们期望该参数能大一些。
但是该参数的增大,却也有负面的影响,因为需要维护共享的结构,内存的增大也会使得SQL 的老化的代价更高,带来大量的管理的开销,所有这些可能会导致CPU 的严重问题。
在一个充分使用绑定变量的比较大的系统中,shared_pool_size 的开销通常应该维持在300M 以内。
除非系统使用了大量的存储过程、函数、包,比如oracle erp这样的应用,可能会达到500M甚至更高。
于是我们假定一个1G内存的系统,可能考虑设置该参数为100M,2G 的系统考虑设置为150M,8G的系统可以考虑设置为200~300M。
对于一个没有充分使用或者没有使用绑定变量系统,这可能给我们带来一个严重的问题。
所谓没有使用bind var 的SQL,我们称为Literal SQL。
八、Data buffer:现在我们来谈数据缓冲区,在确定了SGA的大小并分配完了前面部分的内存后,其余的,都分配给这部分内存。
通常,在允许的情况下,我们都尝试使得这部分内存更大。
这部分内存的作用主要是缓存DB BLOCK,减少甚至避免从磁盘上获取数据,在8i中通常由db_block_buffers*db_block_size来决定大小的。
如果我们设置了buffer_pool_keep 和buffer_pool_recycle,则应该加上后面这两部分内存的大小。
九、db_writer_processes:在oracle中一个重要的后台进程DBWO,这个进程负责将脏缓存块写回到数据文件中去,称为数据库书写器进程(Database Writer Process),DB_WRITER_PROCESSES=MAX(1,TRUNC(CPU数/8))。
也就是说,cpu数小于8时,DB_WRITER_PROCESSES为1,即只有一个写进程DBWO。
这对于一般的系统来说也是足够用。
当你的系统的修改数据的任务很重,并且已经影响到性能时,可以调整这个参数,这个参数不要超过cpu数,否则多出的进程也不会起作用,另外,它的最大值不能超过20。
十、parallel_min_server和parallel_max_serverparallel_min_server < cpu个数parallel_max_server < 10*cpu个数,参数用于设置系统中允许的最大并行进程数对于9i如果PARALLEL_AUTOMATIC_TUNING=FALSEPARALLEL_MAX_SERVERS=5如果PARALLEL_AUTOMATIC_TUNING=TRUEPARALLEL_MAX_SERVERS=CPU_COUNT x 109i中PARALLEL_AUTOMATIC_TUNING默认为FALSE,所以PARALLEL_MAX_SERVERS默认为5 对于10g如果PGA_AGGREGATE_TARGET >0PARALLEL_MAX_SERVERS=CPU_COUNT x PARALLEL_THREADS_PER_CPU x 10如果PGA_AGGREGATE_TARGET=0PARALLEL_MAX_SERVERS=CPU_COUNT x PARALLEL_THREADS_PER_CPU x 5parallel_execution_message_size:信息的发送大小,改善并发时的等待时间,最大不超过64k。
说明:利用oracle的alter system set ……scope=spfile参数修改后,必须重新启动数据库,修改设置才能生效。
从oracle9i开始,alter system命令增加了一个新的选项,scope,这个参数有3个可选值,分别是:Memory:只改变当前运行的实例,重启数据后失效。
Spfile:只改变当前运行的实例,重启数据库后失效。
Both:同时改变实例以及spfile文件,当前更改立即生效,重启数据库后仍然有效,这个选项相当于不带参数的alter s ystem语句设置oracle客户端中文显示:nls_lang_z AMERICAN_AMERICA.ZHS16GBKnls_lang AMERICAN_7ascii。