暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

RAC

原创 zcx 2022-07-19
469

决心好好写个搭建RAC的文档 –2016/7/8 01:44

前提1:在虚拟机上搭建RAC,大概需要70G左右的全部硬盘空间。就是说,你全部加起来大概能有70G就肯定够了。

前提2:有虚拟机软件。我的是VM workstation pro12

前提3:有足够大的内存,如果要完全按照我的文档装,起码得8G内存。

暂时就这么多。

规划:主机1,主机名为xiaoxy1.IP为192.168.191.201

主机2,主机名为xiaoxy2 IP为192.168.191.202

存储为虚拟的硬盘6个。

OCR01.vmdk 1G

OCR02.vmdk 1G

VOTING01.vmdk 1G

DATA01.vmdk 10G

FRA01.vmdk 10G

ARC01.vmdk 7G

下面讲述如何创建这些盘:

首先我在C盘根目录下创建了一个名为Virtual_disk的文件夹,用来放我的这些虚拟硬盘

路径为c:\Virtual_disk

然后

1:打开cmd(win+r然后输入cmd)

2:进入vmware安装目录 ->(目录可以在vmware那个软件的图标上右键,然后属性。如下图

复制红色框里的东西,大概如下

"C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe"

删除双引号,去掉最后一个vmware.exe

如下

C:\Program Files (x86)\VMware\VMware Workstation\

)

然后再cmd的命令行输入如下命令,然后回车

cd C:\Program Files (x86)\VMware\VMware Workstation\

结果如图:

接下来执行命令创建以上列出的虚拟硬盘:

vmware-vdiskmanager.exe -c -s 1000MB -a lsilogic -t 2 c:\Virtual_disk\ocr01.vmdk

结果如图:

继续创建其他盘。以下是命令:

vmware-vdiskmanager.exe -c -s 1000MB -a lsilogic -t 2 c:\Virtual_disk\ocr02.vmdk

vmware-vdiskmanager.exe -c -s 1000MB -a lsilogic -t 2 c:\Virtual_disk\voting01.vmdk vmware-vdiskmanager.exe -c -s 10000MB -a lsilogic -t 2 c:\Virtual_disk\data01.vmdk

vmware-vdiskmanager.exe -c -s 10000MB -a lsilogic -t 2 c:\Virtual_disk\fra01.vmdk

vmware-vdiskmanager.exe -c -s 7000MB -a lsilogic -t 2 c:\Virtual_disk\arc01.vmdk

创建完成结果如图:(创建过程会比较缓慢,不要着急。慢慢来。)

再去Virtual_disk那个文件夹看是这样的

关掉cmd。创建虚拟硬盘,基本到此结束。

接着我又在c盘下创建了一个Virtual_machine的文件夹,然后在Virtual_machine的文件夹里创建了xiaoxy1和xiaoxy2文件夹。准备用来放虚拟机。

如图:

创建虚拟机:

打开vmware,点左上角的文件>>新建虚拟机>>然后跟着图做

我错了,3102输入不了,因为不是4的倍数,我输入了3100.

最后是这样,如上图。

另外一台机,基本照做就好。

注意的地方有:

创建完以后,大概能看到这样

然后关闭vmware。睡觉。

继续。。。2016/07/0818:34

为虚拟机挂载硬盘和系统

进入虚拟机所在路径,我的是C:\Virtual_machine\xiaoxy1

鼠标单击选中红框的以vmx的文件。然后按如下图操作:

在文件后面添加以下内容

scsi1.present = "TRUE"

scsi1.virtualDev = "lsilogic"

scsi1.sharedBus = "virtual"

scsi1:1.present = "TRUE"

scsi1:1.mode = "independent-persistent"

scsi1:1.filename = "C:\Virtual_disk\ocr01.vmdk"

scsi1:1.deviceType = "Disk"

scsi1:2.present = "TRUE"

scsi1:2.mode = "independent-persistent"

scsi1:2.filename = "C:\Virtual_disk\ocr02.vmdk"

scsi1:2.deviceType = "Disk"

scsi1:3.present = "TRUE"

scsi1:3.mode = "independent-persistent"

scsi1:3.filename = "C:\Virtual_disk\voting01.vmdk"

scsi1:3.deviceType = "Disk"

scsi1:4.present = "TRUE"

scsi1:4.mode = "independent-persistent"

scsi1:4.filename = "C:\Virtual_disk\data01.vmdk"

scsi1:4.deviceType = "Disk"

scsi1:5.present = "TRUE"

scsi1:5.mode = "independent-persistent"

scsi1:5.filename = "C:\Virtual_disk\fra01.vmdk"

scsi1:5.deviceType = "Disk"

scsi1:6.present = "TRUE"

scsi1:6.mode = "independent-persistent"

scsi1:6.filename = "C:\Virtual_disk\arc01.vmdk"

scsi1:6.deviceType = "Disk"

disk.locking = "false"

diskLib.dataCacheMaxSize = "0"

diskLib.dataCacheMaxReadAheadSize = "0"

diskLib.DataCacheMinReadAheadSize = "0"

diskLib.dataCachePageSize = "4096"

diskLib.maxUnsyncedWrites = "0"

在filename里面。一个个写自己创建磁盘时候所在的路径和磁盘名称。

打开虚拟机,可以看见如下内容

重复此步骤,添加xiaoxy2虚拟机的硬盘

记得。。关vmware后再操作。

如下:

开虚拟机之前。执行如下操作

然后点确定。

然后开启虚拟机

这个地方我觉得主要桌面要选,其他比较次要。然后下一步。

等待安装就好。

Xiaoxy1也是同样过程,除了主机名有点不同,其他都一样。

安装完选重新引导,然后会重启到这样的界面。

后面随便弄吧,基本下一步就可以

看来RAC安装一步步的确挺麻烦的。这样看起来也挺多步骤的。

先不管了,下一步,搭建环境。

首先,确认ip,主机名

Root用户登录操作系统

查看IP,使用敲入 ifconfig然后enter 就可以有如下图显示。

输入命令 vi /etc/sysconfig/network-scripts/ifcfg-eth0 如下图 ENTER

修改后如上图

修改说明:

onboot=yes 设置网卡在开机时候自启动

bootproto=static 设置静态IP..dhcp为自动获取ip

IPADDR=192.168.191.201 设置IP为192.169.191.201

按esc 然后按shift+q (在大写状态直接按q就可以)

然后输入wqetnter(保存退出)

输入service network restart(重启网络)

输入ifconfig eth0 查看eth0网卡的状态。可以看到成功修改ip。准备换putty连接了。

没有putty的可以继续在虚拟机里进行操作,我只是为了截图方便。

敲以下命令 setenforce 0

然后是 vi /etc/sysconfig/selinux

如图

然后退出保存。不会退出保存,看上面的。一个个重复实在太累了

然后禁用iptables

service iptables stop

chkconfig iptables off

如下图

禁用ntp服务,等下RAC是采用的内部同步ctssd

service ntpd stop

chkconfig ntpd off (让它没有机会启动)

把ntp服务的配置文件改名

mv /etc/ntp.conf /etc/ntp.conf.bak

创建用户组

groupadd -g 1100 oinstall

groupadd -g 1200 asmadmin

groupadd -g 1201 asmdba

groupadd -g 1202 asmoper

groupadd -g 1300 dba

groupadd -g 1301 oper

如图

创建oracle用户和grid用户

useradd -u 501 -g oinstall -G dba,asmdba,oper -d /home/oracle -m oracle

useradd -u 502 -g oinstall -G dba,asmadmin,asmdba,asmoper -d /home/grid -m grid

设置这个两个用户的密码

passwd grid

passwd oracle

本来要验证nobody用户是否存在的。忽略了。验证命令为 id nobody

创建文件夹,并赋予相关权限,命令如下

mkdir -p /u01/app/oracle

mkdir -p /u01/app/grid

mkdir -p /u01/app/11.2.0/grid

mkdir -p /u01/app/oracle/product/11.2.0/db_1

chmod -R 775 /u01/

chown -R grid:oinstall /u01

chown -R oracle:oinstall /u01/app/oracle

然后是设置一些内核参数

vi /etc/sysctl.conf

即以下内容为添加的

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.aio-max-nr = 3145728

fs.file-max = 6815744

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

保存退出

sysctl -p

如下图

修改grid oracle用户的shell 限制

敲如下命令

vi /etc/security/limits.conf 

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

保存退出

我是如何快速的定位到最下面一行,并编辑的呢?

Shift+g (快速到最后一行) o (下一行开始编辑)

编辑登录文件

vi /etc/pam.d/login

添加如下行

session required pam_limits.so

 

设置用户环境

vi /etc/profile 添加如下行

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

如下图

大概就这样了

以上就是操作系统内核,服务等方面的设置

以下是oracle用户和grid用户的配置

su – oracle

vi .bash_profile

添加如下内容

export PATH

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_SID=node1

export ORACLE_UNQNAME=xiaoxy

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export TNS_ADMIN=$ORACLE_HOME/network/admin

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

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

如下图

接着配置grid用户

su – grid(需要密码)

vi .bash_profile

添加如下行

export PATH

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_SID=+ASM1

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

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

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOM E/jlib:$ORACLE_HOME/rdbms/jlib

umask 022

基本就到这了,互信不配置了,等oracle去配置吧。

配置一下共享磁盘吧,用的udev方式绑定raw盘

su – root

先使用fdisk格式化裸设备

先查看一下设备情况吧

fdisk -l |grep /dev/sd

结果如下

fdisk /dev/sdb剩下过程如下

fdisk /dev/sdc

fdisk /dev/sdd

fdisk /dev/sde

fdisk /dev/sdf

fdisk /dev/sdg

最终效果如下:

vi /etc/udev/rules.d/60-raw.rules

添加如下行

ACTION=="add",KERNEL=="/dev/sdb1",RUN+='/bin/raw /dev/raw/raw1 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw /dev/raw/raw1 %M %m"

ACTION=="add",KERNEL=="/dev/sdc1",RUN+='/bin/raw /dev/raw/raw2 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw /dev/raw/raw2 %M %m"

ACTION=="add",KERNEL=="/dev/sdd1",RUN+='/bin/raw /dev/raw/raw3 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw /dev/raw/raw3 %M %m"

ACTION=="add",KERNEL=="/dev/sde1",RUN+='/bin/raw /dev/raw/raw4 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="65",RUN+="/bin/raw /dev/raw/raw4 %M %m"

ACTION=="add",KERNEL=="/dev/sdf1",RUN+='/bin/raw /dev/raw/raw5 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="81",RUN+="/bin/raw /dev/raw/raw5 %M %m"

ACTION=="add",KERNEL=="/dev/sdg1",RUN+='/bin/raw /dev/raw/raw6 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="97",RUN+="/bin/raw /dev/raw/raw6 %M %m"

KERNEL=="raw[1-6]",OWNER="grid",GROUP="asmadmin",MODE="660"

保存退出

start_udev

过程及结果如下

好了。存储就到这了。

现在再来弄一下ip

有了公网IP,现在来搞一下私网

其实就是以下命令

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

激活下eth1

service network restart

在xiaoxy2上也执行以上步骤。

这里是不同的

另外在xiaoxy2上不用敲fdisk命令来进行格式化磁盘了,因为在1上已经格式过了,这是共享的。直接编辑raw-60命令输入就好了。。然后重启一下

到这里。。环境已经基本搭建好了。。

现在准备安装的东西,分别是

我习惯在本机上先解压好这些东西

直接全部右键,解压到当前目录就好。

解压的时间有点长。

在想要不要配置互信。。

算了,先配置/etc/hosts/文件。Hosts文件的作用是解析名称和IP地址之间的对应关系的

在root用户下修改(su – root)

vi /etc/hosts

添加以下内容

192.168.191.201 xiaoxy1 #this ip on eth0

192.168.191.211 xiaoxy1-vip #this virtual ip for public

192.168.190.201 xiaoxy1-priv #this private ip for rac

192.168.191.202 xiaoxy2

192.168.191.212 xiaoxy2-vip

192.168.190.202 xiaoxy2-priv

192.168.191.203 scan-ip

如图

Scan-ip是为了提供负载均衡设置的,理论上外面接进来都是接scan-ip这个地址。

以上还有理论,暂时不谈

在xiaoxy2上重复此操作

保存退出。

这时候发现文件已经解压好了。

对grid文件夹右键>共享>特定用户

然后获取一下本机IP。。用cmd,,也可以在图形界面找,,我习惯cmd

如何进cmd,,前面有介绍,,输入ipconfig

我现在用的是wifi,所以我在wlan这里找到了我现在使用的ip。

然后在虚拟机xiaoxy1创建一个目录来挂载这个文件夹

mkdir /oracle

然后输入以下命令

mount -t cifs -o username=Xiaojie,password="oracle" //192.168.191.1/grid /oracle

cd /oracle

ls

就能看到已经成功挂载。准备安装

因为我这边还是命令提示符界面。。所以要转到桌面,,要去虚拟机里安装。。比较头疼的地方

在虚拟机里面以grid用户登录

调出命令行

cd /oracle

ls (查看一下挂载是否成功)

xhost +

然后

./runInstaller

出现以下内容

出现乱码,是因为安装程序对中文支持不好。

点x 退出来,,设置一下就可以解决

输入 export LANG=en

然后再./runInstaller

点ADD。。

点SSH

现在再看,一些警告已经改变,每个人可能还会有些差异,看着自己的错误,一个个修就好了。

如何创建本地yum源

先挂载CD到linux:mount -t auto /dev/cdrom /mnt/

然后把/etc/yum.repos.d/下的.repo的文件改名,然后自己创建一个以.repo结尾的文件

命令如下

mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/*.repo.bak

vi /etc/yum.repos.d/myyum.repo

添加内容如下:

[local_server](库名称)

name=Thisis a local repo (名称描述)

baseurl=file:///media(yum源目录,源地址)

enabled=1(是否启用该yum源,0为禁用)

gpgcheck=0  (检查GPG-KEY,0为不检查,1为检查)

如图

保存退出!

[local_yum]

name=yum

baseurl=file:///home

enabled=1

gpgcheck=0

自己弄得

Yum install –y compat*

….类似这样安装省事,,,

安装完一大堆包以后,,剩下的错误可忽略

剩下的忘记截图,直接下一步就好

分别在xiaoxy1和xiaoxy2上执行所列脚本,root用户执行。注意!!!!!!!

先在xiaoxy1上执行完,并成功以后才能在xiaoxy2上执行。

 基本这里只要敲enter就可以了。

节点二也安装成功了。

中间会遇到一个错误,,skip跳过

查看了一些,总体运行良好。

查看的命令为

crs_stat -t -v

接下来创建asm磁盘组,为安装database做准备

建议新手用asmca,,有图形好看又方便。

在grid用户下,

asmca

乱码。。export LANG=en上面有说明

退出。

分别创建DATA,FRA,ARC

然后退出

接着挂载oracle database 安装文件,如何挂载windows的资料,上面有说

挂载完成后,转到oracle用户,并查看oracle文件夹是否有挂载成功

命令如下

su – oracle

cd /oracle

ls

如图

这里照例要

export LANG=en

xhost +

./runInstaller

我切了个窗口,,所以这两图有点不一致。。

配置完互信就下一步了

接下来创建数据库

在oracle用户下敲dbca(建议使用刚刚的shell窗口,,环境变量都好的)

点OK。。基本到这里就完成了。。。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论