ORACLE 10.2.0.1 RAC for redhat linux as4u4安装操作手册
上一篇 / 下一篇 2008-01-24 10:12:43 / 个人分类:ORACLE
ORACLE10.2.0.1RAC
FOR RedHat Linux AS4 update4
安装操作手册
DOIT博客X0G"J$kw5[DZg^DOIT博客w5w3kgf d$nwz
DOIT博客G0Ln.J'f
r(P%gCFR+s:]+i0
%c4c6R;[8E8x p'qF.V0 DOIT博客` |6b+ml(M.H7]
L4Ao!} |m2S0
EtAfd7rs0 DOIT博客!Uo~4qnaTO%g
DOIT博客5Z wE*G*W:U
DOIT博客0v~D$?iMju
DOIT博客Q9pw:`u%dom
W.hGqd}hn0
D*W7|!I Fu2{0 DOIT博客-l:i0z"__Bv|;a
DOIT博客0C`1?kF?d&dWW
DOIT博客r o1Rp_Y-G/R)z
DOIT博客'y5niyw6G
7[VRR$gw,~a0 DOIT博客 p ]WR }*O1ae
DOIT博客bV)[8k?W_
-pw9q0h]2Tz]:px r0
| 文件编号: | 版本号:V1.0 |
| 拟制: | 日期:2007年5月15日 |
| 审核: | 日期: |
"MV?&]K4DOj0
$I+v5R {qW1M0 DOIT博客 ja$R.cCt&qcS
DOIT博客KS*VI F1C
DOIT博客OOJ~Jq8t)x+[
DOIT博客5u/W;S!O*\6]yL
| 文档摘要 |
|
i4j*[X"JQZ/?g0 DOIT博客;?.Wtwu \,vQ
|U[[ F%~7D3kz8K0
'f*xncn0 DOIT博客5o4V$IPh~?
修改历史
%IT~d!B |,k0| 姓名 | 版本 | 完成时间 | 备注 |
| 李光 | 1.0.0 | 2007-5-15 | 初次建立文档 |
计划
q.KHJnOSV0本次数据库采用10G RAC集群,由于10G提供了Oracle集群文件系统(OCFS)、自动存储管理器(ASM)、原始设备这三种共享磁盘方式用于RAC的安装,因此我们准备计划先采用ASM安装RAC并进行建库。下面的计划主要是针对ASM方式的部署RACDOIT博客#z @-r'ke'ASY
- 硬件环境描述
- 节点1与节点2硬件
- 集群拓扑
- 前期准备
- 准备ORACLE的安装配置文件
.bash_profile
D$hlC.K4R0/etc/sysctl.confDOIT博客Kt/sklxm
- 准备安装数据库+ASM所需要的ASMLIB
oracleasm-2.6.9-42.ELsmp-2.0.3
oracleasmlib-2.0.2-1.i386
]Vm3fpXk0oracleasm-support-2.0.3-1.i386DOIT博客kj)uZ/T
- RAC系统规划
1、节点1、节点2规划、注册文件规划(ocr)、表决磁盘规划(VOTING DISK)、
?\iRQ9n8U02、操作系统安装规划 DOIT博客;pCz??N
- 根据规划安装操作系统
- 在节点1安装操作系统
- 在节点2安装操作系统
- 配置时钟同步
- ORACLE RAC安装环境检查与准备
- 检查安装ORACLE所需要的操作系统RPM包
- 创建ORACLE用户与DBA组
- 修改系统内核参数./etc/sysctl.conf
- 设置ORACLE用户环境变量(修改ORACLE的.bash_profile)
- 配置/etc/hosts文件
- 配置hangcheck_timer内核
- 配置SSH
- 根据规划共享存储系统
- 调整配置错误
- ASMlib安装与检查
- 安装ASMlib
- 配置ASM磁盘
- 安装Clusterware与ORACLE数据库系统
- 安装CRS软件
- 安装ORACLE数据库
- DBCA以ASM创建数据库
- 测试RAC
- 数据库部署
- 参考文献
具体步骤
若无特别说明,“$”提示符均表示在oracle用户下执行,“#”提示符均表示在root用户下执行
t|O[$\^8@+C0- 硬件环境描述
- 硬件说明
| 服务器名 DOIT博客:X4k5e^v1gm!q"g~n7_ 项目名称 #B5a9Arv0 | 服务器1(工作机) | 服务器2(备份机) | ||
| 硬件型号 | DELL 6850 | DELL 6850 | ||
| CPU | 频率 | 3.0 | 3.0 | |
| 数量 | 4 | 4 | ||
| 物理内存 | 32G | 32G | ||
| 磁盘阵列柜 | 型号 | EMC CX 200 | ||
| 每硬盘容量 | 300GB | |||
| 阵列缓存 | ||||
| 硬盘数量 | ||||
| RAID名称 | RAID 5 | 2000G | ||
- RAC体系

- 前期准备
- 准备ORACLE的安装配置文件
.bash_profileDOIT博客p)wZ-o zo5{ zR
/etc/sysctl.confDOIT博客:kA1C Ey+@5?
- 准备安装数据库+ASM所需要的ASMLIB,注意这个ASMLIB的版本要跟你操作系统的内核相匹配
验证内核版本如下命令:
4gB3Ive@!lFIww2[0# uname -r
E m8UA8}*Ud$A0我们这里内核是2.6.9-42.ELsmp、i386(32位)
8G @iq w j L`0因此下载以下ASMLIB:
M ?)oS7jx0 oracleasm-2.6.9-42.ELsmp-2.0.3
oracleasmlib-2.0.2-1.i386
B,?TqaP0oracleasm-support-2.0.3-1.i386
bH%E/[8\w+\DF@0提示:如果是单处理器系统需要下载EL的ASMLIB
9?YvK)j!vh0- RAC系统相关规划
1、操作系统安装规划DOIT博客k dX4`H%}f
| 服务器名 项目名称 Z0O1J7x%t qV%B0 | RAC节点1 | RAC节点2 | ||
| 硬件型号 | ||||
| 操作系统 | Redhat as 4.0 u4(32位) | Redhat as 4.0 u4(32位) | ||
| 服务器主机名 | dbserver1 | dbserver2 | ||
| IP地址((eth0)) | 135.233.9.101 | 135.233.9.102 | ||
| 语言环境 | 中文/英文 | 中文/英文 | ||
| 域名服务方式 | 无 | 无 | ||
| 时区 | 中国 | 中国 | ||
| 安装方式 | 安装全部安装包 | 安装全部安装包 | ||
| 内置硬盘 | 容量 | 146G | 146G | |
| 数量 | 2(RAID1) | 2(RAID1) | ||
| 系统分区 | 物理路径 | |||
| / | 30G | 30G | ||
| Swap | 35G | 35G | ||
| /home | 30G | 30G | ||
| /tmp | 5G | 5G | ||
| /usr | 20G | 20G | ||
| /opt | 30G | 30G | ||
| 系统用户 | Root OracleDOIT博客 |tf~,{!N | Root Oracle C8ws^.q\I(v0 | ||
| 磁盘阵列柜 | 型号 | |||
| 每硬盘容量 | 500G | |||
| 总容量 | 2T | |||
| RAID名称 | RAID 5 | |||
| 磁盘分区 | OCR (oracle集群注册表)DOIT博客,tj8w~FD)@{ | /dev/raw/raw1 /dev/sdb1 500M(主分区) /dev/raw/raw2 /dev/sdb2 500M(主分区)DOIT博客"f,X8h*{;y&p%H | ||
| 表决磁盘 (voting disk) x MDq*`)^0 | /dev/raw/raw5 /dev/sdb5 500M /dev/raw/raw6 /dev/sdb6 500MDOIT博客R*rfA2p0z)j J /dev/raw/raw7 /dev/sdb7 500M )^ wC|Q?+l}"t0 | |||
| ASM | /dev/sdb8 950G /dev/sdb9 950GDOIT博客$rA0y&V-| \V3W;t | |||
| 数据库备份 | /dev/sdb10 (全部) 120G | |||
| 备份mount点 | /oradata_backup /dev/sdb10 | |||
2、节点1、节点2上ORACLE安装规划、注册表规划(OCR)、表决磁盘规划(VOTING DISK)、
#NaoK%o,`Ra m0| 服务器名 m+H`/TQn:i\0 项目名称 *U.M \MLO1M'z0 | 服务器1(工作机) | 服务器2(备份机) |
| 操作系统 | Redhat as 4.0 u14(32位x86) | Redhat as 4.0 u4(32位x86) |
| 服务器主机名 | dbserver1 | dbserver2 |
| 公共IP地址(eth0) | 135.233.9.101 | 135.233.9.102 |
| 虚拟IP地址(eth0) | 135.233.9.201 | 135.233.9.202 |
| 私有IP地址(eth1) | 10.10.10.1 | 10.10.10.2 |
| ORACLE RAC SID | oradb1 | oradb2 |
| 集群实例名称 | oradb | |
| OCR (oracle集群注册表) m3a;U/B{&r!v*}eC0 | /dev/raw/raw1 /dev/sdb1 500M /dev/raw/raw2 /dev/sdb2 500MDOIT博客r&Y gKll | |
| 表决磁盘 (voting disk)DOIT博客6f_m/_"Np*G | /dev/raw/raw5 /dev/sdb5 500M /dev/raw/raw6 /dev/sdb6 500MDOIT博客O/E#|8} s /dev/raw/raw7 /dev/sdb7 500MDOIT博客yPhey | |
| ASM | /dev/sdb8 950G VOL1 /dev/sdb9 950G VOL2DOIT博客D:QRg#O"a | |
| 数据库备份 | /dev/sdb10 (全部mkfs.ext3 /dev/sdb10) 120G | |
| 数据库版本 | Oracle Database 10g Enterprise Edition Release 10.2.0.1.0(32位) | |
| 数据库BASE目录 | /home/oracle | |
| 数据库HOME目录 | /home/oracle/product/10.2.0/db | |
| 数据库监听端口 | 1521 | |
| 数据库字符集 | simplifed Chinese.ZHS16GBK | |
| 数据库系统帐号与初始密码 | Sys/oracle System/oracle !T+Bx:zb D0 | |
| 数据库恢复区大小 | 4G | |
| 数据库实例建库方式 | ASM | |
| 数据库块大小 | 8192byte | |
| 数据库数据空间大小 | ||
- 根据规划安装操作系统,并配置时钟同步
- 在节点1安装操作系统
- 在节点2安装操作系统
提示:选择全部安装包方式,这样就不用给系统打那烦人的补丁包了
- 配置时钟同步
在一台节点服务器上启动时钟服务器服务,在另外一台节点服务器上使
提示:建议RAC可以连接到互联网上,以便互联网上的时钟服务器,如果没有接DOIT博客avI;["m%Krc;]"eP
入互联网的条件也可以让其余节点向某一个节点做时钟同步,因为RAC不能容
BQxF7N-x0忍节点间时钟不同步,否则RAC会Down掉!DOIT博客qCxj*`gyH*v.ACnz
在这里我们如下操作:DOIT博客ho4GCLB dA V)L
A、在125.233.9.101节点上开启时钟服务,“applications(应用程序)”----->“system settings(系统设置)” ----->“server settings(服务设置)” ----->“services(服务)”,如图DOIT博客$z]u*dH{;G.|ud
B、在出来的”service configuration(服务配置)”中,选中“time、time-udp”,然后点击窗口工具栏中的“save(保存)”按钮,如图
ua a-Y:_.s!`4B3@0DOIT博客-JHe1bq
C、在135.233.9.102节点上创建一个shell文件,包含如下内容rdate –s135.233.9.101
t(Vt9I*q,cT6m;C0# vi /rdateDOIT博客&M~P{0q%Y(f [2m
在vi编辑器中按” i”转换为插入模式,然后输入“rdate –s 135.233.9.101”,再按”esc”键,退出插入模式,最后”shift”+”:”后再输入”wq!”,存盘退出。
k8j'l2Y(x"t(C7S0给于这个shell于执行权限
"Dmk|2G9j/]0# chmod 755 rdateDOIT博客I8sY`+uY:{8v]
D、在135.233.9.102节点上,把该shell加入到调度中,让系统每6小时向135.233.9.101节点同步时钟,这里可以使用命令”crontab”,也可以使用图形界面在“applications(应用程序)”----->“system tools(系统设置)” ----->“task scheduler(任务计划)”。命令如下DOIT博客"g3m2~*zo?5`U
# crontab –eDOIT博客%sA?)aTZz1f3J0V{
同样在编辑器里输入如下(我这里是每两个小时同步一次)
"Ic n bT00 1,4,8,13,17,20 * * * /rdateDOIT博客I*L5b7Uu+fA iO
- ORACLE RAC安装环境检查与准备
- 在每个节点上创建ORACLE用户与DBA组
- groupadd –g 1001 dba
- groupadd –g 1002 oinstall
- useradd –u 1001 –g oinstall –G dba oracle
- passwd oracle
使用图形界面创建DBA组和ORACLE用户,并手工指定他们的ID,注意在这里,每个节点的oracle用户ID,DBA组ID必须一致,其他使用默认值,同时创建完毕后在每个节点执行如下命令
Y5R^'X a AV!~+\0#chown –R oracle:dba /home/oracle
y:CI4_;E8E~6o w6F,x@,o0- 修改每个节点系统内核参数./etc/sysctl.conf,
#vi /etc/sysctl.confDOIT博客 yqi_e)o6WT
然后加入如下内容
6M[*pkeLCr0kernel.shmall = 2097152DOIT博客~1XgD OPUKm"P
kernel.shmmax = 2147483648
}^-R6[Eq+Z0y0kernel.shmmni = 4096
+j){9\&Yw g0kernel.sem = 250 32000 100 128
9I4_%?8qv f0fs.file-max = 65536DOIT博客&t+C9[6S [V,D
net.ipv4.ip_local_port_range = 1024 65000DOIT博客h,gjLK'm
net.core.rmem_default = 262144DOIT博客B }wO ^%{)X5n
net.core.rmem_max = 262144DOIT博客}p.xtdT'^
net.core.wmem_default = 262144DOIT博客6\WN1Bx Y
net.core.wmem_max = 262144DOIT博客7m9iY5XnZ7T
- 设置每个节点ORACLE用户环境变量(修改ORACLE的.bash_profile),该文件见附件
$vi .bash_profile
+_|!R6].i"}0然后加入如下内容DOIT博客] N#w2X g+d@ M#[d+Y9O
umask=022DOIT博客8^)NiD&[U
# User specific environment and startup programs
)_8f:E9ggyw ydB0export ORACLE_BASE=/home/oracleDOIT博客/|_2x u0P
export ORACLE_HOME=$ORACLE_BASE
export ORA_CRS_HOME=$ORACLE_BASE
# Each RAC node must have a unique ORACLE_SID.(i.e. dbserver1, dbserver2,...)DOIT博客!]V.{ }cf/jj
export ORACLE_SID=oradb1
DV/]_jZ6w Fu'`0 export PATH=.:${PATH}:$HOME/bin:
export PATH=${PATH}:/usr/bin:/bin:
export ORACLE_TERM=xtermDOIT博客K)gK3{5LQ
export TNS_ADMIN=$ORACLE_HOME/network
export ORA_NLS33=$ORACLE_HOME/ocommon
export LD_LIBRARY_PATH=$ORACLE_HOME
export LD_LIBRARY_PATH=${LD_LIBRARY
export LD_LIBRARY_PATH=${LD_LIBRARY
export CLASSPATH=$ORACLE_HOME/JREDOIT博客epHa3BqC-EY
export CLASSPATH=${CLASSPATH}:$ORACLE
export CLASSPATH=${CLASSPATH}:$ORACLE
export CLASSPATH=${CLASSPATH}:$ORACLE
#export THREADS_FLAG=native
&jK7PTS$RB0export TEMP=/tmpDOIT博客6p+H)i+U8@_&F
export TMPDIR=/tmpDOIT博客3fcUalX[
注意:在节点dbserver2上,ORACLE_SID应该变为oradb2DOIT博客/lSb,cw)r%_
- 配置每个节点的/etc/hosts文件
#vi /etc/hostsDOIT博客s?x,thk}h2v
然后修改里面的内容为如下DOIT博客3Hd0v$K9i
# Do not remove the following line, or various programs
+H-Q@0v-p |0# that require network functionality will fail.DOIT博客3X4Ch cr3p
127.0.0.1 localhost.localdomain localhost DOIT博客8Ikou7yy-F
135.233.9.101 dbserver1
1x0o8h9G Dtd!t0135.233.9.201 db-vip1DOIT博客6| N c,wh)\5ip0v
135.233.9.102 dbserver2
j9QU+]+J&E0135.233.9.202 db-vip2
N*lu)P,\[010.10.10.1 db-priv1DOIT博客H)bIO`
10.10.10.2 db-priv2DOIT博客N@:j6XB R-xqS
注意:确保在每个节点上/etc/hosts文件的回送地址中不包
127.0.0.1 JMRAC1 localhost.localdomain localhostDOIT博客Q1a]!x!|AL~
需要将其如下删除:
.P$|5hh.}Wn/y0127.0.0.1 localhost.localdomain localhost
H{*vpy]\0 DOIT博客%WW(P7k.ri0Q%L*@6W(o(^f
- 配置每个节点的hangcheck_timer内核:
# find /lib/modules -name "hangcheck-timer.ko"
:j8y!LI9k)~XQo0#vi /etc/modprobe.confDOIT博客Xi [k H/b;bv| i
加入如下内容DOIT博客6@4}SO)y,]
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180DOIT博客(fleWc{a+W7{
设置为自动启动hangcheck-timer
6p)U\#d&?KCD1r} N0/sbin/modprobe hangcheck_timerDOIT博客#e6gIG.U$W.m+m N)I Z
检查是否成功启动
C?bUZ0 #grep hangcheck /var/log/messages |tail -2 DOIT博客gB^;qd _
- 配置SSH
- SSH方式
以oracle用户身份执行,在所有节点上做如下配置以生成SSH密钥。
gd%Nn,ony f0$ mkdir ~/.sshDOIT博客'lX1q!T^rsG-p
$ chmod 755 ~/.sshDOIT博客 pCOa.ad l3e6i!d
$ /usr/bin/ssh-keygen -t rsa
@%M*_/XZ k/{#X ze0$ /usr/bin/ssh-keygen -t dsa
9AVu$_ gD0$ touch ~/.ssh/authorized_keysDOIT博客C5Q g9W"L x5bG nC)E
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
f7X4XLF!P0$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
#qzM4mg"M0$ cp ~/.ssh/authorized_keys ~/.ssh/jmrac1.authorized_keysDOIT博客b+R8T9~}T*G
将dbserver1.authorized_keys复制到dbserver2上DOIT博客cP;_3e rq*h!_
在dbserver2上,将dbserver1.authorized_keys导入authorized_keys
5S9XZ [jF0$ cat ~/.ssh/dbserver1.authorized
$ chmod 644 ~/.ssh/authorized_keys
kO:R/MF0_K0将上述步骤在节点2上再执行一次,注意将dbserver 1和dbserver 2互换!
/?1onZc)n{#FY3O0建立SSH信任关系(请注意,用户等效性仅为当前会话建立。如果您切换到其他会话或注销并重新登录,则必须再次运行ssh-agent和ssh-add才能重新建立用户等效性)
G&B;x&jIbY0在每个节点上执行
Z Qo%jBg7d,c v0$ exec /usr/bin/ssh-agent $SHELLDOIT博客4X_ CDX b*`(REb*I
$ /usr/bin/ssh-add
U/Okdf{ t @0在每个节点上执行如下命令以测试连通性,并建立SSH信任关系 DOIT博客`ii,|/f
}E;dL(hT2x0 $ sshdbserver1 dateDOIT博客G-_0FJ8JN/T4E-r#oY]
vJaf/^OP1n8p0 $ sshdbserver2 dateDOIT博客5kj8G-@)G4h

