Redhat6.9操作系统部署Oracle11g RAC

本文详细介绍了如何设置虚拟机环境,包括Hosts文件配置、网卡添加、安全设置(防火墙、SELinux)、共享磁盘的创建与编辑、yum源配置、Oracle用户和Grid用户的权限设置,以及GridInfrastructure和RDBMS的安装流程,涉及多个关键步骤和技术细节。
摘要由CSDN通过智能技术生成

一、虚拟机设置

 1.1. Hosts文件示例

节点1和节点2相同
vi /etc/hosts 
#eth0 public
192.168.64.10  rac1
192.168.64.11  rac2
#virtual
192.168.64.12  rac1-vip
192.168.64.13  rac2-vip
#private
192.168.114.10  rac1-priv
192.168.114.11  rac2-priv
#scan
192.168.64.111  rac-scan


注:vi /etc/sysconfig/network,然后将HOSTNAME后面的值改为想要设置的主机名
service network restart  --重启网卡

1.2. 网卡添加

注意:2块服务器均作设置


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

DEVICE=eth0
HWADDR=00:50:56:3D:59:C1
TYPE=Ethernet
UUID=d75da050-2a7c-4c1a-877d-103596eff910
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
GATEWAY=192.168.1.4
IPADDR=192.168.1.10
NETMASK=255.255.255.0

DEVICE=eth1
HWADDR=00:50:56:25:4D:F5
TYPE=Ethernet
UUID=d75da050-2a7c-4c1a-877d-103596eff910
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
#GATEWAY=192.168.1.4
IPADDR=192.168.6.118
NETMASK=255.255.255.0


节点 1:rac1,添加两块网卡,一个是物理IP,一个是私网IP
节点 2:rac2,添加两块网卡,一个是物理IP,一个是私网IP


service network restart  --重启网络
reboot  --重启系统

1.3. 安全配置

-- 防火墙设置
   LINUX6:
      重启后生效:
        开启:chkconfig iptables on
        关闭:chkconfig iptables off
      即时生效,重启后失效:
        开启:service iptables start
        关闭:service iptables stop
   
   LINUX7以上:
        开启:systemctl start firewalld
        关闭:systemctl stop firewalld

-- LINUX系统安全服务
   永久关闭:需要重启服务器
      修改/etc/selinux/config文件中设置SELINUX=disabled,然后重启服务器
   临时关闭:
      setenforce 0
   查看状态:
      getenforce
      /usr/sbin/sestatus

1.4. 生成共享磁盘

在 D:\Program Files (x86)\VMware\VMware Workstation 路径下打开 DOS 窗口
运行如下命令:
vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 F:\rac\rac-sharedisk\ocr_voting_disk.vmdk
vmware-vdiskmanager.exe -c -s 10g -a lsilogic -t 2 F:\rac\rac-sharedisk\fra_arc_disk.vmdk
vmware-vdiskmanager.exe -c -s 10g -a lsilogic -t 2 F:\rac\rac-sharedisk\data_disk.vmdk

1.5. 编辑虚拟机配置文件,添加共享盘

关闭两台虚拟机,用记事本打开虚拟机名字.vmx(11G RAC1.vmx/11G RAC2.vmx),添加以下内容:

disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize= "4096"
diskLib.maxUnsyncedWrites = "0"
disk.EnableUUID = "TRUE"

scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsil.sharedBus = "VIRTUAL"

scsi1:0.present = "TRUE"
scsi1:0.mode = "independent-persistent"
scsi1:0.fileName = "F:\rac\rac-sharedisk\ocr_voting_disk1.vmdk"
scsi1:0.deviceType = "disk"
scsi1:0.redo = ""

scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.fileName = "F:\rac\rac-sharedisk\ocr_voting_disk2.vmdk"
scsi1:1.deviceType = "disk"
scsi1:1.redo = ""

scsi1:2.present = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.fileName = "F:\rac\rac-sharedisk\ocr_voting_disk3.vmdk"
scsi1:2.deviceType = "disk"
scsi1:2.redo = ""

scsi1:3.present = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.fileName = "F:\rac\rac-sharedisk\data_disk.vmdk"
scsi1:3.deviceType = "disk"
scsi1:3.redo = ""

scsi1:4.present = "TRUE"
scsi1:4.mode = "independent-persistent"
scsi1:4.fileName = "F:\rac\rac-sharedisk\fra_arc_disk.vmdk"
scsi1:4.deviceType = "disk"
scsi1:4.redo = ""

1.6. 配置本地yum源

#上传iso文件指操作系统
mkdir /software/iso
#挂载ISO镜像文件
mount -o loop /software/****.iso /software/iso
#配置yum源
vi /etc/yum.repo.d/iso.repo
--新增如下内容
[iso]
name=iso
baseurl=file:///software/iso
enabled=1
gpgcheck=0

1.7. 安装依赖包

yum install  binutils compat-libstdc++-33 compat-libstdc++-296 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make openmotif sysstat unixODBC unixODBC-devel compat-libcap1 ksh


安装常用故障与性能诊断工具等

yum install -y unzip man screen tigervnc-server iotop dstat openssl make sysstat vsftpd ftp

二、安装前配置

2.1. 配置用户、组、目录

groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
groupadd asmdba
groupadd asmoper
useradd -g oinstall -G dba,asmdba,asmadmin,asmoper grid  #添加grid用户
useradd -g oinstall -G dba,oper,asmdba oracle  #添加oracle用户
echo -n grid|passwd --stdin grid  #修改密码
echo -n oracle|passwd --stdin oracle   #修改密码


mkdir -p /u01/app/product/11.2.0/db_1
mkdir -p /u01/gridbase
mkdir -p /u01/grid/crs_1
chown -R grid:oinstall /u01
cd /u01/
chown -R oracle:oinstall app/
chown -R grid:oinstall grid/

2.2. 修改系统内核参数

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

kernel.shmall和kernel.shmmax算法如下:

kernel.shmall = ( _PHYS_PAGES)
kernel.shmmax = ( _PHYS_PAGES / 2) * PAGE_SIZE
$ echo $(expr $(getconf _PHYS_PAGES)) 
$ echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))
kernel.shmall:表示可以在系统范围内使用的共享内存总量(以页为单位)。
kernel.shmmax:表示单个共享内存段的最大大小(以字节为单位)。

执行sysctl -p 使以上命令生效

2.3. 编辑/etc/profile文件

添加一下内容

cat >> /etc/profile << EOF
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
#############################
#color of grep
alias grep='grep --color=auto'
EOF

2.4. 修改用户资源限制

cat >> /etc/security/limits.conf << EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
EOF

2.5.用户环境变量配置

grid用户:
节点1
cat >> /home/grid/.bash_profile  <<EOF
export ORACLE_BASE=/u01/gridbase
export ORACLE_HOME=/u01/grid/crs_1
export ORACLE_SID=+ASM1
export PATH=$ORACLE_HOME/bin:$PATH
EOF

节点2
cat >> /home/grid/.bash_profile <<EOF
export ORACLE_BASE=/u01/gridbase
export ORACLE_HOME=/u01/grid/crs_1
export ORACLE_SID=+ASM2
export PATH=$ORACLE_HOME/bin:$PATH
EOF



oracle用户:
节点1
cat >> /home/oracle/.bash_profile <<EOF
export ORACLE_BASE=/u01/app
export ORACLE_HOME=/u01/app/product/11.2.0/db_1
export ORACLE_SID=orcl1
export PATH=$ORACLE_HOME/bin:$PATH
EOF

节点2
cat >> /home/oracle/.bash_profile <<EOF
export ORACLE_BASE=/u01/app
export ORACLE_HOME=/u01/app/product/11.2.0/db_1
export ORACLE_SID=orcl2
export PATH=$ORACLE_HOME/bin:$PATH
EOF

. .bash_profile 或者 source .bash_profile
--环境变量设置生效

2.6. Oracle、Grid用户互信配置

grid用户
rac1
ssh-keygen -t rsa
ssh-keygen -t dsa
rac2
ssh-keygen -t rsa
ssh-keygen -t dsa
#以上用默认配置,一路回车即可

rac1
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh grid@rac2 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
rac2
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh grid@rac1 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys

#建立等效性
rac1,rac2 双节点执行
ssh rac1 date
ssh rac1-priv date
ssh rac2 date
ssh rac2-priv date




Oracle用户:
rac1
ssh-keygen -t rsa
ssh-keygen -t dsa
rac2
ssh-keygen -t rsa
ssh-keygen -t dsa
#以上用默认配置,一路回车即可

rac1
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh oracle@rac2 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
rac2
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh oracle@rac1 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys

#建立等效性
rac1,rac2 双节点执行
ssh rac1 date
ssh rac1-priv date
ssh rac2 date
ssh rac2-priv date

2.7. udev绑定共享磁盘

执行fdisk -l
找到创建的共享盘

LIUNX6:
for i in b c d e f;
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=\"oinstall\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done

检验:
udevadm trigger
more /etc/udev/rules.d/99-oracle-asmdevices.rules
cd /dev 这个目录下会出现asm-disk* 那就是绑定成功了!


LINUX7:
for i in a b c d;
do
echo "KERNEL==\"sd*\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"oinstall\", MODE=\"0660\""      >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done

启动并校检:
udevadm control --reload-rules      重启udev服务
udevadm trigger

三、安装Grid Infrastructure

3.1. 上传介质并解压

p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
p13390677_112040_Linux-x86-64_3of7.zip
unzip p13390677_112040_Linux-x86-64_3of7.zip
grid用户解压p13390677_112040_Linux-x86-64_3of7.zip软件

安装RPM包(双节点),再解压目录
yum install -y cvuqdisk-1.0.9-1.rpm

3.2. grid用户安装

注:安装可使用xmanager、vnc server,由于本地操作系统是图形化安装的,直接在虚拟机内安装了

root:xhost +
su - grid
export DISPLAY=localhost:0
xhost+
./runInstaller 


  --注:Linux7版本操作系统在runInstaller后面加上-jreLoc /etc/alternatives/jre_1.8.0。这样写的目的是安装程序在显示上会有一些bug,导致显示不全或者按钮点不了,这样启动可以避免该情况。

 安装截图如下:

选择安装并配置集群:

选择高级安装:

选择语言环境:

去掉GNS配置,修改SCAN Name:

添加节点2信息、配置ssh互信:

确认IP配置信息,包括网卡名及对应的IP信息及相应的作用,是做public还是private:

选择ASM管理:

创建仲裁磁盘组,磁盘组名字OCRVT ,如果有一块仲裁磁盘选择Extenal,如果有3块盘则选择Normal 如果有5块盘则选择 HIGH:

如果没有显示需要的磁盘,点击Change Disscovery Path修改磁盘发现路径,改到我们之前创建磁盘所在的位置。

输入ASM实例的SYS密码:

选择Do not use Intelligent Platform Management Interface (IPMI),不使用智能平台管理接口:

选择用户组,默认即可:

确认base目录及home目录,如果.bash_profile写了,此处自动读取,默认即可:

选择oraInventory注册目录默认即可:

环境检查:

如果出现了右边fixable选项为YES的,点击Fix&check again出现以下窗口,双节点root用户运行Scripts,运行结束后点击OK重新验证,对于fixable选项为NO的需要排查原因,手动修复,以下部分报错可以忽略(双节点都要运行):

双节点执行脚本,注意脚本要1节点执行完了再去执行2节点,否则会报错:

四、安装RDBMS

Oracle用户解压介质:

p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
xhost +
su - oracle
export DISPLAY=:0
xhost +
./runInstaller

 

选择仅安装数据库软件:

选择安装Oracle Real Application clusters database installation,配置ssh互信机制:

选择企业版本安装:

确认安装目录:如果环境变量生效,该步骤默认即可:

选择用户组,默认即可:

五、创建数据库磁盘

5.1. asmca

下一步:创建DATA磁盘组

输入磁盘组名:DATA

选择冗余方式为Extenal

如果未发现磁盘,选择右下角Change Ddisk Discovery Path修改磁盘发现路径

编辑Database Compatibility为11.2.0.0.0

勾选需要创建磁盘组的磁盘

 创建磁盘组:

创建FRA,用于存放归档文件:

六、创建实例

6.1. dbca

选择集群类型数据库:

  • 11
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值