部署了一个 Oracle 的数据库,发现SYSAUX01.dbf 这个文件总是持续的保持30-40M每秒的IO读,是何原因?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署了一个 Oracle 的数据库,发现SYSAUX01.dbf 这个文件总是持续的保持30-40M每秒的IO读,是何原因?相关的知识,希望对你有一定的参考价值。

数据库上是开发测试环境,没有什么大的负载
这个现象是从WUN2008R2自带的资源监视器看到的

数据库是,11G

是否启用了OEM,因为看不见,我只能分析下。
sysaux表空间主要是以下几个组件占用,最大的是OEM,特别是OEM在拉取数据时,会消耗大量资源。
此外还有这几个,如:workspace manager,logical standby,oracle spatial,logminer
不知道楼主是启用了哪个。
因为sysaux基本上不能被传输,所以可以忽略传输导致的I/O读。
参考技术A 你是怎么观测到这个现象的?
建议你做个问题发生时的awr report,看看physical read和logical read比较高的SQL是什么?
有哪些是跟sysaux相关的?
另外,除了楼上的,awr的相关信息也在sysaux里面。
对了,还有,你是什么版本的数据库?追问

这个现象是从WUN2008R2自带的资源监视器看到的

数据库的版本是,11G

追答

awr 有什么发现么

追问

确定是OEM导致的问题,把OEM停掉后IO显著下降了,多谢

参考资料:SQL

阿里云部署oracle 11g数据库

某程序员在阿里云部署了一套oracle 11g,老板说他们搞了好几天,监听一直启动不来,让我给看看。登上去一瞧,原来是主机名设置的问题(把阿里云的弹性ip直接写在/etc/hosts文件,而云主机的网卡地址一般是私有地址)。这个事情,我还专门发了一篇文章,地址为http://blog.51cto.com/sery/2084706 。修复完这个问题以后,觉得直接把数据库这样放在公网上很不妥当,通时又发现其它一些问题,比如磁盘空间规划不合理、混装java等。于是建议把此机作为测试环境,另购几台云主机,放入vpc网络,重新部署应用和数据库,把数据库与其它应用独立开来。


都怪我多事,只好亲自操刀,重新在云上给部署oracle了。本人从来不推荐在公有云部署oracle,主要原因有以下几点:

 1、云主机没有交换分区swap,了解好几家服务商,都是这样呢!

 2、云服务器的操作系统可定制性不灵活。在我的经验中,oracle 11g部署在centos5这样的操作系统上,不会有依赖问题,而在centos6 以上版本,一些依赖包在安装oracle过程中,校验就会出错。

 3、云主机性能问题。一般情况下,我们都会选很高配置的物理服务器来部署。

  

在公有云部署oracle,尽管别扭,但还得干活啊。虽然在安装过程中,有几个包不匹配(实际是版本高了),忽略掉这些校验,部署上去,运行好一段时间(大概1个多月),也没见看开发人员叫唤,时不时查告警日志,也未见异常,说明安装还是成功的。目前,个人手里没有线上的云服务器,这里就用虚拟环境,来还原一下整个部署过程,希望能对有需要的人有所帮助.


选购一台centos7的云主机,外加一个250G的云盘。云盘分两个区,一个用于交换分区,剩下的用作oracle的安装目录及数据存储。划分出来的数据分区,挂接到系统上。为了符合oracle的安装习惯,挂接点为/u01.

技术分享图片


在正式执行oracle的安装脚本之前,有一系列的前置操做,由于本人经常做部署,为了省事,写了一个脚本,内容为:

[[email protected] ~]# more oracle_rep.bash 

#!/bin/bash

#writed by sery 2012-05-16


#########################################

#install depending packages             #

#########################################

yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-*


########################################

#add groups,user and create dir        #

########################################

/usr/sbin/groupadd -g 501 oinstall

/usr/sbin/groupadd -g 502 dba



useradd -u 1000 -g oinstall -G dba oracle


mkdir /u01/app/

mkdir -p /u01/app/oraInventory

mkdir -p /u01/app/oracle

chown -R oracle:oinstall /u01/app

chmod -R 775 /u01/app


##############################################

#modify  sysctl.conf                         #

##############################################

cat >> /etc/sysctl.conf <<done

fs.file-max = 6815744

kernel.shmall = 2097152

#kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

fs.aio-max-nr = 1048576

done


sysctl -p


###############################################

#modify  /etc/security/limits.conf            #

###############################################

cat >> /etc/security/limits.conf << done

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

done


################################################

#modify /etc/pam.d/login                       #

################################################

echo "session    required     pam_limits.so">>/etc/pam.d/login


################################################

# setting user oracle env                      #

################################################

cat >> /home/oracle/.bash_profile <<done

export ORACLE_SID=zyzf1

export ORACLE_UNQNAME=zyzf1

export ORACLE_base=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0

export PATH=$ORACLE_HOME/bin:$PATH

done

授予该脚本执行权限,然后执行./oracle_rep.bash。执行完毕,挨个检查一下,看是否生成目录、是否创建了用户、是否修改了相关配置文件....


接下来,配置和启用vnc,以图形方式来远程安装oracle。物理服务器时代,我们还可能去机房,做在物理服务器前边,接上显示器。但用了云主机以后,这个路没有了哟,当然也算解放了,不用去机房接受噪音和辐射嘛!


云主机安装的centos可能没有默认安装vnc服务,

以上是关于部署了一个 Oracle 的数据库,发现SYSAUX01.dbf 这个文件总是持续的保持30-40M每秒的IO读,是何原因?的主要内容,如果未能解决你的问题,请参考以下文章

物流行业-云上Oracle数据库备份容灾方案

Ivy 解决了 Oracle JDBC 依赖项,但不部署具有其他依赖项的 jar

Oracle12C部署服务建立用户及建库建表中遇到的问题以及12C的一些新特性

基于CentOS7安装部署 Oracle 12c

基于CentOS7安装部署 Oracle 12c ?

Oracle 11g数据库的部署