Win8 + VirtualBox+OracleLinux6+Oracle 11.2.0.3 + RAC 安装过程

来源:互联网 发布:windows shell 编辑:程序博客网 时间:2024/05/29 10:31

(零)本文主要参照Maclean Liu的视频而作,在此向Maclean大神表示敬意,前人栽树后人乘凉!不过安装说明再怎么写,也不如视频来的直观(强烈推荐观看视频:http://train.askmaclean.com/node/113)。

 

[环境]

主机:Windows 8专业版,64位操作系统

虚拟机软件:VirtualBox 4.2.10

虚拟机中的Linux版本:OracleLinux R6U4-X86_64

Oracle RAC+数据库版本:11.2.0.3

 

一、安装VBox

从 https://www.virtualbox.org 下载最新版本的虚拟机软件。然后在Win7/8上安装VirtualBox,安装过程简单方便,不详述。

 

二、开启CPU的虚拟化支持

Intel CPU的机器上,VBox中安装虚拟机时可能会出现这个错误:

VT-x features locked or unavailable in MSR,VERR_VMX_MSR_LOCKED_OR_DISABLED

解决办法是,进入BOIS,选择Config -> CPU -> 将 Inter(R) Virtualization Technology 由 Disabled 修改为 Enabled。

这一步可以不用事先完成,如果后面在VBox上安装OL6时出现了上面的错误再解决也不晚。到时也可能会抛出其它的错误,不过网上都有现成的解决办法。

 

三、在VBox上安装OL6

这里介绍的是第一个虚拟机vmac1的安装,第二个虚拟机是在此基础上拷贝得到的。

(一)创建虚拟机

1、进入VBox后,点击【新建】按钮图标,输入和选择如下参数:

【名称】:虚拟机的名称,你自己定吧

【类型】:Linux

【版本】:Oracle(64bit)

 

2、设置内存大小

按照你主机情况设置吧。我的主机共8G内存,给每台虚拟机设置了2560M内存(RAC需要最少两台虚拟机)。不知道最少多少内存可以跑得起来,但估计也不能太小,毕竟虚拟机本身也需要内存,再加上RAC也要吞噬一些。

 

3、设置虚拟硬盘

选择【现在创建虚拟硬盘】,点击【创建】按钮。

 

4、虚拟硬盘文件类型

选择默认值【VDI(VirtualBox磁盘映像)】,点击【下一步】按钮。

 

5、选择【动态分配】选项。

 

6、文件位置和大小

(1)设置虚拟机文件的目录和名称,找个大一点的硬盘存放,不要放在系统盘中。

(2)虚拟机极限大小设置为50G。表示后面这个虚拟机最大可以达到50G,因为前面选择的磁盘类型是动态分配,所以占用空间大小是慢慢扩张的。当然,你要是大小设置为20G或者100G都是可以的,推荐至少20G起步。

然后,点击【创建】按钮,一个虚拟机的最基本信息就建立完成了。

 

(二)虚拟机设置

选中刚才创建的虚拟机,点击【设置】按钮。

1、存储设置

为光驱设置一个盘片,选择OracleLinux6对应的ISO文件即可。

 

2、系统设置

(1)处理器:如果是主机是多核CPU,处理器数量可以设置为2个。

(2)硬件加速:保持默认值为开启。

(3)主板:不做进一步设置,保持默认值。

 

3、网络设置

比较重要,一定要设置网卡1和网卡2。

【网卡1】

(1)勾选“启用网络连接”。

(2)连接方式选择“桥接网卡”,界面名称下拉框选择你主机的真实可用的网卡。

(3)高级选项保持默认值即可。

 

【网卡2】

(1)勾选“启用网络连接”。

(2)连接方式选择“内部网络”,界面名称自动设置为“intnet”。

(3)高级选项保持默认值即可。

注意:留意和观察好两个网卡的MAC地址,后面在Linux安装完之后要校验和设置网络信息。

 

(三)启动虚拟机和安装OL6

这里的过程不赘述了,只列几个需要关注的地方。

1、安装过程中,需要设置Hostname,设置为“vmac1”。当然Hostname应该是可以自定义的,不过后文有些一些脚本是按照“vmac1”这个名称来编写的,所以还是建议你先把Hostname起名为“vmac1”。等熟悉后,后面再安装虚拟机时,再按照自己的想法设置吧,虚拟机不安装上3、4遍是不会有太多感觉的,不是吗 :)

 

2、在安装过程中,或者安装完成之后,可以设置Network Connections信息。

在配置界面中可以看到eth0和eth1两个网卡,前面在介绍虚拟机配置时说过配置了网卡1和网卡2,就是看到的这两个网卡。看一下MAC地址,看看eth0和eth1哪个对应“桥接网卡”,哪个对应“内部网络”。

【桥接网卡】的设置:

(1)勾选“Connect automatly”

(2)进入“IPv4 Setting”标签页:

【Method】:选择Manual

【Address】:点击Add按钮,设置一个IP地址(Address = 192.168.1.181,NetMask = 255.255.255.0,Gateway = 192.168.1.1)。

注:我通过无线路由器组网,路由器的IP地址为192.168.1.1。如果你的情况不同,请自行调整。

【DNS servers】:192.168.1.1

 

【内部网络】的设置:

(1)勾选“Connect automatly”

(2)进入“IPv4 Setting”标签页:

【Method】:选择Manual

【Address】:点击Add按钮,设置一个IP地址(Address = 172.168.1.18,NetMask = 255.255.255.0)。

 

3、安装过程中,需要设置Oracle Linux Server的类型,选择“Desktop”,后面需要用到一些支持图形桌面的特性。

 

4、安装完成并重启后,会创建一个登录账号,按照你自己的喜好创建即可。

 

(四)对虚拟机1(vmac1)的设置

1、关闭FIREWALL

(1)进入图形界面,点击系统菜单【System】->【Administration】->【Firewall】,进入Firewall Configuration界面。

(2)点击【Disable】按钮,再点击【Apply】按钮,就关闭了防火墙。

 

2、Disable SELinux

telnet或者SSH登录到主机后,这样修改即可:

vi /etc/selinux/config  

改为:SELINUX=disabled

 

3、修改hosts配置文件

vi /etc/hosts

添加以下配置行:

192.168.1.181   vmac1  vmac1.oracle.com

192.168.1.182   vmac1-vip 

192.168.1.183   vmac2  vmac2.oracle.com

192.168.1.184   vmac2-vip

192.168.1.186   vmac-cluster vmac-cluster-scan

172.168.1.18     vmac1-priv

172.168.1.19     vmac2-priv

 

4、创建用户和组

执行以下脚本:

groupadd -g 5000 asmadmin

groupadd -g 5001 asmdba

groupadd -g 5002 asmoper

groupadd -g 6000 oinstall

groupadd -g 6001 dba

groupadd -g 6002 oper

useradd -g oinstall -G asmadmin,asmdba,asmoper grid 

useradd -g oinstall -G dba,asmdba oracle

passwd oracle

passwd grid

mkdir /s01   -- 后面安装Oracle数据库的目录

mkdir /g01   -- 后面安装Grid的目录

chown oracle:oinstall /s01

chown grid:oinstall  /g01

 

5、安装相关组件包

(1)把OL6的iso文件挂载到光驱上

(2)安装oracle-rdbms-server-11gR2-preinstall-1.0-6.el6

可以有两种方式来安装这个包:通过yum或者rpm命令。

这个包需要依赖于其它若干包,所幸这些包在OL6.iso文件中都包含了。

【yum】方式可以自动安装依赖包,可以做一些配置变更,能够自动从本地iso文件安装(很快),避免从互联网下载(比较慢)。大致这样配置:

[root@vmac6 ~]# cd /etc/yum.repos.d

[root@vmac6 yum.repos.d]# mv public-yum-ol6.repo public-yum-ol6.repo.bak

[root@vmac6 yum.repos.d]# touch public-yum-ol6.repo

[root@vmac6 yum.repos.d]# vi public-yum-ol6.repo

 

[oel6]

name = Enterprise Linux 6.3 DVD

baseurl=file:///media/"OL6.3 x86_64 Disc 1 20120626"/Server

gpgcheck=0

enabled=1

 

[root@vmac1 ~]# yum install oracle-rdbms-server-11gR2-preinstall-1.0-6.el6

 

【rpm】安装方式比较低效一点,而且碰到依赖包时需要手工一个个rpm安装,不过效率虽有稍低,也能解决问题。

cd /media/OL6.4\ x86_64\ Disc\ 1\ 20130225/Packages/

rpm -ivh oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64.rpm

其它各个依赖包可以用这个[rpm -ivh ***.rpm]命令来安装。

 

6、配置/etc/security/limits.conf

vi /etc/security/limits.conf

添加以下内容:

# grid-rdbms-server-11gR2-preinstall setting for nofile soft limit is 1024

grid   soft   nofile    1024

# grid-rdbms-server-11gR2-preinstall setting for nofile hard limit is 65536

grid   hard   nofile    65536

 

# grid-rdbms-server-11gR2-preinstall setting for nproc soft limit is 2047

grid   soft   nproc    2047

 

# grid-rdbms-server-11gR2-preinstall setting for nproc hard limit is 16384

grid   hard   nproc    16384

 

# grid-rdbms-server-11gR2-preinstall setting for stack soft limit is 10240KB

grid   soft   stack    10240

 

# grid-rdbms-server-11gR2-preinstall setting for stack hard limit is 32768KB

grid   hard   stack    32768

 

7、验证下主机是否可以通过远程SSH访问,应该需要可以通过SSH连接。

 

四、创建虚拟机vmac2

1、复制vmac1得到新的vmac2,注意一定要选择重新初始化两个网卡的MAC地址。

 

2、复制完成后,选中vmac2,点击【设置】按钮,查看“网络1”和“网络2”的配置。

这里跟vmac1上一样,网络1是“桥接网卡”,网络2是“内部网络”,分别记住两个MAC地址。

 

3、修改vmac2的IP

vi /etc/udev/rules.d/70-persistent-net.rules

这里默认会有多个网卡配置,我们的目标是只保留eth0和eth1,但需要修改一下MAC地址(改成刚才第2步中两个对应的MAC地址)。

 

4、添加NETMSAK配置

vi /etc/sysconfig/network-scripts/ifcfg-eth1 

添加一行:NETMASK=255.255.255.0

注意,两台虚拟机都要这样做(在vmac2上,这个配置文件可能叫这个名字:ifcfg-Auto_eth1)。

 

5、修改vmac2的hostname

vi /etc/sysconfignetwork

改为:HOSTNAME=vmac2

 

6、重启vmac2,再验证下vmac2的网络是否已经通畅。

 

五、配置共享存储

需要分别在vmac1和vmac2上配置,先把两台虚拟机都关闭。

 

1、在vmac1上创建共享存储硬盘

(1)在VBox上选择vmac1,点击【设置】按钮,进入【存储】配置界面。

(2)选中“控制器:SATA”节点,点击【添加 虚拟 硬盘】这个图标。

(3)在弹出界面上选择【创建新的虚拟盘】。

(4)选择虚拟硬盘文件类型为【VD(VirtualBox磁盘映像)】,点击【下一步】。

(5)务必选择【固定大小】,重要!

(6)选择磁盘文件保存地址和名称,并设置磁盘大小为5G(够用即可)。

(7)点击【创建】按钮,大概几十秒左右的时间(看你机器情况),这个磁盘就创建完毕了。

(8)重复步骤(2)-(7),一共创建出6个固定大小为5G的虚拟硬盘。

 

2、修改新创建的磁盘为可共享的

(1)依然选中虚拟机vmac1(关机状态),然后点击VBox菜单【管理】->【虚拟介质管理】。

(2)在弹出界面上把6个新创建的硬盘设置为“可共享”。

 

3、在vmac2中,加入上述6个共享磁盘

(1)进入vmac2的设置界面

(2)点击【存储】标签页

(3)点击【添加 虚拟 硬盘】图标,选择【使用现有的虚拟盘】

(4)把6个虚拟盘一个个添加进来即可。

 

4、启动vmac1和vmac2

用root用户分别执行下面两个脚本。

【脚本1】

for i in b c d e f g ;

do

echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""      >> /etc/udev/rules.d/99-oracle-asmdevices.rules

done

 

注意一下,【for i in b c d e f g】这里的[b-g]要看你的实际情况而定,看看/dev目录下新增的磁盘文件名称是不是[sdb]-[sdg],如果不是,就调整一下for语句中的列表名字。

 

【脚本2】

/sbin/start_udev

 

5、至此,vmac1和vmac2基本配置好了,下面就要装备安装Oracle了。

 

六、安装11.2.0.3 Grid Infrastructure和Oralce database(只安装不建库)

安装过程只需要在vmac1上执行即可,因为是RAC,安装过程会自动把相关内容同步到vmac2上。

1、登录vmac1

 

2、解压p1040530_112030_Linux-x86-64_3of7.zip

cd  /g01   -- 事先把安装文件传到这个目录吧,可以ftp过来

unzip p10404530_112030_Linux-x86-64_3of7.zip -d grid_11203

 

3、然后使用xmanager-xstart连接vmac1上安装grid,需要先在vmac1上安装xterm。

(1)xstart登录到vmac1上

Host:192.168.1.181

Protocal:SSH

Username:grid(因为要安装grid infrustructure,所以用这个用户登录)

Password:smart(前面创建grid用户对应的密码)

Command:/usr/bin/xterm -ls -display $DISPLAY  [选择xterm(Linux: Type 2)]

 

(2)在xstart界面上执行:

cd /g01/grid_11203/grid/

./runInstaller

 

(3)这一步的安装过程请参考视频。

 

4、安装过程需要20分钟左右,在此过程中正好做有空做一些配置工作。

(1)创建目录:

mkdir /g01/orabase

mkdir /s01/orabase

 

(2)配置grid用户的环境变量

grid用户登录后:vi .bash_profile

 

1号节点(vmac1)上增加如下配置:

export GRID_HOME=/g01/11ggrid/app/11.2.0/grid

export ORACLE_HOME=/g01/11ggrid/app/11.2.0/grid

export PATH=$GRID_HOME/bin:$GRID_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin

export ORACLE_SID=+ASM1

export LD_LIBRARY_PATH=$GRID_HOME/lib:$GRID_HOME/lib32

export ORACLE_BASE=/g01/orabase

export ORA_NLS10=$ORACLE_HOME/nls/data

export NLS_LANG="Simplified Chinese"_China.AL32UTF8

 

2号节点(vmac2)上增加如下配置:

export GRID_HOME=/g01/11ggrid/app/11.2.0/grid

export ORACLE_HOME=/g01/11ggrid/app/11.2.0/grid

export PATH=$GRID_HOME/bin:$GRID_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin

export ORACLE_SID=+ASM2

export LD_LIBRARY_PATH=$GRID_HOME/lib:$GRID_HOME/lib32

export ORACLE_BASE=/g01/orabase

export ORA_NLS10=$ORACLE_HOME/nls/data

export NLS_LANG="Simplified Chinese"_China.AL32UTF8

 

(3)配置root用户的环境变量

root用户登录后:vi .bash_profile

在1号节点(vmac1)和2号节点(vmac1)上均添加如下配置:

export GRID_HOME=/g01/11ggrid/app/11.2.0/grid

export ORACLE_HOME=/g01/11ggrid/app/11.2.0/grid

export PATH=$GRID_HOME/bin:$GRID_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin

 

(4)配置oracle用户的环境变量

oracle用户登录后:vi .bash_profile

export ORACLE_HOME=/s01/oracle/app/oracle/product/11.2.0/dbhome_1

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin

export ORACLE_SID=PROD1     -- 在vmac2节点上应设置为PROD2

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32

export ORACLE_BASE=/s01/orabase

export NLS_LANG="Simplified Chinese"_China.AL32UTF8

 

5、安装Oracle数据库软件

(1)解压:

p1040530_112030_Linux-x86-64_1of7.zip

p1040530_112030_Linux-x86-64_2of7.zip

 

cd  /s01   -- 事先把安装文件传到这个目录吧,可以ftp过来

unzip p10404530_112030_Linux-x86-64_1of7.zip

unzip p10404530_112030_Linux-x86-64_2of7.zip

 

(2)xstart登录到vmac1上

Host:192.168.1.181

Protocal:SSH

Username:oracle

Password:smart(前面创建oracle用户对应的密码)

Command:/usr/bin/xterm -ls -display $DISPLAY  [选择xterm(Linux: Type 2)]

 

(3)执行按照命令

cd /s01/database

./runInstaller

 

(4)安装过程请参考视频。

 

七、创建数据库

1、还是用oracle用户登录xstart

2、执行命令:dbca,系统弹出数据库建库图形化窗口,一切又回到熟悉的属性的场景了:)

3、具体过程也参考视频吧,比较直观。

 

--------------------------------------------------------------------------------------------------------------------------

【附】关于打PSU补丁

视频中介绍了怎么打PSU补丁,因为不一定能够得到补丁安装介质,如果不是太介意的话,也可以不安装。

 下面是安装PSU的一些脚本:

 

 opatch lspatches  ==> 检查PSU补丁

 su - root

 

 $GRID_HOME/crs/install/rootcrs.pl -unlock

 

 AIX上: su - root;  slibclean

 su -  grid

 opatch napply -oh $GRID_HOME -local /tmp/patch/14727310

 opatch napply -oh $GRID_HOME -local /tmp/patch/15876003/

 

 

su - oracle

[oracle@vmac1 scripts]$ /tmp/patch/15876003/custom/server/15876003/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME

/tmp/patch/15876003/custom/server/15876003/custom/scripts/prepatch.sh completed successfully.

 

opatch napply -oh $ORACLE_HOME -local /tmp/patch/15876003/custom/server/15876003

opatch napply -oh $ORACLE_HOME -local /tmp/patch/14727310

 

 

/tmp/patch/15876003/custom/server/15876003/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME

 

su - root

 

[root@vmac1 ~]# /g01/11ggrid/app/11.2.0/grid/rdbms/install/rootadd_rdbms.sh

[root@vmac1 ~]# /g01/11ggrid/app/11.2.0/grid/crs/install/rootcrs.pl -patch

 

 

SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ

 FROM SYS.x$ksppi x, SYS.x$ksppcv y

 WHERE x.inst_id = USERENV ('Instance')

 AND y.inst_id = USERENV ('Instance')

 AND x.indx = y.indx

AND x.ksppinm like '%high%';

 

SQL> alter system set "_high_priority_processes"='LMS*' scope=spfile;

 

System altered.

原创粉丝点击