oracle数据库性能调优

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

Centos6.5操作系统下,oracle数据库性能调优

1.在liunx下对数据库性能调优,首先要考虑操作系统级别的问题如:如CPU、内存、IO的瓶颈,再考虑oracle本身参数的设置。

1.

可通过top 命令判断是否为CPU瓶颈,如果oracle进程占用CPU过多,可考虑为CPU的问题。

目前我们针对的主要是内存和磁盘的问题。

2.Oracle数据库内存参数的优化

Ø与oracle相关的系统内核参数

ØSGA、PGA参数设置

(1)系统内核参数

修改/etc/sysctl.conf 这个文件,加入以下的语句:

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.sem = 250 32000 100 128

fs.file-max = 65536

参数依次为:

Kernel.shmmax:共享内存段的最大尺寸(以字节为单位)。

Kernel.shmmni:系统中共享内存段的最大数量。

Kernel.shmall:共享内存总量,以页为单位。

fs.file-max:文件句柄数,表示在Linux系统中可以打开的文件数量。

net.ipv4.ip_local_port_range:应用程序可使用的IPv4端口范围。

可通过sysctl -p 查看内核参数的值,请确认各个内核参数只有一个,避免出现一个内核参数出现好几次的情况,导致正确的参数别覆盖。

需要注意的几个问题

关于Kernel.shmmax

Oracle SGA 由共享内存组成,如果错误设置SHMMAX可能会限制SGA 的大小,SHMMAX设置不足可能会导致以下问题:ORA-27123:unable to attach to shared memory segment,如果该参数设置小于Oracle SGA设置,那么SGA就会被分配多个共享内存段。这在繁忙的系统中可能成为性能负担,带来系统问题。

Oracle建议Kernel.shmmax最好大于sga,以让oracle共享内存区SGA在一个共享内存段中,从而提高性能。

Oracle 11g实现了数据库所有内存块的全自动化管理,使得动态管理SGA和PGA成为现实。

日志文件及表空间文件的大小及位置也是影响性能的一个因素,排查过程如下。

应用 iotop -ao 命令查看oracle对磁盘读写对资源的占用情况,

ora_lgwr_first进行对磁盘的访问较多。

使用

strace -p 34255 命令对ora_lgwr_first进程跟踪,如图发现此进程主要是对22号文件进行读写。

使用命令:

ll /proc/34255/fd 查看20-25号文件为oracle的redo文件

使用sql语句进行查看redo文件的信息,如果发现文件太小,oracle在写完一个redo 文件时,频繁发生文件切换就会影响性能。

如下图所示,查看redo文件的状态,如果为INACTIVE状态,可以删除,命令如下:

alter database drop logfile group 3;

再增加日志文件,增大日志文件的大小,减小日志文件大小,日志文件直接来回切换造成的性能损失,具体命令如下:

alter database add logfile group 1 ('/home/oracle/app/oracle/oradata/first/redo01.log') size 256M reuse;

使用select * from dba_data_files;查看表空间文件的个数,及位置

多个表空间可以防止个别表数据量增加太快占满表空间,影响其它表的数据插入;

多个数据文件也可以增加系统的并发性,如果将多个表空间文件放到不同的硬盘上可以减小磁盘IO瓶颈对性能的影响。

查看制定表空间的数据文件

select * from dba_data_files where tablespace_name='HDX_DATA';

修改表空间数据文件大小

ALTER DATABASE DATAFILE '/hdxdata/oracle_home/data/hdx_data_03.dbf' RESIZE 1024M

增加表空间数据文件

ALTER TABLESPACE HDX_DATA ADD DATAFILE '/hdxdata/oracle_home/data/hdxdata_08.dbf' SIZE 1024M AUTOEXTEND ON NEXT 5M MAXSIZE 3072M;

磁盘的文件系统的日志读写也是影响性能的一个因素,可通过关闭文件系统日志的方式提高性能,但在突然断电时可能会导致数据丢失。

查看文件系统日志是否开启如图所示,表示日志开启

可通过以下命令关闭文件系统的日志

关闭日志:tune2fs -O ^has_journal /dev/vda5

开启日志:tune2fs -O has_journal /dev/vda5

相关文档
最新文档