一、介绍:

一台pc(AMD 速龙II x630,8G内存,1T硬盘),上面装有fedora13系统,其中安装了vmware workstation。这个实验环境都是在vmware workstation上完成的,其中两个节点是在vmware中。fedora13伴有DNS服务器的角色和NFS服务器的角色。两个节点的介绍:

RAC03:

主机名:rac03.xzxj.edu.cn

IP地址: 192.168.1.143 (公网IP eth0)

网关: 192.168.1.1 (eth0)

IP地址:192.168.0.143 (私网IP eth1)

网关: none

RAC04:

主机名:rac04.xzxj.edu.cn

IP地址: 192.168.1.144 (公网IP eth0)

网关: 192.168.1.1 (eth0)

IP地址:192.168.0.144 (私网IP eth1)

网关: none

两个节点分别安装以下软件包:

binutils
compat-libstdc++
elfutils-libelf
elfutils-libelf-devel
gcc
gcc-c++
glibc
glibc-common
glibc-devel
glibc-headers
libaio
libaio-devel
libgcc
libstdc++
libstdc++-devel
libXp
make
openmotif
sysstat
unixODBC
unixODBC-devel

两个节点的/etc/hosts文件如下:

Oracle 10g RAC On Linux Using NFS_RAC

二、为安装oracle配置系统:

向/etc/sysctl.conf文件,假如如下内容:

Oracle 10g RAC On Linux Using NFS_Linux_02

完了后,运行sysctl -p使之立刻生效。

向/etc/security/limits.conf文件加入以下内容:

Oracle 10g RAC On Linux Using NFS_Using_03

修改/etc/pam.d/login文件,加入以下内容:

Oracle 10g RAC On Linux Using NFS_Using_04

/etc/profile加入以下内容:

Oracle 10g RAC On Linux Using NFS_NFS_05

配置并加载 hangcheck-timer 模块:

hangcheck-timer 模块有两个关键的参数:

  • hangcheck-tick:此参数定义了系统运行状况检查的间隔时间。默认值为 60 秒;Oracle 建议将它设置为 30 秒。
  • hangcheck-margin:此参数定义了 hangcheck-timer 在重置 RAC 节点前所容许的最大挂起延迟。它定义了以秒为单位的误差幅度。默认值为 180 秒;Oracle 建议将它设置为 180 秒。
注:这两个 hangcheck-timer 模块参数表示在该模块重置系统前 RAC 节点必须挂起的时长。当以下条件为真时将会重置节点: system hang time > (hangcheck_tick + hangcheck_margin)

向/etc/modprobe.conf文件加入以下内容:

Oracle 10g RAC On Linux Using NFS_RAC_06

添加oracle组和用户:

Oracle 10g RAC On Linux Using NFS_RAC_07

这个server43重启后就会变成rac03了。

向oracle家目录下的.bash_profile加入以下内容:

Oracle 10g RAC On Linux Using NFS_Using_08

注意,在rac03上的oracle_sid是racdb1,则rac04上就是racdb2.

fedora上的nfs共享,如下所示:

Oracle 10g RAC On Linux Using NFS_NFS_09

完了重启nfs进程,验证是否共享成功:

Oracle 10g RAC On Linux Using NFS_Oracle_10

在两个节点上,创建/u01目录,然后将fedora上的共享挂载在/u01上,结果如下:

/etc/fstab设置如下:

Oracle 10g RAC On Linux Using NFS_Oracle_11

Oracle 10g RAC On Linux Using NFS_RAC_12

更改属主为oracle:

Oracle 10g RAC On Linux Using NFS_Linux_13

三、安装篇:

三个软件包:

10201_clusterware_linux_x86_64.cpio 

10201_database_linux_x86_64.cpio

p8202632_10205_Linux-x86-64.zip  10g的最后一个更新包。

clusterware的安装:

Oracle 10g RAC On Linux Using NFS_Linux_14

Oracle 10g RAC On Linux Using NFS_NFS_15

Oracle 10g RAC On Linux Using NFS_RAC_16

Oracle 10g RAC On Linux Using NFS_Linux_17

Oracle 10g RAC On Linux Using NFS_Linux_18

Oracle 10g RAC On Linux Using NFS_RAC_19

Oracle 10g RAC On Linux Using NFS_NFS_20

这里的ocr随便命名,oracle会自动生成的。

Oracle 10g RAC On Linux Using NFS_NFS_21

这里的vote随便命名,oracle会自动生成的。

Oracle 10g RAC On Linux Using NFS_NFS_22

Oracle 10g RAC On Linux Using NFS_RAC_23

Oracle 10g RAC On Linux Using NFS_Oracle_24

Oracle 10g RAC On Linux Using NFS_Linux_25

Oracle 10g RAC On Linux Using NFS_Using_26 

Oracle 10g RAC On Linux Using NFS_Oracle_27

Oracle 10g RAC On Linux Using NFS_NFS_28

这里会报以下错误:

Oracle 10g RAC On Linux Using NFS_Linux_29

这是由于vipca程序不能执行引起的,暂时不予理会,回头安装10.2.5.0补丁集再运行vipca程序。

Oracle 10g RAC On Linux Using NFS_Linux_30

 

运行vipca程序:

 

database的安装只安装软件,回头使用dbca创建数据库:

Oracle 10g RAC On Linux Using NFS_RAC_31

Oracle 10g RAC On Linux Using NFS_Using_32 

Oracle 10g RAC On Linux Using NFS_Linux_33

Oracle 10g RAC On Linux Using NFS_Linux_34

Oracle 10g RAC On Linux Using NFS_RAC_35

Oracle 10g RAC On Linux Using NFS_Linux_36

Oracle 10g RAC On Linux Using NFS_Linux_37

Oracle 10g RAC On Linux Using NFS_Using_38

Oracle 10g RAC On Linux Using NFS_Linux_39

Oracle 10g RAC On Linux Using NFS_NFS_40

Oracle 10g RAC On Linux Using NFS_Linux_41

Oracle 10g RAC On Linux Using NFS_Linux_42

Oracle 10g RAC On Linux Using NFS_RAC_43

数据库安装完毕,接着打补丁。

首先停止所有oralce进程:

Oracle 10g RAC On Linux Using NFS_Linux_44

Oracle 10g RAC On Linux Using NFS_Oracle_45

 

Oracle 10g RAC On Linux Using NFS_RAC_46

先升级clutserware,然后升级database

Oracle 10g RAC On Linux Using NFS_RAC_47

Oracle 10g RAC On Linux Using NFS_RAC_48

Oracle 10g RAC On Linux Using NFS_Oracle_49

这里不予理会,继续下一步:

Oracle 10g RAC On Linux Using NFS_NFS_50

Oracle 10g RAC On Linux Using NFS_RAC_51

Oracle 10g RAC On Linux Using NFS_NFS_52

Oracle 10g RAC On Linux Using NFS_Oracle_53

Oracle 10g RAC On Linux Using NFS_Oracle_54

这里升级完后,会提示如下信息:

Oracle 10g RAC On Linux Using NFS_NFS_55

按照上面的步骤一步一步来,即可完成crs的升级。

Oracle 10g RAC On Linux Using NFS_NFS_56

Oracle 10g RAC On Linux Using NFS_NFS_57

接着升级database:

Oracle 10g RAC On Linux Using NFS_Linux_58

Oracle 10g RAC On Linux Using NFS_Using_59

Oracle 10g RAC On Linux Using NFS_Oracle_60

Oracle 10g RAC On Linux Using NFS_NFS_61

Oracle 10g RAC On Linux Using NFS_NFS_62

Oracle 10g RAC On Linux Using NFS_Using_63 

以root用户执行vipca程序:

Oracle 10g RAC On Linux Using NFS_Linux_64

Oracle 10g RAC On Linux Using NFS_NFS_65

Oracle 10g RAC On Linux Using NFS_Using_66

Oracle 10g RAC On Linux Using NFS_RAC_67

Oracle 10g RAC On Linux Using NFS_NFS_68

Oracle 10g RAC On Linux Using NFS_NFS_69

下来以oracle身份配置监听程序:

Oracle 10g RAC On Linux Using NFS_Linux_70

Oracle 10g RAC On Linux Using NFS_Oracle_71

Oracle 10g RAC On Linux Using NFS_Linux_72

Oracle 10g RAC On Linux Using NFS_Oracle_73

Oracle 10g RAC On Linux Using NFS_Using_74 

接着创建数据库实例:

Oracle 10g RAC On Linux Using NFS_Using_75

Oracle 10g RAC On Linux Using NFS_Linux_76

Oracle 10g RAC On Linux Using NFS_RAC_77

Oracle 10g RAC On Linux Using NFS_NFS_78

Oracle 10g RAC On Linux Using NFS_NFS_79

Oracle 10g RAC On Linux Using NFS_RAC_80

Oracle 10g RAC On Linux Using NFS_RAC_81

Oracle 10g RAC On Linux Using NFS_RAC_82

Oracle 10g RAC On Linux Using NFS_RAC_83

Oracle 10g RAC On Linux Using NFS_RAC_84

Oracle 10g RAC On Linux Using NFS_RAC_85

Oracle 10g RAC On Linux Using NFS_RAC_86

验证实例是否已启动:

Oracle 10g RAC On Linux Using NFS_Using_87

查看racdb的全局信息:

Oracle 10g RAC On Linux Using NFS_Linux_88

Oracle 10g RAC On Linux Using NFS_NFS_89

Oracle 10g RAC On Linux Using NFS_RAC_90

Oracle 10g RAC On Linux Using NFS_Using_91

Oracle 10g RAC On Linux Using NFS_RAC_92

ok,一切正常。