暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORACLE数据优化类参数配置说明

新意客服中心 2021-07-19
2019

v$parameter数据字典


v$parameter数据字典中显示了oracle数据库中关于初始化参数的信息。

本文重点介绍(敲黑板)新意产品在oracle数据库中需要关注的主要参数。


这些参数往往需要根据实际产品部署和运行情况做进一步的调整。通常先备份参数文件,再做修改。


修改参数前备份指引

备份语句如下:

--修改前,创建PFILE文件。

create pfile ='/home/oracle/initora11g.ora' from spfile;

--异常时,通过备份的pfile文件来启动数据库。

startup pfile='/home/oracle/initora11g.ora';



重要参数说明


备份完成后,根据实际情况调整下表的相关参数,后续对各个参数进行重点说明。


NAME

VALUE

DISPLAY_VALUE

DESCRIPTION

db_block_size

16384

16384

Size of database block in bytes

db_files

800

800

max allowable # db files

memory_max_target

121601261568

115968M

Max size for Memory Target

memory_target

121601261568

115968M

Target size of Oracle SGA and PGA memory

open_cursors

8000

8000

max # cursors per session

pga_aggregate_target

0

0

Target size for the aggregate PGA memory   consumed by the instance

processes

1000

1000

user processes

sessions

1568

1568

user and system sessions

sga_max_size

121601261568

115968M

max total SGA size

sga_target

0

0

Target size of SGA


db_block_size





数据库默认块大小,由数据库创建时的选项指定(见下图),默认值是8k。新意产品的标准是16K

修改完成后:有效避免单个数据文件太小的问题。

因为该参数还限制了单个数据文件的大小。8K标准的数据文件最大是32G,16K标准的数据文件最大是64G.


图2


db_files




数据库中数据文件最大数量,默认值只有200,需要调整


可根据部署产品数量进行设置,建议值大于1000,修改完参数后需要重启数据库服务。


修改完成后:可以有效避免新搭建的数据库在创建表空间时,由于参数值过小导致的“ORA-00059:maximum number of DB_FILES exceeded”错误。


调整语句:

alter system db_files=1000 scope=spfile;



memory_max_target和memory_target






这两个参数是Oracle 11g自动内存管理特性,可以动态管理SGA和PGA的大小。memory_target不能超过MEMORY_MAX_TARGET参数设置的大小,默认等于他的大小。使用自动化管理时,SGA_TARGET和PGA_AGGREGATE_TARGET 这两个参数需要设置为0。

memory_max_target和memory_targe参数建议值<=物理内存*70%~80%。

修改完参数后需要重启数据库服务。


调整语句:

alter system set memory_target=XXXM scope=spfile;

alter system set memory_max_target =XXXM scope=spfile;

alter system set pga_aggregate_target =0 scope=spfile;

alter system set SGA_TARGET=0 scope=spfile;


open_cursors






SESSION(会话)最多能同时打开多少个cursor(游标)。

修改完成后:参数值需要设置得足够大,以避免应用程序用尽所有打开的游标,而导致的ORA-01000: Maximum Number of Cursors Exceeded的错误。

建议值:3000,修改完参数后需要重启数据库服务。


调整语句:

alter system set open_cursors=3000 scope=spfile;



Process







该参数限制了能够连接到SGA的操作系统进程数,Oracle给出的默认参数的值偏小,需要再手工调整。这个总数必须足够大,从而能够适用于后台进程,避免错误"ORA-00020: maximum number of processes (xx) exceeded"错误。


新意部署产品参数的建议值:

1、单个产品,不低于1000至上限值

2、两个产品,不低于1500至上限值

3、三个产品以上,不低于2000至上限值

修改完需要重启数据库服务。


调整语句:

alter system set processes=1000 scope=spfile;


Sessions






该参数为派生值,由processes的值决定。11g数据库官方默认值(sessions=1.5*processes + 22)。通常只需要调整PROCESSES参数,SESSIONS参数就会按照上面的公式自动调整。


sga_target和sga_max_size





该参数为系统共享全局内存区大小设置,用于共享的数据和日志的缓存,第一个值是启动实例时的默认值,第二个是最大值。在非自动内存管理情况下(即Memory_target =0), 一般设置成物理内存一半即可。实际环境可以根据AWR报告中SGA Target Advisory再做进一步的调整。修改完参数后需要重启数据库服务。

调整语句:

alter system set sga_max_size=XXXXM scope=spfile; 

alter system set sga_target=XXXXM scope=spfile; 



pga_aggregate_target





该参数为程序全局内存区大小设置,用于分配给服务进程使用。

较大数值可以提高访问性能,减少磁盘读写是有较大帮助。

在非自动内存管理情况下(即Memory_target =0),建议物理内存*20%-35%。实际环境中可以根据AWR报告中PGA Memory Advisory再做进一步的调整。修改完参数后需要重启数据库服务。

调整语句:

alter system set pga_aggregate_target=XXXXM scope=spfile;


如果有更多想要了解的参数配置,欢迎留言告诉我们哦!




文章转载自新意客服中心,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论