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 |
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