1、下载所需要的软件

虚拟机软件:VMware-server-2.0.2-203138.exe、vmware-vmrc-win32-x86.exe
Linux操作系统:rhel-server-5.4-i386-dvd.iso
oracle集群软件:linux_11gR2_grid.zip
oracle 数据库软件:linux_11gR2_database_1of2.zip、linux_11gR2_database_2of2.zip
以上软件都可以从网上下载到。关于vmware server 2.0的使用可以参考教程:http://blog.csdn.net/qibujinglong110/article/details/5723704


2、建立存放虚拟机的目录

节点1:E:\rac11g\racnode1
节点2:E:\rac11g\racnode2
共享磁盘:E:\rac11g\sharedisk
因为实验环境是虚拟机安装rac,所以需要这些录。


3、IP地址规划

hostname

racnode1

racnode2

公共IP(eth-0)

10.10.10.10

10.10.10.11

虚拟IP(eth-0)

10.10.10.20

10.10.10.21

私有IP(eth-1)

10.10.10.30

10.10.10.31

ORACLE_SID

orcl1

orcl2

scan

10.10.10.7    10.10.10.8    10.10.10.9

根据自己的实际地址来,我实验的ip是这样的。


4、存储磁盘规划

用途

磁盘名

大小

存放集群注册表ocr、表决磁盘voting

/dev/sdb

2G

存放集群注册表ocr、表决磁盘voting

/dev/sdc

2G

存放集群注册表ocr、表决磁盘voting

/dev/sdd

2G

存放数据文件data file

/dev/sde

10G

存放数据文件data file

/dev/sdf

10G

闪回区falsh area、存放备份文件backup

/dev/sdg

10G

实验环境的磁盘大小,生产环境根据实际情况来。ocr和voting disk生产环境中一般需要多路镜像,这里也如此。


5、创建共享磁盘

注意:因为我是在虚拟机里面装rac所以需要在虚拟机里面模拟出两个PC、其中每个PC要有两个以上的网卡,还要有一个共享磁盘,两个PC都能够访问。在创建共享磁盘之前,需要先创建两个虚拟机、每个虚拟机有两张网卡,在每个虚拟机上面装好redhat5.4操作系统,其中安装redhat5.4的时候要注意关闭防火墙和SELINUX,还有在安装linux的时候我安装了大部分rpm包。这个操作我相信会玩vmware server 的人都会,在这里也不记录了。下面开始创建共享磁盘:

在cmd里面执行以下命令:(首先必须进到vmware server的安装目录,也就是vmware-vdiskmanager.exe东西所在的目录)

vmware-vdiskmanager.exe -c -s 2Gb -a lsilogic -t 2 E:\rac11g\sharedisk\sdb.vmdk
vmware-vdiskmanager.exe -c -s 2Gb -a lsilogic -t 2 E:\rac11g\sharedisk\sdc.vmdk
vmware-vdiskmanager.exe -c -s 2Gb -a lsilogic -t 2 E:\rac11g\sharedisk\sdd.vmdk
vmware-vdiskmanager.exe -c -s 10Gb -a lsilogic -t 2 E:\rac11g\sharedisk\sde.vmdk
vmware-vdiskmanager.exe -c -s 10Gb -a lsilogic -t 2 E:\rac11g\sharedisk\sdf.vmdk
vmware-vdiskmanager.exe -c -s 10Gb -a lsilogic -t 2 E:\rac11g\sharedisk\sdg.vmdk
然后在E:\rac11g\racnode1\racnode1.vmx和E:\rac11g\racnode2\racnode2.vmx里面加入如下:
disk.locking="FALSE"
scsi1.virtualDev = "lsilogic"
scsi1.present = "TRUE"
scsi1.sharedBus = "none"

scsi1:0.SharedBus="Virtual"
scsi1:0.shared="TRUE"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "E:\rac11g\sharedisk\sdb.vmdk"
scsi1:0.writeThrough = "TRUE"
scsi1:0.redo = ""

scsi1:1.SharedBus="Virtual"
scsi1:1.shared="TRUE"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "E:\rac11g\sharedisk\sdc.vmdk"
scsi1:1.writeThrough = "TRUE"
scsi1:1.redo = ""

scsi1:2.SharedBus="Virtual"
scsi1:2.shared="TRUE"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "E:\rac11g\sharedisk\sdd.vmdk"
scsi1:2.writeThrough = "TRUE"
scsi1:2.redo = ""

scsi1:3.SharedBus="Virtual"
scsi1:3.shared="TRUE"
scsi1:3.present = "TRUE"
scsi1:3.fileName = "E:\rac11g\sharedisk\sde.vmdk"
scsi1:3.writeThrough = "TRUE"
scsi1:3.redo = ""

scsi1:4.SharedBus="Virtual"
scsi1:4.shared="TRUE"
scsi1:4.present = "TRUE"
scsi1:4.fileName = "E:\rac11g\sharedisk\sdf.vmdk"
scsi1:4.writeThrough = "TRUE"
scsi1:4.redo = ""

scsi1:5.SharedBus="Virtual"
scsi1:5.shared="TRUE"
scsi1:5.present = "TRUE"
scsi1:5.fileName = "E:\rac11g\sharedisk\sdg.vmdk"
scsi1:5.writeThrough = "TRUE"
scsi1:5.redo = ""
启动虚拟机后就能够看见前面创建的共享磁盘了。


6、以下命令用于创建必要的用户和用户组,并为用户指定口令:(以root用户执行)

# groupadd -g 500 oinstall
# groupadd -g 501 dba
# groupadd -g 502 asmdba
# groupadd -g 503 asmadmin
# useradd -u 600 -g oinstall -G dba,asmdba,asmadmin oracle
# passwd oracle
# useradd -u 601 -g oinstall -G dba,asmdba,asmadmin grid
# passwd grid
# mkdir -p /u01/grid
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01
# chmod -R g+w /u01               
# chown grid:oinstall /u01/grid
# chown oracle:oinstall /u01/app/oracle
为了能够通过SSH在各个节点之间建立用户的对等关系,上述用户和用户组的名称和ID在所有节点上必须是一致的。



7、编辑文件:/etc/sysctl.conf 加入以下内容,然后 sysctl -p 使他生效。(以root用户执行)

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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


8、编辑文件:/etc/security/limits.conf 加入以下内容。(以root用户执行)

oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536
grid           soft    nproc   2047
grid           hard    nproc   16384
grid           soft    nofile  1024
grid           hard    nofile  65536

9、编辑文件:/etc/pam.d/login 加入以下内容。(以root用户执行)

session    required     /lib/security/pam_limits.so
session    required     pam_limits.so

10、编辑 /etc/sysconfig/i18n 修改为如下配置。(以root用户执行、不是必须的)

LANG="zh_CN.GB18030"                                                                                 
SUPPORTED="zh_CN.GB18030:zh_CN.GB2312:zh_CN.UTF-8:zh_CN:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"                                                 
SYSFONT="latarcyrheb-sun16"    

注意:因为这里我的redhat5.4系统是中午版的,所以我要改这个。


11、修改Oracle对中文的支持(以root用户执行、不是必须)                     
mkdir -p /usr/share/fonts/zh_CN/TrueType                                                                   
mv zysong.ttf /usr/share/fonts/zh_CN/TrueType/
cd /usr/share/fonts/zh_CN/TrueType            
ls -l  

注意:10G需要改,安装的时候才能看见中文界面,11G我也就跟着改了。


12、安装sql*plus方向键(以root用户执行、不是必须)                                                                                        
   从官方下最新                                                     
   rlwrap-0.37.tar.gz  http://utopia.knoware.nl/~hlub/uck/rlwrap/   
   安装                                                             
   [root@sunsyk src]# tar xvfz rlwrap-0.37.tar.gz                   
   [root@sunsyk src]# cd rlwrap-0.37                                
   [root@sunsyk rlwrap-0.30]# ./configure --prefix=/usr/local/rlwrap
   [root@sunsyk rlwrap-0.30]# make && make install                  
   使用                                                             
   [oracle@oracle10g ~]$ vi .bash_profile                           
   添加                                                             
   alias sqlplus='/usr/local/rlwrap/bin/rlwrap sqlplus'             
   alias rman='/usr/local/rlwrap/bin/rlwrap rman'  


13、编辑文件:/etc/profile 加入以下内容。(以root用户执行)

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
        umask 022
fi                                         

14、磁盘分区并添加相应的权限(以root用户执行)

# fdisk /dev/sdb
# fdisk /dev/sdc
# fdisk /dev/sdd
# fdisk /dev/sde
# fdisk /dev/sdf
# fdisk /dev/sdg
分别输入n p 1 回车 回车 w ,然后以下配置就是为了让oracle用户对磁盘有读/写的权限:编辑  /etc/sysconfig/rawdevices 添加如下内容:
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdc1
/dev/raw/raw3 /dev/sdd1
/dev/raw/raw4 /dev/sde1
/dev/raw/raw5 /dev/sdf1
/dev/raw/raw6 /dev/sdg1

修改/etc/udev/rules.d/60-raw.rules 文件添加如下内容:
ACTION=="add", KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"                 
ACTION=="add", KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"                 
ACTION=="add", KERNEL=="sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"                 
ACTION=="add", KERNEL=="sde1",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdf1",RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="sdg1",RUN+="/bin/raw /dev/raw/raw6 %N"
ACTION=="add", KERNEL=="raw[1-6]", OWNER="oracle", GROUP="oinstall", MODE="660" 
重启系统和验证一下:                                     
# raw -qa               
# ll /dev/raw/raw*                   
# ls -l /dev/raw


15、设置oracle用户环境变量(节点2就是orcl2)

export ORACLE_SID=orcl1
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/u01/app       
export ORACLE_HOME=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib         
export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin      
export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK' 
umask 022                                           
stty erase ^h                                       
alias sqlplus='/usr/local/rlwrap/bin/rlwrap sqlplus'
alias rman='/usr/local/rlwrap/bin/rlwrap rman'   


16、设置grid用户环境变量(节点2就是+ASM2)

export ORACLE_SID=+ASM1                         
export ORACLE_BASE=/u01/app               
export ORACLE_HOME=/u01/grid              
export LD_LIBRARY_PATH=$ORACLE_HOME/lib         
export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin  
export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
umask 022                                       
stty erase ^h                                   
alias sqlplus='/usr/local/rlwrap/bin/rlwrap sqlplus'
alias rman='/usr/local/rlwrap/bin/rlwrap rman'  


17、配置时间同步(以root用户执行)

编辑/etc/sysconfig/ntpd文件把

把:OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid" 改为:OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

然后启动服务:

# chkconfig ntpd on
# chkconfig ntpd --list
ntpd            0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
# service ntpd start


18、编辑文件 /etc/hosts 加入(以root用户执行)

10.10.10.10    racnode1
10.10.10.11    racnode2
10.10.10.20    racnode1-vip
10.10.10.21    racnode2-vip
10.10.10.30    racnode1-priv
10.10.10.31    racnode2-priv  


19、配置SCAN(以root用户执行)

参考这个文档:http://blog.csdn.net/tianlesoftware/article/details/6006247


20、安装必须的rpm包

我这里只安装如下包:(我在安装操作系统的时候安装了很多)

-rw-r--r-- 1 root root  3096965 01-31 23:50 binutils-2.17.50.0.6-12.el5.i386.rpm
-rw-r--r-- 1 root root  1756815 01-31 23:50 compat-db-4.2.52-5.1.i386.rpm
-rw-r--r-- 1 root root  2439269 01-31 23:50 compat-gcc-7.3-2.96.128.i386.rpm
-rw-r--r-- 1 root root  1850257 01-31 23:50 compat-gcc-c++-7.3-2.96.128.i386.rpm
-rw-r--r-- 1 root root  1559375 01-31 23:50 compat-libgcj-devel-7.3-2.96.128.i386.rpm
-rw-r--r-- 1 root root    92078 01-31 23:50 compat-libstdc++-296-2.96-138.i386.rpm
-rw-r--r-- 1 root root   362214 01-31 23:50 compat-libstdc++-devel-7.3-2.96.128.i386.rpm
-rw-r--r-- 1 root root  2797397 01-31 23:50 control-center-2.16.0-16.el5.i386.rpm
-rw-r--r-- 1 root root  5446109 01-31 23:50 gcc-4.1.2-46.el5.i386.rpm
-rw-r--r-- 1 root root  3541264 01-31 23:50 gcc-c++-4.1.2-46.el5.i386.rpm
-rw-r--r-- 1 root root  4608034 01-31 23:50 glibc-2.5-42.i386.rpm
-rw-r--r-- 1 root root 17250754 01-31 23:50 glibc-common-2.5-42.i386.rpm
-rw-r--r-- 1 root root  3910058 01-31 23:50 gnome-libs-1.4.1.2.90-44.1.src.rpm
-rw-r--r-- 1 root root    11784 01-31 23:49 libaio-devel-0.3.106-5.i386.rpm
-rw-r--r-- 1 root root   369535 01-31 23:50 libstdc++-4.1.2-46.el5.i386.rpm
-rw-r--r-- 1 root root  2960902 01-31 23:50 libstdc++-devel-4.1.2-46.el5.i386.rpm
-rw-r--r-- 1 root root    22996 01-31 23:50 libXp-1.0.0-8.1.el5.i386.rpm
-rw-r--r-- 1 root root   478082 01-31 23:50 make-3.81-3.el5.i386.rpm
-rw-r--r-- 1 root root  1377121 01-31 23:50 openmotif22-2.2.3-18.i386.rpm
-rw-r--r-- 1 root root  1607576 01-31 23:50 openmotif-2.3.1-2.el5.i386.rpm
-rw-r--r-- 1 root root  3099372 01-31 23:50 openmotif-devel-2.3.1-2.el5.i386.rpm
-rw-r--r-- 1 root root   202286 01-31 23:50 pdksh-5.2.14-36.el5.i386.rpm
-rw-r--r-- 1 root root     9924 01-31 23:50 setarch-2.0-1.1.i386.rpm
-rw-r--r-- 1 root root   173582 01-31 23:50 sysstat-7.0.2-3.el5.i386.rpm
-rw-r--r-- 1 root root   851658 01-31 23:49 unixODBC-2.2.11-7.1.i386.rpm
-rw-r--r-- 1 root root   756505 01-31 23:49 unixODBC-devel-2.2.11-7.1.i386.rpm
-rw-r--r-- 1 root root  4271312 01-31 23:50 xscreensaver-4.18-5.rhel4.2.src.rpm


21、下面开始安装

1)安装grid infrastructure

2)安装database

3)创建ASM磁盘组asmca

4)创建数据库dbca

安装参考这个博客:http://blog.csdn.net/tianlesoftware/article/details/6034738

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐