基于vbox的12c RAC的安装

小荷 2013-07-06 14:32

总体上说,12c RAC的安装基本和11g的一致。

先整个简单版的12c RAC(不启用dns,不启用flex cluster,不启用admin policy),基于Oracle Linux Release 6 Update 4 for x86_64 (64 Bit),安装在virtualbox 4.2.14上。

一、virtualbox(vbox)的部署:

1.点击“新建”,选择类型为linux,版本为oracle(64位),主机名取名叫ol6-121-rac1

2.内存大小我设置了3000M,建议设置为4000M以上。

3.现在创建虚拟硬盘

4.选择VDI

5.选择动态分配

6.分配硬盘大小为30G

7.网卡1为host-only,网卡2为内部网络

8.存储-控制器IDE,选择linux的ISO镜像

9.点击启动,开始安装,注swap的大小最好大于4G,我填的比较小,只有3G,因此后面安装的时候会有warning,但也不影响。

10.安装时选择下面的package:
Base System > Base
Base System > Compatibility libraries
Base System > Hardware monitoring utilities
Base System > Large Systems Performance
Base System > Network file system client
Base System > Performance Tools
Base System > Perl Support
Servers > Server Platform
Servers > System administration tools
Desktops > Desktop
Desktops > Desktop Platform
Desktops > Fonts
Desktops > General Purpose Desktop
Desktops > Graphical Administration Tools
Desktops > Input Methods
Desktops > X Window System
Applications > Internet Browser
Development > Additional Development
Development > Development Tools

11.在 /etc/sysctl.conf添加:
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

12.在/etc/security/limits.conf添加:
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    2047
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768

13.安装rpm包:
rpm -Uvh *binutils*
rpm -Uvh *compat-libcap1*
rpm -Uvh *compat-libstdc++-33*
rpm -Uvh *gcc*
rpm -Uvh *gcc-c++*
rpm -Uvh *glibc*
rpm -Uvh *glibc-devel*
rpm -Uvh *ksh*
rpm -Uvh *libgcc*
rpm -Uvh *libstdc++*
rpm -Uvh *libstdc++-devel*
rpm -Uvh *libaio*
rpm -Uvh *libaio-devel*
rpm -Uvh *libXext*
rpm -Uvh *libXtst*
rpm -Uvh *libX11*
rpm -Uvh *libXau*
rpm -Uvh *libxcb*
rpm -Uvh *libXi*
rpm -Uvh *make*
rpm -Uvh *sysstat*
rpm -Uvh *unixODBC*
rpm -Uvh *unixODBC-devel*

14.新建oracle用户
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
useradd -u 54321 -g oinstall -G dba,oper oracle

15.设置oracle用户的密码:
passwd oracle

16.设置/etc/hosts
127.0.0.1       localhost.localdomain   localhost
# Public
192.168.56.101   ol6-121-rac1.localdomain        ol6-121-rac1
192.168.56.102   ol6-121-rac2.localdomain        ol6-121-rac2
# Private
192.168.1.101   ol6-121-rac1-priv.localdomain   ol6-121-rac1-priv
192.168.1.102   ol6-121-rac2-priv.localdomain   ol6-121-rac2-priv
# Virtual
192.168.56.103   ol6-121-rac1-vip.localdomain    ol6-121-rac1-vip
192.168.56.104   ol6-121-rac2-vip.localdomain    ol6-121-rac2-vip
# SCAN
192.168.56.105   ol6-121-scan.localdomain ol6-121-scan
192.168.56.106   ol6-121-scan.localdomain ol6-121-scan
192.168.56.107   ol6-121-scan.localdomain ol6-121-scan

17.修改/etc/security/limits.d/90-nproc.conf
将下面的一行:
*          soft    nproc    1024
改成:
* - nproc 16384

18.修改SELINUX:
修改/etc/selinux/config为:
SELINUX=permissive

19.关闭防火墙:
# service iptables stop
# chkconfig iptables off

二、设置oracle用户的环境:

1.建立目录
mkdir -p  /u01/app/12.1.0.1/grid
mkdir -p /u01/app/oracle/product/12.1.0.1/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01/

2.设置oracle用户环境变量:
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=ol6-121-rac1.localdomain
export ORACLE_UNQNAME=CDBRAC
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/12.1.0.1/grid
export DB_HOME=$ORACLE_BASE/product/12.1.0.1/db_1
export ORACLE_HOME=$DB_HOME
export ORACLE_SID=cdbrac1
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
alias grid_env='. /home/oracle/grid_env'
alias db_env='. /home/oracle/db_env'

13.由于我们不建立grid用户,我们只在oracle用户下建立2个环境变量grid_env和db_env来加载环境,不需要切换用户。
建立/home/oracle/grid_env文件如下:
export ORACLE_SID=+ASM1
export ORACLE_HOME=$GRID_HOME
export PATH=$ORACLE_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

14.建立/home/oracle/db_env文件如下:
export ORACLE_SID=cdbrac1
export ORACLE_HOME=$DB_HOME
export PATH=$ORACLE_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

15.测试一下:
[root@ol6-121-rac1 ~]# su - oracle
[oracle@ol6-121-rac1 ~]$ grid_env
[oracle@ol6-121-rac1 ~]$ echo $ORACLE_HOME
/u01/app/12.1.0.1/grid
[oracle@ol6-121-rac1 ~]$
[oracle@ol6-121-rac1 ~]$ db_env
[oracle@ol6-121-rac1 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/12.1.0.1/db_1

三、安装vbox的Guest Additions

1.在vbox管理器界面,选择我们的ol6-121-rac1的机器,点击设置,进存储-控制器IDE,点右边的分配光驱,选择一个虚拟光盘,X:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso
 
2.运行:
cd /media/VBOXADDITIONS_4.2.14_86644
sh ./VBoxLinuxAdditions.run
 
3.安装完Guest Additions,之后,就可以使用vbox的共享文件夹功能了。但是,为了能让oracle用户访问共享文件夹,需要给oracle用户加vboxsf组:
# usermod -G vboxsf,dba oracle
# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(vboxsf)
 
4.好了,你可以在你的目录解压缩你下载的安装介质了。
unzip linuxamd64_12c_grid_1of2.zip
unzip linuxamd64_12c_grid_2of2.zip
unzip linuxamd64_12c_database_1of2.zip
unzip linuxamd64_12c_database_2of2.zip
注意在windows下,解压出来的要合并成2个目录,database和grid
 
5.在vbox管理器界面,选择我们的ol6-121-rac1的机器,点击设置,进共享文件夹,点加号,然后勾上 "自动挂载" 和"固定分配"
 
 
6.安装在共享文件夹中的grid目录中的cvu:
cd /media/sf_12cR1/grid/rpm
rpm -Uvh cvuqdisk-1.0.9-1.rpm

四、创建asm的共享盘

1.关闭虚拟机ol6-121-rac1
 
2.创建共享asm盘,共4个asm盘,每个盘5G大小:
E:\>cd E:\Oralce_Virtual_Box\ol6-121-rac
E:\Oralce_Virtual_Box\ol6-121-rac>VBoxManage createhd --filename asm1.vdi --size 5120 --format VDI --variant Fixed
E:\Oralce_Virtual_Box\ol6-121-rac>VBoxManage createhd --filename asm2.vdi --size 5120 --format VDI --variant Fixed
E:\Oralce_Virtual_Box\ol6-121-rac>VBoxManage createhd --filename asm3.vdi --size 5120 --format VDI --variant Fixed
E:\Oralce_Virtual_Box\ol6-121-rac>VBoxManage createhd --filename asm4.vdi --size 5120 --format VDI --variant Fixed
 
3.将创建的asm盘attach到虚拟机ol6-121-rac1上
E:\Oralce_Virtual_Box\ol6-121-rac>VBoxManage storageattach ol6-121-rac1 --storagectl "SATA" --port 1 --device 0 --type hdd     --medium asm1.vdi --mtype shareable
E:\Oralce_Virtual_Box\ol6-121-rac>VBoxManage storageattach ol6-121-rac1 --storagectl "SATA" --port 2 --device 0 --type hdd     --medium asm2.vdi --mtype shareable
E:\Oralce_Virtual_Box\ol6-121-rac>VBoxManage storageattach ol6-121-rac1 --storagectl "SATA" --port 3 --device 0 --type hdd     --medium asm3.vdi --mtype shareable
E:\Oralce_Virtual_Box\ol6-121-rac>VBoxManage storageattach ol6-121-rac1 --storagectl "SATA" --port 4 --device 0 --type hdd     --medium asm4.vdi --mtype shareable
 
4.将这些共享盘设置为可共享的:
E:\Oralce_Virtual_Box\ol6-121-rac>VBoxManage modifyhd asm1.vdi --type shareable
E:\Oralce_Virtual_Box\ol6-121-rac>VBoxManage modifyhd asm2.vdi --type shareable
E:\Oralce_Virtual_Box\ol6-121-rac>VBoxManage modifyhd asm3.vdi --type shareable
E:\Oralce_Virtual_Box\ol6-121-rac>VBoxManage modifyhd asm4.vdi --type shareable
 
5.启动虚拟机

五、将刚刚加的共享盘用udev加到主机上:

1.将硬盘分区,检查下新加的4块盘:
# cd /dev
# ls sd*
sda  sda1  sda2  sdb  sdc  sdd  sde
 
2. fdisk分区
fdisk /dev/sdb
输入n p 1 回车 回车 w
同理fdisk /dev/sdc,fdisk /dev/sdd,fdisk /dev/sde
 
3.分区完成后,检查看看:
# cd /dev
# ls sd*
sda  sda1  sda2  sdb  sdb1  sdc  sdc1  sdd  sdd1  sde  sde1
 
4.在/etc/scsi_id.config添加:
options=-g
 
5.查找SCSI ID
[root@ol6-121-rac1 dev]# /sbin/scsi_id -g -u -d /dev/sdb
[root@ol6-121-rac1 dev]# /sbin/scsi_id -g -u -d /dev/sdc
[root@ol6-121-rac1 dev]# /sbin/scsi_id -g -u -d /dev/sdd
[root@ol6-121-rac1 dev]# /sbin/scsi_id -g -u -d /dev/sde
我的显示如下:
1ATA_VBOX_HARDDISK_VBd468bcab-b01d8894
1ATA_VBOX_HARDDISK_VBc1b0c3f0-162d709a
1ATA_VBOX_HARDDISK_VB527c91e6-934cf458
1ATA_VBOX_HARDDISK_VB59bb6d05-167b1e5f
 
6.在文件/etc/udev/rules.d/99-oracle-asmdevices.rules中添加刚刚查到的SCSI ID信息,进行绑定:
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VBd468bcab-b01d8894",  NAME="asm-disk1", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VBc1b0c3f0-162d709a",  NAME="asm-disk2", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB527c91e6-934cf458",  NAME="asm-disk3", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB59bb6d05-167b1e5f",  NAME="asm-disk4", OWNER="oracle", GROUP="dba", MODE="0660"
 
7.更新:
# /sbin/partprobe /dev/sdb1
# /sbin/partprobe /dev/sdc1
# /sbin/partprobe /dev/sdd1
# /sbin/partprobe /dev/sde1
 
8.重启服务:
# /sbin/udevadm control --reload-rules
# /sbin/start_udev
 
9.检查asm磁盘是否已经存在:
# ls -al /dev/asm*
brw-rw---- 1 oracle dba 8, 17 Oct 12 14:39 /dev/asm-disk1
brw-rw---- 1 oracle dba 8, 33 Oct 12 14:38 /dev/asm-disk2
brw-rw---- 1 oracle dba 8, 49 Oct 12 14:39 /dev/asm-disk3
brw-rw---- 1 oracle dba 8, 65 Oct 12 14:39 /dev/asm-disk4
#

六、克隆主机ol6-121-rac1为ol6-121-rac2:

1.克隆主机:
E:\Oralce_Virtual_Box>cd ol6-121-rac1
E:\Oralce_Virtual_Box\ol6-121-rac1>VBoxManage clonehd ol6-121-rac1.vdi ol6-121-rac2.vdi
E:\Oralce_Virtual_Box\ol6-121-rac1>
 
2.在vbox管理器界面,点击新建,选择和ol6-121-rac1一样的类型和版本,内存也一样,后面选择“使用已有的虚拟硬盘文件”,然后选择ol6-121-rac2.vdi
 
3.也添加asm共享硬盘:
VBoxManage storageattach ol6-121-rac2 --storagectl "SATA" --port 1 --device 0 --type hdd --medium asm1.vdi --mtype shareable
VBoxManage storageattach ol6-121-rac2 --storagectl "SATA" --port 2 --device 0 --type hdd --medium asm2.vdi --mtype shareable
VBoxManage storageattach ol6-121-rac2 --storagectl "SATA" --port 3 --device 0 --type hdd --medium asm3.vdi --mtype shareable
VBoxManage storageattach ol6-121-rac2 --storagectl "SATA" --port 4 --device 0 --type hdd --medium asm4.vdi --mtype shareable
 
4.启动后主机,搞一下网络:
清空/etc/udev/rules.d
点击system-preferences-network connections,中的所有的网卡
重启主机
ifconfig,看到eth0和eth1两块网卡的mac地址,在进system-preferences-network connections,add wire网卡,MAC地址填入我们刚刚看到的,IPv4的地址写入和ol6-121-rac1类似的。
# service network restart 重启网络之后,就可以连上去了。注意两个主机的一致性,如都是eth0为public网卡,eth1为private网卡。
 
5.检查安装前的条件是否满足:
[oracle@ol6-121-rac1 grid]$ ./runcluvfy.sh stage -pre crsinst -n ol6-121-rac1,ol6-121-rac2 -verbose
有3个fail可以忽略,dns,/etc/resolv.conf和swap

七、安装cluster
OUI安装,看图说话


呵呵,这边有著名的flex cluster

八、安装DB,同样也是看图说话,

至此,12c RAC数据库数据库已经安装完毕,enjoy.

SQL*Plus:Release12.1.0.1.0ProductiononSatJul610:38:422013
 
Copyright(c)1982,2013,Oracle. Allrightsreserved.
 
 
Connectedto:
OracleDatabase12cEnterpriseEditionRelease12.1.0.1.0-64bitProduction
WiththePartitioning,RealApplicationClusters,AutomaticStorageManagement,OLAP,
AdvancedAnalyticsandRealApplicationTestingoptions
 
SQL>selectinstance_name,statusfromgv$instanceorderby1;
 
INSTANCE_NAME   STATUS
---------------- ------------
cdbrac1         OPEN
cdbrac2         OPEN
 
SQL>

ps:如果遇到启动数据库时报错ORA-00845: MEMORY_TARGET not supported on this system
那应该是/dev/shm不够大引起,修改/etc/fstab中的:
tmpfs /dev/shm tmpfs defaults 0 0
修改为:
tmpfs /dev/shm tmpfs defaults,size=3g 0 0
重启主机后再重启数据库即可。

[返回] [原文链接]