--数据库初始化参数调整
第一个也是最重要的一个参数就是 DB_CACHE_SIZE。这是一个用来调整数据库缓存大小的参数。
第二个参数是 DB_BLOCK_SIZE。这个参数主要是用来指定数据库在建立时所默认的块大小。如果块设置的比
较小,则有可能会发生行链化现象,从而降低数据库的性能;也有可能增加数据库
的碎片,浪费表空间的存储空间以及降低数据库的查询性能等等。所以根据需要有时候也要调整这个块大小来
改善数据库的性能。
第三个参数是 SHARED_POOL_SIZE 参数。这个参数主要是为那些数据字典缓存和共享 SQL 语句指定了在
SGA 里所分配的内存。简单的来说,合理配置这个参数,能够同等的共享 SQL 语句。调整
这个参数,也是一种优化数据库性能的常用手段。
第四个参数为 SGA_MAX_SIZE 参数,这个参数指定了 SGA 可以动态增长的最大内存。一般来说,在同台数据
库服务器中若部署有多个应用服务的话,则往往需要合理配置这个参数来避免
多个应用服务之间争用内存。如果这个参数设置的不合适的话,则有时候会导致另外一种应用服务由于没有足
够的内存而停止服务。
第五个参数为 LOG_CHECKPOINT_INTERVAL。这个参数主要用来设置检查点的频率。在每个检查点中,数据
库系统执行数据写出,将所有脏块(已经修改还没有保存到硬盘中的数据)写入到数
据库中对应的数据文件中。默认情况下,如果在数据库缓存中有 1/4 的数据缓冲区是脏缓冲区,则数据库系
统会自动执行检查点。另外一个强制的原则就是在进行日志切换时,也会执行检
查点。在一些特定的情况下,如建立数据仓库,需要调整这个参数以满足特定场合的需要。
--参考配置:
--1、修改进程数量 默认 150
show parameter process;
alter system set processes=1500 scope=spfile;
--2、redo 默认 50M, 改成 100M 或更大,具体根据 redo 的量来设置
select member from v$logfile;
select group#,members,bytes/1024/1024,status from v$log;
--增加日志组
alter database add logfile group 4
('/home/u01/app/oracle/oradata/nwppdb/redo04.log') size 100M;
alter database add logfile group 5
('/home/u01/app/oracle/oradata/nwppdb/redo05.log') size 100M;
alter database add logfile group 6
('/home/u01/app/oracle/oradata/nwppdb/redo06.log') size 100M;
--切换
alter system switch logfile;
--删除之前小的日志组
alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;
--3、redo 每组默认 3 组每组一个成员,建议每组两个成员以上
alter database add logfile member
'/home/u01/app/oracle/oradata/nwppdb/redo04_2.log' to group 4;
alter database add logfile member
'/home/u01/app/oracle/oradata/nwppdb/redo05_2.log' to group 5;
alter database add logfile member
'/home/u01/app/oracle/oradata/nwppdb/redo06_2.log' to group 6;
--4、设置 sga pga 大小 oltp 系统通常(要设置好,防止内存抖动)
sga=内存*80%*80% pga=内存*80%*20%
show parameter memory
show parameter sga;
show parameter pga;
alter system set memory_target=4096m scope=spfile;
alter system set memory_max_target=4096m scope=spfile;
alter system set sga_target=3027m scope=spfile;
评论