admin管理员组

文章数量:1532440

2023年12月23日发(作者:)

ORACLE 11gR2 RAC集群+单实例DG安装部署配置方案

1 参考集群规划

1.1 硬件环境

主库RAC:

服务器2台:分别为32核CPU、128G内存 双网卡*2 。

共享存储:2T

备库单机:

服务器1台:为32核CPU、128G内存。

存储:2T

1.2 软件环境

数据库:linux.x64_11gR2

集群件:linux.x64_11gR2_grid

操作系统:rhel 6.9

数据库版本:oracle 11.2.0.4.0

1.3 IP及存储规则

每个节点一个public IP

每个节点一个public VIP

每个节点一个private IP

心跳private ip走私有网段,public走公用网段,网段不能相同, Public IP、Virtual IP、SCAN IP必须配置在同一网段。

设备 用途 IP地址

磁盘空间(下述是根据实际业务量估算冗余后的存储)

RAC01-pub:192.168.36.85

HP DL980

RAC节点0RAC01-priv:10.140.8.1

35

RAC01-vip:192.168.36.87

300G

1

RAC02-pub:192.168.36.86

RAC02-priv: DL980

RAC节点036

2

RAC02-vip:192.168.36.88

RAC-scan:192.168.36.89

300G

OCR:30G( Ocr磁盘,即集群注册磁盘,用于存储集群配置信息) FRA:450G(用于存放日志文IBM V700主库共享0 存储

件,归档日志, 闪回数据等)

DATA1:600G DATA2:600G DATA3:600G(存储数据文件)

HP DL980 备库

192.168.36.98

300G+600G备份存储

OCR:30G( Ocr磁盘,即集群注册磁盘,用于存储集群配置信息) FRA:450G(用于存放日志文IBM V7000

备库存储

件,归档日志, 闪回数据等)

DATA1:600G DATA2:600G DATA3:600G(存储数据文件)

2 RAC主库安装实施

2.1 主机环境准备

2.1.1 操作系统安装

分别在两个节点安装rhel6.9 x86_64位操作系统

Root密码:wyq19851215--a

2.1.2 服务器内存要求

Swap大小:

当内存为2.5GB-16GB时,Swap需要大于等于系统内存。

当内存大于16GB时,Swap等于16GB即可。128内存建议为64或者128.

2

配置方法:

1、以下的操作都要在root用户下进行,首先先建立一个分区,采用如下命令创建512M的swap文件(1024 * 512MB = 524288)。

dd if=/dev/zero of=/swapfile1 bs=1024 count=4194304

2、接着再把这个分区变成swap分区。

/sbin/mkswap /swapfile1

3、使用这个swap分区。使其成为有效状态。

/sbin/swapon /swapfile1

4、设置系统自激活交换文件。编辑 /etc/fstab文件,并增加如下第二行代码。

vi /etc/fstab

/swapfile1 swap swap defaults 0 0

你就会发现你的机器自动启动以后swap空间也增大了。

5、使用free -m查看swap大小。

调整/dev/shm的大小

1)查看大小

df -h /dev/shm

2)修改大小

vi /etc/fstab

tmpfs /dev/shm tmpfs defaults,size=4096M 0 0

3)重新挂载

umount /dev/shm

mount /dev/shm

4)查看修改后的大小

df -h /dev/shm

5)不重起修改tmpfs大小 mount -o remount,size=38g /dev/shm

2.3 网络配置

每个服务器节点至少需要2块网卡,一块对外网络接口,一块私有网络接口(心跳)。

2.3.1 配置IP (网络工程师分配IP并配置好)

3

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

DEVICE=eth0

HWADDR=F0:92:1C:07:25:1C

TYPE=Ethernet

UUID=0b08f4d3-7339-45bc-9a9a-e90e6280a449

ONBOOT=yes

NM_CONTROLLED=yes

#BOOTPROTO=dhcp

BOOTPROTO=STATIC

IPADDR=192.168.12.106

netmask=255.255.255.0

GATEWAY=192.168.12.253

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

DEVICE=eth1

HWADDR=F0:92:1C:07:25:1D

TYPE=Ethernet

UUID=0b08f4d3-7339-45bc-9a9a-e90e6280a412

ONBOOT=yes

NM_CONTROLLED=yes

#BOOTPROTO=dhcp

BOOTPROTO=STATIC

IPADDR=10.10.12.108

netmask=255.255.255.0

GATEWAY=10.10.12.253

心跳private ip走私有网段,public走公用网段,网段不能相同, Public IP、Virtual IP、SCAN IP必须配置在同一网段。

节点2也要对2个网卡分别配置IP,同上

配置完成后重启网络服务: #service network restart

2.3.2 配置主机名

1.查看Hostname

2.更改/etc/sysconfig下的network文件,在提示符下输入vi /etc/sysconfig/network,然后将HOSTNAME后面的值改为想要设置的主机名

3.重启机器。

2.3.3 配置/etc/hosts

4

#vi /etc/hosts

#Public IP

192.168.36.251 rac1

192.168.36.86 rac2

#Private IP

10.140.8.35 rac1-priv

10.140.8.36 rac2-priv

#Virtual IP

192.168.36.87 rac1-vip

192.168.36.88 rac2-vip

#Scan IP

192.168.36.89 rac-scan

2.4 防火墙、SELinux和NTP禁用

2.4.1关闭服务器防火墙或开放端口:

所有节点均执行

[root@rac1:~]$service iptables stop

[root@rac1:~]$chkconfig iptables off

部分单位若没有网络防火墙,则只开放端口,不关闭防火墙,如下:

开放Oracle远程端口

在文件【/etc/sysconfig/iptables】内增加以下内容:

[root@rhel6 ~]# vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1158 -j ACCEPT

Oracle远程访问端口默认是1521,OEM端口1158,若自定义新端口,请开放相应端口。

注意:新开放端口的配置必须紧跟着放在端口22的配置后面。

重启防火墙生效

[root@rhel6 ~]# service iptables restart

查看防火墙状态

[root@rhel6 ~]# service iptables status

2.4.2禁用SELinux:

#所有节点均执行

[root@rac1:~]$sed

-i 's/SELINUX=enforcing/SELINUX=disabled/g'

5

/etc/selinux/config

2.4.3禁用NTP并删除其配置文件:

(禁用ntp并删除配置文件后,rac的grid安装时会自动使用其自带的CTSS进行时间管理)

#所有节点均执行

[root@rac1:~]$service ntpd stop

[root@rac1:~]$chkconfig ntpd off

[root@rac1:~]$ mv /etc/ /etc/

2.5 资源限额配置

为grid和oracle配置资源限额。

2.5.1编辑/etc/,添加以下内容:

#所有节点均执行

[root@rac1:~]$vi /etc/

#oracle rac

内存为128G时,设置如下:

-max = 6815744

= 250 32000 100 128

= 4096

= 1073741824

= 96636764160 #依当前内存而定,通常60%-80%左右,此次设置70%

_default = 262144

_max = 4194304

_default = 262144

_max = 1048576

-max-nr = 1048576

_local_port_range = 9000 65500

[root@rac1:~ 11]$sysctl -p #令配置生效

shmmax<=物理内存数(G)*1024*1024*1024(bytes), 依当前内存而定,通常60%-80%左右,一般为sga和pga的和的大小。

shmall=SGA(G)/page_size(bytes)=sga(G)*1024*1024*1024/page_size, 比如sga大小为22G,page_size=4kb=4096bytes,那么shmall=22*1024*1024*1024bytes/4096bytes=5767168

也可以设置为/4096

shmall是指共享内存页面的总数目,共享内存你可以连接为SGA。页面的大小一般情况下是6

4KB,单位是bytes,通过命令getconf PAGESIZE查到的数值一般都是4096bytes

2.5.2编辑/etc/security/,添加以下内容:

#所有节点均执行

[root@rac1:~]$vi /etc/security/

#oracle rac

grid soft nofile 1024

grid hard nofile 65536

grid soft nproc 2047

grid hard nproc 16384

grid soft stack 10240

grid hard stack 32768

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft stack 10240

oracle hard stack 32768

2.5.3编辑/etc/pam.d/login,添加以下内容:

#所有节点均执行

[root@rac1:~]$echo "session required pam_" >> /etc/pam.d/login

2.5.4调整tmpfs大小

如果内存较大,sga target不能超过tmpfs大小,因此需要将tmpfs调整到一个大于sga target的值。编辑vi /etc/fstab,修改tmpfs行:

#所有节点均执行

tmpfs /dev/shm tmpfs defaults,size=102400m 0 0 #如服务器内存128GB,sga target为90GB,则可设置tmpfs为100GB

重新mount并查看tmpfs设置是否生效:

#所有节点均执行

[root@rac1:~]$mount -o remount /dev/shm

[root@rac1:~]$df -h

7

2.6 用户和组配置

2.6.1新建grid和oracle相关用户和组。

#所有节点root用户下均执行,且需保证所有节点对应的组和用户id相同

groupadd -g 4321 oinstall

groupadd -g 4322 dba

groupadd -g 4323 oper

groupadd -g 4324 asmdba

groupadd -g 4325 asmadmin

groupadd -g 4326 asmoper

useradd -u 4321 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -s

/bin/bash -c

"Grid Infrastructure Owner" grid

useradd -u 4322 -g oinstall -G asmadmin,asmdba,dba,oper -d /home/oracle -s

/bin/bash -c

"Oracle Software Owner" oracle

echo "yc12345678--" | passwd --stdin grid #为grid和oracle用户设置密码

echo "yc12345678--" | passwd --stdin oracle

2.6.2新建grid和oracle安装目录

#所有节点root用户下均执行

mkdir -p /u01/grid/product/grid11g

mkdir -p /u01/grid/grid

mkdir -p /u01/oracle/product/db11g

chown -R grid:oinstall /u01/grid

chown -R oracle:oinstall /u01/oracle

chmod -R 775 /u01

2.6.3配置grid和oracle用户环境变量

grid环境变量:编辑/home/grid/.bash_profile文件,添加以下内容:

#所有节点均执行

[root@rac1:~]$cat /home/grid/.bash_profile

export PATH

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_BASE=/u01/grid/grid

export ORACLE_HOME=/u01/grid/product/grid11g

export ORACLE_SID=+ASM1 #节点1为+ASM1,节点2为+ASM2,以此类推

8

export

PATH=$HOME/bin:$ORACLE_HOME/bin:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:$ORACLE_BASE/common/oracle/bin:$PATH

export

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/usr/lib:/usr/local/lib

export

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/oracm/lib

配置生效执行:source /home/grid/.bash_profile

oracle环境变量:编辑/home/oracle/.bash_profile文件,添加以下内容:

#所有节点均执行

[root@rac1:~]$cat /home/oracle/.bash_profile

export PATH

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_BASE=/u01/oracle

export ORACLE_HOME=/u01/oracle/product/db11g

export ORACLE_SID=CRRDW1 #此处指定oracle实例名。单实例情况下可指定ORACLE_SID,多实例情况下建议不指定。#节点1为CRRDW1,节点2为CRRDW2,以此类推

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_HOME/jlib:$ORACLE_HOME/rdbms/jlib

配置生效执行:source /home/oracle/.bash_profile

2.7 依赖包安装

Linux平台下oracle rac依赖众多软件包,需要使用yum源进行安装。

1.搭建yum 仓库

[root@localhost ~]# mkdir /mnt/cdrom

[root@localhost ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 43G 8.1G 33G 20% /

tmpfs 1014M 0 1014M 0% /dev/shm

/dev/hdc 2.8G 2.8G 0 100% /media/Enterprise Linux dvd 20090908

2.根据自己本机的目录挂载

[root@localhost ~]# mount /dev/sr0 /mnt/cdrom

9

mount: block device /dev/hdc is write-protected, mounting read-only

[root@localhost ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 43G 8.1G 33G 20% /

tmpfs 1014M 0 1014M 0% /dev/shm

/dev/hdc --根据自己本机的目录 2.8G 2.8G 0 100%

/media/Enterprise Linux dvd 20090908

/dev/hdc 2.8G 2.8G 0 100% /mnt/cdrom

3.修改yum源文件中的获取路径

[root@localhost cdrom]# cd /etc/.d/

[root@localhost .d]# vi

[server]

name=Red Hat Enterprise Linux

baseurl=file:///mnt/cdrom/Server

enabled=1

gpgcheck=0

保存退出

x64包安装:

#所有节点均执行

yum install -y binutils*

yum install -y compat-libcap1*

yum install -y compat-libstdc++-33*

yum install -y gcc-4.4*

yum install -y gcc-c++-4.4*

yum install -y glibc-2.12*

yum install -y glibc-devel-2.12*

yum install -y libgcc-4*

yum install -y libstdc++-4.4*

yum install -y libstdc++-devel-4.4*

yum install -y libaio-0.3.107-10*

yum install -y libaio-devel-0.3.107-10*

yum install -y 6*

yum install -y sysstat-9.0.4-*

yum install -y unixODBC-2.2.14-14*

yum install -y unixODBC-devel-2.2.14*

yum install -y elfutils-libelf-devel*

x86包安装:

#所有节点均执行

yum install -y compat-libstdc++-6.i686

yum install -y 6.i686

yum install -y 6.i686

10

yum install -y 6.i686

yum install -y libstdc++-6.i686

yum install -y libstdc++-6.i686

yum install -y 6.i686

yum install -y 6.i686

yum install -y 6.i686

yum install -y 6.i686

pdksh安装:

RHEL 6.9不提供pdksh包(有ksh包),需要单独下载(/ 或 centos5.6光盘)并使用rpm手动安装:

#所有节点均执行

rpm -ivh 5_ --nodeps --force

rpm -ivh 5_8.1.x86_ --nodeps --force

2.8 SSH互信配置

配置所有节点间ssh无密码登录,保证节点间文件互传。需要分别配置grid和oracle用户的ssh互信,root用户可配可不配。本项目只有两个节点:rac1, rac2。以配置grid用户的ssh互信为例:

在所有节点上登录到grid用户,执行以下命令:

#所有节点均执行

[grid@rac1:~]$rm -rf ~/.ssh

[grid@rac1:~]$mkdir ~/.ssh

[grid@rac1:~]$chmod 700 ~/.ssh

[grid@rac1:~]$/usr/bin/ssh-keygen -t rsa #提示输入时一路回车即可,执行不成功需重启系统后再执行

在节点1上执行以下命令:

#仅节点1执行

[grid@rac1:~]$ssh rac1 cat ~/.ssh/id_>>~/.ssh/authorized_keys

[grid@rac1:~]$ssh rac2 cat ~/.ssh/id_>>~/.ssh/authorized_keys

[grid@rac1:~]$scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys

在节点2上执行以下命令:

#仅节点2执行

[grid@rac2:~]$chmod 600 ~/.ssh/authorized_keys

测试ssh互信是否配置成功:

#所有节点均执行,以下命令第一次执行需要输入密码,以后则不需要,表示配置成功

ssh rac1 date

ssh rac2 date

ssh rac1-priv date

11

ssh rac2-priv date

登录到oracle账号下,重复以上操作。

编辑/etc/ssh/sshd_config, 将#LoginGraceTime 2m 改为LoginGraceTime 0,使ssh认证不超时。

3 RAC主库共享存储配置

Oracle推荐从linux 6开始推荐采用udev来管理,asmlib最高支持到rhel5.9

有些linux版本是不支持asmlib的。出问题oracle不支持,如果数据库升级需要升级asmlib时候还需要在找对应版本的。

-- UDEV是Linux 2.6后内置的设备管理器,推荐采用此方案。

-- ASMLIB需要用ULN账号下载,以后可能会被ASMFD替代。

-- ASMFD是Oracle 12.1.0.2新增的特性,目前在GI安装过程中还无法直接使用。

3.1 存储建设

联系存储管理员建立存储,fdisk -l能在各集群节点检测得到。

3.2 UDEV方式配置

查看是否已安装udev:

rpm包安装的rpm -qa | grep udev*

yum方法安装的yum list installed | grep uedv

创建脚本自动生产udev规则文件

#节点1执行 #注意:如果/etc/udev/rules.d目录下已存在99开头的规则文件,需先将其改为其他数字开头

首先创建scsi_id配置文件,以避免scsi_id命令的输出结果包含空格

[root@rac1:~]echo

/etc/scsi_

获取UUID:

[root@rac1:~]$ /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb1

36000c294347acba383e23ecbd43867c4

替换和修改下面的UUID、磁盘名称:

[root@rac1:~]vi /etc/udev/rules.d/

KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29f8b2dc4eebca722b4dfc81067",NAME="asm-ocr",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whi12

"options=--whitelisted --replace-whitespace" >>

tespace --device=/dev/$name",RESULT=="36000c295414f5fedc1f1f1f51020ff5c",NAME="asm-data1",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29c454604086994daf34fc234c0",NAME="asm-data2",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2916e02e24e9d003be217e36874",NAME="asm-data3",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29e0da143263385b92c6c481f1c",NAME="asm-fra1",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2971474a34fc482bef846576cfa",NAME="asm-fra2",OWNER="grid",GROUP="asmadmin",MODE="0660"

复制到其他节点:

scp /etc/udev/rules.d/ rac2:/etc/udev/rules.d/

3.启动udev,使磁盘配置生效:

#所有节点均执行

[root@rac1:~]$/sbin/start_udev

4.查看配置是否生效:

#所有节点均执行:

[root@rac1:~]$ls -l /dev/asm*

如下结果表示正常:

4.分区:

其中一个集群节点执行,fdisk -l看不到磁盘需要重启系统后启动udev才可以看到。

[root@rac1:~]fdisk /dev/sdb

n p 1 w

5.为了系统启动时使udev自动生效,修改如下文件

vim /etc/rc.d/

13

将udev启动加入到该文件中即可.

/sbin/start_udev

4 RAC主库安装Oracle grid集群件

grid安装需要登录到grid用户下进行,绝大多数操作仅需在节点1上执行即可。

解压安装介质:

#仅节点1执行

[grid@cheastrac01:~]$unzip p13390677_112040_Linux-x86-64_

[grid@cheastrac01:~]$unzip p13390677_112040_Linux-x86-64_

[grid@cheastrac01:~]$unzip p13390677_112040_Linux-x86-64_

在grid的rpm目录下有一个cvuqdisk的rpm包,在所有节点上分别安装:

#所有节点均执行(以root用户安装)

[root@cheastrac01:~]rpm -ivh /home/grid/rpm/

5.1 安装前检查

【grid@rac1 grid】./ stage -pre crsinst -n rac1,rac2 -verbose

检测安装包、网络配置等,配置互信的时候就不会出现问题

本项目没有配置DNS服务,因此DNS相关检查项会失败,可以忽略。一般DNS没有配置会报DNS的错误。

【grid@rac1 grid】./ stage -post hwos -n rac1,rac2 -verbose

检测共享磁盘配置是否通过

5.2 解压及安装

使用grid用户登录安装grid。使用xmanager登录, 解压后进入安装目录,

运行:

$./runInstaller

14

15

16

设置集群名称和scan名称,其中集群名称随意,scan名称必须与/etc/hosts文件中scan ip的映射名相同;不配置GNS

点击Add添加RacNode2主机及Virtual IP Name,Public Hostname和Virtual Hostname均与/etc/hosts中的映射相同。

完成后点击setup 然后再点击test看是否成功,或者也可以直接下一步。

17

next

会自动识别之前配置好的公网段和私网段,保持默认,下一步

next

18

选择使用Oracle自动存储管理方式管理数据库磁盘:

配置仲裁盘和Oracle集群注册表磁盘组,本项目命名为OCR,因只分配了一个磁盘,故Reduandancy选择External,点击Change Discovery Path,更改磁盘搜索路径,让安装程序搜索到为asm准备的磁盘

选择External就是没有磁盘保护的意思,例如5个20G的磁盘就有100G空间使用,normal就只有50G空间使用,high就只有33.3G空间使用。底盘做了raid就选择外部External,19

否则需要的磁盘很大。

au size的含义,oracle建议为4

Next

选择为所有的ASM磁盘组管理账号使用相同的密码(本项目设置为Wyq123456)

next

20

安装程序会自动识别ASM相关管理组,保持默认,下一步:

安装程序会根据当前用户的环境变量自动识别Base和Grid目录,保持默认,下一步:

21

使用默认的Inventory目录,下一步:

22

根据提示信息安装相应的软件包并修改内核参数,完成后点击Check Again确保成功

23

根据安装向导提示,以root用户身份在所有节点上分别执行上述两个脚本,要一个节点一个节点地执行,执行时的信息如下:

[root@db1 ~]# /u01/grid/oraInventory/

[root@db1 ~]# /u01/grid/11.2.0/grid/

脚本执行完毕后点“OK”

CRS-4124: Oracle High Availability Services startup failed.

CRS-4000: Command Start failed, or completed with errors.

ohasd failed to start: Inappropriate ioctl for device

ohasd failed to start at/u01/app/11.2.0/grid/crs/install/ line 443.

第一次安装11gR2 RAC的时候就遇到了这个11.0.2.1的经典问题,上网一查才知道这是个bug,解决办法也很简单,

就是在执行之前执行以下命令

/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

如果出现

/bin/dd: opening`/var/tmp/.oracle/npohasd': No such file or directory

的时候文件还没生成就继续执行,直到能执行为止,一般出现Adding daemon to inittab这条信息的时候执行dd命令。

重新执行之前别忘了删除已执行的配置:

/u01/app/grid/11.2.0/crs/install/ -deconfig -force -verbose

另外还有一种解决方法就是更改文件权限

chown root:oinstall /var/tmp/.oracle/npohasd

24

注:由于配置了/etc/hosts来解析SCAN,导致未走DNS来进行SCAN的解析,爆出此错误,可以考虑忽略掉,或者删除/etc/hosts文件中的SCAN解析部分,并且再次通过nslookup验证DNS的解析是否正常即可。

ping scan ip,如果可以ping通,忽略,跳过即可

用root用户在/etc/rc.d/文件中加入

/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

否则,重启后无法启动rac

25

5.3 安装检查

关闭安装界面,完成安装。

检查集群状态:

#所有节点均执行(grid用户)

[grid@cheastrac01:~]$crsctl check cluster

[grid@cheastrac01:~]$srvctl status nodeapps

[grid@cheastrac01:~]$srvctl config nodeapps

5.4 卸载grid

手工方式卸载

1. 停止has

2. 删除grid安装软件

rm -fr /u01/app/grid/*

rm -fr /u01/oraInventory/*

rm -fr /u01/grid/*

rm -fr /u01/app/11.2.0

rm -rf /usr/local/bin

3. 阻止has启动

rm /etc/

rm /etc/

rm /etc/

rm -fr /etc/rc.d/rc2.d/K19ohasd

rm -fr /etc/rc.d/rc2.d/S96ohasd

rm -fr /etc/ohasd

rm /etc/

26

cp /etc/ /etc/inittab

4. 删除注册项

rm -fr /etc/ora*

rm -rf /tmp/.oracle

rm -fr /opt/ORCLfmap

5. 清除CRS所在磁盘信息

dd if=/dev/zero of=/dev/sdb1 bs=1024k count=100

dd if=/dev/zero of=/dev/sdd1 bs=1024k count=100

卸载方法二:

1、通过root用户进入到grid的ORACLE_HOME

[root@db01]# source /home/grid/.bash_profile

[root@db01]# cd $ORACLE_HOME/crs/install/

2、执行如下两个脚本(只在其中一个节点执行,root用户)

[root@db01]# ./ -verbose -deconfig -force

[root@db01]# ./crsconfig_params

3、切换到grid用户,执行deinstall 进行卸载,按照提示完成,完成后再去另一个节点按提示执行相应脚本。

[root@db01]# su - grid

[grid@db01]$ ./deinstall

4、用root删除/etc/目录下的oracle相关文件(两节点执行)

[grid@db01]$ exit

[root@db01]# rm -rf /etc/

5、格式化ASM磁盘头。

[root@db01] dd if=/dev/zero count=10 bs=512 of=/dev/sde1

5 RAC主库配置ASM磁盘

也可在数据库安装后进行,在建库前配置好就可以。

使用ASM配置Oracle RAC集群通常需要创建三个ASM磁盘组:

OCR磁盘组:自Oracle 11.2版以后,votedisk(表决盘:记录集群节点信息,提供仲裁防止脑裂)和ocr(oracle集群注册表:记录并维护整个集群的配置信息)已经支持放置于同一个ASM磁盘组中。因此这里为votedisk和ocr提供一个磁盘组:OCR。

FRA磁盘组:快速恢复区,用于支持数据库快速闪回,同时也是默认的归档日志存放位置。单独创建一个磁盘组。

DATA磁盘组:用于存放数据文件的磁盘组。

在安装GRID的时候,已经创建了必要的OCR磁盘组,接下来需要使用ASM配置助手创建其他两个磁盘组以便完成Oracle数据库的创建。以grid用户输入以下命令开始配置:

#仅在节点1执行

[grid@cheastrac01:~]$asmca

弹出配置窗口,分别按下图创建FRA和DATA磁盘组:

27

点击Create来新建ASM磁盘组

28

29

磁盘组创建完成,退出ASM配置助手。

6 RAC主库安装Oracle数据库软件

集群框架GRID安装完成并开启后,剩下的所有操作均只需在节点1执行即可,其余节点会自动完成配置同步。接下来登入节点1的oracle账户,开始oracle数据库软件的安装。

如同验证grid先决条件一样,先运行验证数据库软件的先决条件(如果按照之前的准备工作做下来,应该还是只有DNS检查失败,可以忽略):

#仅节点1执行

[grid@cheastrac01:grid]./ stage -pre dbinst -n rac1,rac2 -verbose

转入解压安装文件后产生的database目录,执行runInstaller脚本开始安装:

#仅节点1执行

[oracle@cheastrac01:database]export LANG=en_US

[oracle@cheastrac01:database]./runInstaller

接着就会弹出图形安装向导界面:

30

31

这里选择Install databases software only,数据库稍后手动创建

选择只安装数据库软件,安装完后手动创建数据库

32

点击SSH Connectivity,输入oracle密码后点击Setup来配置oracle用户的双击互信

33

34

确保这里的路径和/home/oracle/.bash_profile里设置的路径一致

35

需要按照程序包

36

[root@rac1 app]# /u01/oracle/product/11.2.0/dbhome_1/

两个节点都需要执行

完成后点击确定,等待安装完成即可

7 RAC主库创建数据库实例

[oracle@rac1 Disk1]$ dbca

12. 进入配置助手欢迎页面,选择Oracle集群数据库,Next。

37

2. 选择创建数据库,NEXT。

3. 选择一般用途或事务处理NEXT。

38

4. 输入实例名,权限节点,NEXT。

5. 默认,点击next

39

6. 为所有用户设置统一密码,点击 next

设置未wyq123456

40

7. 选择ASM 存储方式,并选择相应的磁盘组,点击 next

注:如果此处无法找到“ASM DISKGROUP”,使用root用户,则执行以下操作,然后再次执行“dbca”;

[root@rac1 ~]# /u01/app/grid/product/11.2.0/crs_1/bin

[root@rac1 ~]# chmod +s oracle

弹出ASM 用户密码窗口,输入在安装 grid 时设置的密码

41

选择闪回磁盘组,勾选归档,后续数据库启动后开启也可以。生产库才开,测试库不开

42

根据需要选择是否需要安装样本schema(通常练习安装,生产不安装),下一步:

使用自动内存管理

43

内存配置:选择典型配置,内存占用配置为70%左右,启用自动内存管理;

size配置:块大小默认。最大并发进程数(关联最大并发会话连接数)通常设置为CPU核数的3倍,也可适当增减

获取逻辑核数

cat /proc/cpuinfo | grep 'model name' | wc -l

44

字符集需向开发索取。

显示概览,默认不变,点击 next

设置数据库存储相关参数,保持默认即可

点击finish

45

出现安装概要

点击ok,开始安装过程

46

等待一段时间后,安装结束,弹出如下界面

配置完成,数据库相关账号密码默认只启用SYS和SYSTEM账号,其他账号被锁定,如需解47

锁/锁定或者更改密码的需要,可以打开账号配置页面进行配置。

在Oracle RAC中,配置完数据库后会自动配置监听器(无论配置多少实例,GRID都会自动配置监听器),所以无需再进行监听器的配置。

8 RAC数据库管理工作

8.1RAC的启停

oracle rac默认会开机自启动,如需维护时可使用以下命令:

3.1 关闭:

crsctl stop cluster 停止本节点集群服务

crsctl stop cluster –all 停止所有节点服务

3.2 开启

crsctl start cluster 开启本节点集群服务

crsctl start cluster –all 开启所有节点服务

注:以上命令需以 root用户执行

8.2 RAC检查运行状况

以grid 用户运行

[grid@rac1 ~]$ crsctl check cluster

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-Database检查例状态

[oracle@rac1 ~]$ srvctl status database -d orcl

Instance rac1 is running on node rac1

Instance rac2 is running on node rac2

检查节点应用状态及配置

[oracle@rac1 ~]$ srvctl status nodeapps

[oracle@rac1 ~]$ srvctl config nodeapps -a -g -s -查看数据库配置

[oracle@rac1 ~]$ srvctl config database -d orcl -a

检查 ASM状态及配置

[oracle@rac1 ~]$ srvctl status asm

ASM is running on rac1,rac2

[oracle@rac1 ~$ srvctl config asm -a

ASM home: /oracle/11.2.0/grid

ASM listener: LISTENER

ASM is enabled.

检查 TNS的状态及配置

48

[oracle@rac1 ~]$ srvctl status listener

Listener LISTENER is enabled

Listener LISTENER is running on node(s): rac1,rac2

[oracle@rac1 ~]$ srvctl config listener -a

Name: LISTENER

Network: 1, Owner: grid

Home: /oracle/11.2.0/grid on node(s) rac2,rac1

End points: TCP:1521

检查 SCAN 的状态及配置

[oracle@rac1 ~]$ srvctl status scan

SCAN VIP scan1 is enabled

SCAN VIP scan1 is running on node rac1

[oracle@rac1 ~]$ srvctl config scan

SCAN name: omain, Network:

1/192.168.1.0/255.255.255.0/eth0

SCAN VIP name: scan1, IP:

/omain

检查 VIP的状态及配置

[oracle@rac1 ~]$ srvctl status vip -n rac1

VIP rac1-vip is enabled

VIP rac1-vip is running on node: rac1

[oracle@rac1 ~]$ srvctl status vip -n rac2

VIP rac2-vip is enabled

VIP rac2-vip is running on node: rac2

[oracle@rac1 ~]$ srvctl config vip -n rac1

VIP exists.:rac1

VIP exists.: /rac1-vip/192.168.11.14/255.255.255.0/eth0

[oracle@rac1 ~]$ srvctl config vip -n rac2

VIP exists.:rac2

VIP exists.: /rac2-vip/192.168.15/255.255.255.0/eth0

8.3 测试验证

安装后操作

手动关闭crs

在任意节点上执行

[oracle@db2 ~]$ crs_stop–all

手动启动crs

[oracle@db2 ~]$ crs_stop–all

49

查看服务状态,在每个节点上,执行crs_stat –t -v

本文标签: 配置安装执行节点磁盘