如何搭建一个数据库服务器平台
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
玩Oracle也有2年的时间了,从接触Oracle 到现在,一直没有停止过学习。要学的东西太多,刚入门的时候是这样的感觉,现在还是这样的感觉。有时候也在想,还要学多长时间才能感觉自我良好了,有十足的自信心了。很多朋友都想做DBA,因为他们觉得这一个高薪的行业。但是并不是所有都明白为什么DBA是个高薪的行业。高薪意味着压力大,责任大。
现代化的程度越高,对数据库的依赖性越大。数据安全性和系统的安全性也就越大。比如公司业务系统。数据库是直接的存储地方的,他的重要性是不言而喻的,宕机带来的损失可能是按分钟或者秒算的。而谁对这些数据库负责--DBA。所以很多公司,企业都是找有经验的DBA ,他们也是在为他们的系统买保险。这也是为什么企业不愿意招一个没有实战经验的DBA来管理自己的数据库。
试想某个省移动的数据库出了问题,造成数据丢失,在比如银行数据库挂了。他们带来的损失不光是影响正常的业务运行,还有可能是数据错误。假如你在银行存了100万,结果银行一不小心,在数据库里少了几个0. 这个是谁也不愿意看到的。当然以上都是假设的情况。因为像这些数据重要性极高的单位,他们都有一整套数据的保护机制。是不会发生这种情况的。
下面就来总结一下如何的来搭建一个数据库平台。主要从参数和一些特性的配置上来说明。当然我玩Oracle也才2年,经验不足,可能对与这些参数的设置也不是很合理。
从网上看到过一句话:每个DBA心中对重要的参数都有一个标准。我想这也是经验的价值。
就是要健康http:/
一.Linux 系统
说明,在安装操作系统之前,现在服务器上做个RAID。一般都用RAID5.
1.LINUX磁盘划分:
a.对于内置2块磁盘(146GB)的系统,/目录20GB,SW AP与内存大小相当(8GB以下内存机器SW AP配置8GB),/boot 100MB。如果作为应用服务器,那么其余空间建立/apps文件系统,mke2fs –j 命令;如果作为数据库平台,那么建立/dba文件系统20GB,其余建立/u01文件系统。
b.对于内置4-6块磁盘的系统,/目录60GB,SWAP与内存大小相当(8GB以下内存机器SW AP配置8GB),/boot 100MB。如果作为应用服务器,那么其余空间建立/apps文件系统,mke2fs –j 命令;如果作为数据库平台,那么建立/dba文件系统40GB,其余建立/u01文件系统。
c.对于oracle数据文件目录文件系统使用mke2fs –j –T largefiles命令建立
2.对于非外接存储情况下:
a.ORACLE目录标准:ORACLE_HOME=/dba/app/oracle/product/10.2.0.4(按版本指定)
ORACLE_BASE=/dba (dump目录为/dba/admin/sid/)
Datafile目录为/u01/oradata/sid
归档空间目录/u01/oradata/archive_sid
b.对于有外接存储(/u02…)情况下:
ORACLE目录标准:ORACLE_HOME=/dba/app/oracle/product/10.2.0.4(按版本指定)
ORACLE_BASE=/u01 (dump目录为/u01/admin/sid/)
c.ORACLE建库采用CUSTOMER方式,直接更改初始UNDO和TEMP空间8GB(或者4GB,或者通过增加文件数目到更大,根据业务系统),system空间512MB(或者1GB)。Redolog为100MB,单个数据文件大小以8GB 为宜(因EXT3文件系统特性使然),建议数据文件一次性划分到8G, 以保证数据文件的连续性。
3.参数及服务配置:
方法一:建立NTP时间同步服务,/etc/ntp.conf中加入server 10.0.30.172,执行# ntpdate 10.0.30.172,# service ntpd start ,# chkconfig --level 235 ntpd on
西狐IT在线
方法二:时间同步配置(编辑crontab)
输入命令:ntpdate 10.0.30.172
crontab –e(编辑crontab)
按i进入输入状态,输入以下一行:
01 01 * * * root /usr/sbin/ntpdate 10.0.30.172 >/dev/null 2>&1(每天01:01与时间服务器10.0.30.172同步时间)
:wq!(保存退出)
更多信息参考我的Blog: Linux 时间同步配置
/tianlesoftware/archive/2010/02/22/5315587.aspx
4. Linux 内核参数修改
4.1 修改内核参数/etc/sysctl.conf,对于8GB-16GB内存机器
kernel.shmall = 2097152 →4194304 ( 4KB单位,总内存大小)
kernel.shmmax = →8589934592(实际物理内存的2/3)
kernel.shmmni = 4096
对于16GB内存以上机器
kernel.shmall = 2097152 →8388608 ( 4KB单位,总内存大小)
kernel.shmmax = →10179869184(比实际物理内存的2/3)
kernel.shmmni = 4096 –>8192
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 = 1048586
西大人在线/
以前也整理的相关的资料,详见blog:Linux 内核参数及Oracle相关参数调整
/tianlesoftware/archive/2009/10/15/4668741.aspx
4.2.根据应用情况修改进程数限制/etc/security/limits.conf
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024 ->2048
* hard nofile 65536