Oracle11g RAC For Centos 6 安装步骤

说明:本文章内容源于“老毕”老师,在这做个笔记加深印象 ,自用,侵权删

Oracle RAC的架构简介

在这里插入图片描述
RAC由至少两个节点组成,节点之间通过公共网络和私有网络连接,其中私有网络的功能是实现节点之间的通信,而公共网络的功能是提供用户的访问。在每个节点上分别运行一个Oracle数据库实例和一个监听器,分别监听一个IP地址上的用户请求,这个地址称为VIP(Virtual IP)。用户可以向任何一个VIP所在的数据库服务器发出请求,通过任何一个数据库实例访问数据库。如果某个节点出现故障,故障节点的VIP以及其他资源切换到另外一个节点上,这样可以保证用户仍然可通过这个VIP访问数据库。
在RAC环境中,多个数据库实例同时访问同一个数据库,每个数据库实例分别在不同的节点上运行,而数据库存放在共享的存储设备上。
在创建RAC集群时,一般来说,Clusterware软件和Oracle数据库软件安装在每个节点的本地文件系统中,而被所有节点访问的文件则存放在共享的存储设备中。如数据库文件、重做日志文件、控制文件、参数文件等。

Oracle11g RAC For Centos 安装步骤

系统安装
系统配置
集群软件安装
数据库安装
创建数据库

<1>系统安装,版本Centos6.10

操作系统空间 分配40G
内存6G
网卡2个
DATA磁盘组 分配4G
FRA磁盘组 分配2G
GRID磁盘组 分配1G

安装两个centos6.10系统,建议新建安装,而不用克隆安装,否则可能会出现网卡冲突等故障

<2>系统配置

2.1 配置hosts文件 2个节点
127.0.0.1 localhost

Public ip

192.168.1.21 rac1
192.168.1.22 rac2

Private ip

10.0.60.21 rac1-priv
10.0.60.22 rac2-priv

Virture ip

192.168.1.23 rac1-vip
192.168.1.24 rac2-vip

Scan ip

192.168.1.25 scanip

2.2 网卡和IP配置 2个节点

在这里插入图片描述
在这里插入图片描述
关机后添加第二块网卡。作为 private ip
在这里插入图片描述
在这里插入图片描述

在VMware 添加了网络适配器,centos6中, /etc/sysconfig/network-scripts下面默认是没有ifcfg-eth0的。 所以cp ifcfg-eth0 ifcfg-eth1 ,然后修改里面内容,重启网络service network restart,让其生成eth1的网卡信息。

节点1
[root@rac1 ~]# hostname
rac1

cd /etc/sysconfig/network-scripts
[root@rac1 network-scripts]# cat ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
HWADDR=00:0C:29:9A:00:A5
IPADDR=192.168.1.21
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes

[root@rac1 network-scripts]# cat ifcfg-eth1

DEVICE=eth1
BOOTPROTO=static
BROADCAST=10.0.60.255
#HWADDR=00:0C:29:9A:00:A5
IPADDR=10.0.60.21
NETMASK=255.255.255.0
NETWORK=10.0.60.1
ONBOOT=yes


节点2
[root@rac2 network-scripts]# cat ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
#HWADDR=00:0C:29:9A:00:A5
IPADDR=192.168.1.22
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes

[root@rac2 network-scripts]# cat ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
BROADCAST=10.0.60.255
#HWADDR=00:0C:29:D7:96:CA
IPADDR=10.0.60.22
NETMASK=255.255.255.0
NETWORK=10.0.60.0
ONBOOT=yes
TYPE=Ethernet

[root@rac2 network-scripts]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=rac2.abc.com
GATEWAY=192.168.1.250

核实 cd /etc/udev/rules.d下的70-persistent-net.rules 里面的MAC,要求和ipconfig的mac ,name一致。
在这里插入图片描述

2.3 添加共享磁盘,并修改配置

DATA磁盘组 分配4G
FRA磁盘组 分配2G
GRID磁盘组 分配1G
在VMware,在节点1 - rac1上添加硬盘设备
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
存放路径:
在这里插入图片描述
设置高级,DATA块 : 虚拟设备节点
在这里插入图片描述
FRA块:
在这里插入图片描述
grid块:
在这里插入图片描述
这里就是刚才创建盘符的文件
在这里插入图片描述
虚拟机rac1的共享磁盘配置完毕(只用配置rac1的),去到虚拟机rac1目录下,查看rac1.vmx文件,红框就是我们刚才添加的内容。
在这里插入图片描述
节点2 rac2的 rac2.vmx是没有上面那一段的,所以我们要复制过去。

#这一段拷贝到 rac2
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "E:\Ora11gRacDisk\data.vmdk"
scsi1:0.mode = "independent-persistent"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "E:\Ora11gRacDisk\fra.vmdk"
scsi1:1.mode = "independent-persistent"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "E:\Ora11gRacDisk\grid.vmdk"
scsi1:2.mode = "independent-persistent"
#这里面的内容,rac1和rac2都要有
diskLib.dataCacheMaxSize=0         
diskLib.dataCacheMaxReadAheadSize=0
diskLib.dataCacheMinReadAheadSize=0
diskLib.dataCachePageSize=4096     
diskLib.maxUnsyncedWrites = "0"

disk.locking = "FALSE"
scsi1.sharedBus = "virtual" 

disk.EnableUUID="TRUE"

注意不要把 floppy0.present = “FALSE” 复制到rac2 ,否则开机可能会报错
在这里插入图片描述
在这里插入图片描述

启动后2个虚拟机右下角就有4个硬盘的icon
在这里插入图片描述

#rac1和rac2都运行,查看刚才创建的:
fdisk -l

在这里插入图片描述

2.4 配置yum,安装依赖包 在2个节点操作

上传那3GB+的iso镜像,然后挂载

mount /opt/xxxx.iso /mnt -o loop

在这里插入图片描述

[root@rac1 ~]# vim /etc/yum.repos.d/my.repo
[Oracle]
name=oracle_install
baseurl=file:///mnt/
gpgcheck=0
enabled=1
# yum -y install compat-libstdc++-33 elfutils-libelf-devel gcc  gcc-c++ glibc-devel glibc-headers libaio-devel  libstdc++-devel  sysstat  unixODBC unixODBC-devel  compat-libcap1

2.5 修改内核参数以下操作RAC,每个节点同样进行

下面是shmmax,shmall值的计算方法
kernel.shmmax = 6G * 1024 * 1024 * 1024 * 80%
kernel.shmall = 6G * 1024 * 1024 * 1024 * 80% / (getconf PAGESIZE=4096)

cat >> /etc/sysctl.conf << EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 1258291     
kernel.shmmax = 5153960755  
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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
EOF

修改生效

/sbin/sysctl -p

2.6 配置全局变量,修改用户最大连接数,每个节点同样进行

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
EOF

2.7 配置oracle、grid用户的shell限制 ,每个节点同样进行

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

2.8 添加组和用户 2个节点

以下操作RAC每个节点同样进行:

groupadd -g 1000 oinstall
groupadd -g 1300 dba
groupadd -g 1301 oper
groupadd -g 1201 asmdba
groupadd -g 1200 asmadmin
groupadd -g 1202 asmoper
useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -s /bin/bash -c "Grid Infrastructure Owner" grid
passwd grid

useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
passwd oracle

2.9创建目录、授权 2个节点

mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
chown -R grid:oinstall /u01
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01

2.10 配置用户环境变量 2个节点

注意有不同的地方,双方的grid ORACLE_SID=+ASM1 和oracle ORACLE_SID=orcl1

oracle用户的改为 unqname=orcl 原笔记里面写的的 unqname=rac
在这里插入图片描述

节点1

su - grid
[grid@rac1 ~]$ vim .bash_profile 
alias ls="ll -at"
ORACLE_SID=+ASM1; export ORACLE_SID
JAVA_HOME=/usr/local/java;export JAVA_HOME
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm;export ORACLE_TERM
NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS";export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_LANG=american_america.ZHS16GBK
umask 022
su - oracle
$ vim .bash_profile
alias ls="ll -at"
ORACLE_SID=orcl1; export ORACLE_SID
ORACLE_UNQNAME=rac; export ORACLE_UNQNAME
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
umask 022

节点2

su - grid
[grid@rac2 ~]$ vim .bash_profile 
alias ls="ll -at"
ORACLE_SID=+ASM2; export ORACLE_SID
JAVA_HOME=/usr/local/java;export JAVA_HOME
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm;export ORACLE_TERM
NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS";export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_LANG=american_america.ZHS16GBK
umask 022
su - oracle
$ vi .bash_profile
alias ls="ll -at"
ORACLE_SID=orcl2; export ORACLE_SID
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
umask 022

让其生效,验证环境变量:
在这里插入图片描述

2.11 禁用NTP服务 2个节点

使用root用户

service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.bak

2.12 配置VNC服务 节点1操作

在rac1节点配置就可以 ,安装VNC是为了调取图形界面。
#修改/etc/inittab init 3 或者 init 5

[root@rac1 ~]# yum install tigervnc-server -y
#设置vnc的密码
[root@rac1 ~]#vncpasswd
[root@rac1 sysconfig]# cat /etc/sysconfig/vncservers 
VNCSERVERS="1:root"
VNCSERVERARGS[2]="-geometry 1200x800"

[root@rac1 .vnc]# service vncserver restart

在这里插入图片描述
使用vncviewer.exe来连接 , 里面的 :1 对应 ps -ef | grep vnc 的 /usr/bin/Xvnc :1 和 上面的 1:root
在这里插入图片描述
在这里插入图片描述

2.13 配置 RAC 节点以便可以使用 SSH 进行远程访问

验证已安装 SSH 软件

rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n"| grep ssh 

[root@rac1 ~]# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n"| grep ssh 
openssh-askpass-4.3p2-41.el5 (x86_64)
openssh-clients-4.3p2-41.el5 (x86_64)
openssh-4.3p2-41.el5 (x86_64)
openssh-server-4.3p2-41.el5 (x86_64)


[root@rac2 ~]# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n"| grep ssh 
openssh-askpass-4.3p2-41.el5 (x86_64)
openssh-clients-4.3p2-41.el5 (x86_64)
openssh-4.3p2-41.el5 (x86_64)
openssh-server-4.3p2-41.el5 (x86_64)

2.14 配置节点互信

该脚本内容过多,放个共享连接:文档:配置节点互信脚本_sshUserSetup.sh.txt
链接:http://note.youdao.com/noteshare?id=0d99a23ba4ddcf6531f3286fbf3d24ed&sub=A3B07A922A72458887F44A7F35140D06

配置互信 (因为安装集群,双方系统都有文件的交互/拷贝,所以要做节点互信)
#-hosts "rac1 rac2" 对应的是 /etc/hosts 下面的 IP和域名映射
#在机器rac1执行脚本,途中会让你输入grid / oracle 用户的密码
./sshUserSetup.sh -user grid -hosts "rac1 rac2" -advanced -exverify -confirm -noPromptPassphrase
./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -advanced -exverify -confirm -noPromptPassphrase

验证互信
#ssh rac1 "date;hostname" 
#ssh rac2 "date;hostname" 

在这里插入图片描述

2.15 共享存储配置

两个节点都要做此操作
之前添加的共享磁盘是/dev/sdb dbc sdd

fdisk -l

在这里插入图片描述

#下面指令是获取scsi_id的
scsi_id --page=0x83 --whitelisted --device=/dev/sdb
scsi_id --page=0x83 --whitelisted --device=/dev/sdc
scsi_id --page=0x83 --whitelisted --device=/dev/sdd

集群rac1 的 scsi_id ,理论上跟rac2一样的

[root@rac1 sw]# scsi_id --page=0x83 --whitelisted --device=/dev/sdc
36000c2971efb7ddde9ffffee799a1306
[root@rac1 sw]# scsi_id --page=0x83 --whitelisted --device=/dev/sdd
36000c293f37176b61b696ffd57df44d2
[root@rac1 sw]# scsi_id --page=0x83 --whitelisted --device=/dev/sde
36000c29124324ff494ccdc909e4f8c2b

集群rac2的scsi_id

[root@rac2 ~]# scsi_id --page=0x83 --whitelisted --device=/dev/sdc
36000c2971efb7ddde9ffffee799a1306
[root@rac2 ~]# scsi_id --page=0x83 --whitelisted --device=/dev/sdd
36000c293f37176b61b696ffd57df44d2
[root@rac2 ~]# scsi_id --page=0x83 --whitelisted --device=/dev/sde
36000c29124324ff494ccdc909e4f8c2b
#cd /etc/udev/rules.d
#新建文件99-oracleasm.rules做对应修改。一块磁盘对应一行记录,RESULT写上面对应的scsi_id(前面内容一样的,主要是这个不同)
#vim 99-oracleasm.rules 
KERNEL=="sd*", PROGRAM="scsi_id --page=0x83 --whitelisted --device=/dev/%k",RESULT=="36000c29709ac135c1b801f2cdae049e3", OWNER:="grid", GROUP:="asmadmin"
KERNEL=="sd*", PROGRAM="scsi_id --page=0x83 --whitelisted --device=/dev/%k",RESULT=="36000c299fe16717a6ef9c704508a2541", OWNER:="grid", GROUP:="asmadmin"
KERNEL=="sd*", PROGRAM="scsi_id --page=0x83 --whitelisted --device=/dev/%k",RESULT=="36000c29c4765803c5a5b1c4416390eb6", OWNER:="grid", GROUP:="asmadmin"

#start_udev

在这里插入图片描述

2.16 集群软件安装前环境检查

这一步检查,在安装集群的时候,图形化界面安装集群的时候,也会再次检测一次。

安装用于 Linux 的 cvuqdisk 程序包
上传: 3of7
在这里插入图片描述
在这里插入图片描述
解压unzip后,会生成一个 grid目录 ,进rpm目录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cvuqdisk RPM 包含在 Oracle Grid Infrastructure 安装介质上的 rpm 目录中。
Oracle Grid Infrastructure 介质已由 grid 用户解压缩到
rac1 节点的 /u01/sw/grid目录中。

  1. 找到 cvuqdisk RPM 程序包,位于 rac1 节点中安装介质的 rpm 目录下:
    [rac1]: grid/rpm/cvuqdisk-1.0.7-1.rpm

  2. 以 grid 用户帐户将 cvuqdisk 程序包从 rac1 复制到 rac2:
    [rac2]: grid/rpm/cvuqdisk-1.0.7-1.rpm

  3. 以 root 用户身份分别登录到两个节点:

  4. 设置环境变量 CVUQDISK_GRP,使其指向作为 cvuqdisk 的所有者所在的组(本文为 oinstall):

[root@rac1 rpm]# CVUQDISK_GRP=oinstall; export CVUQDISK_GRP  
  1. 在保存 cvuqdisk RPM 的目录中,使用以下命令在两个 Oracle RAC 节点上安装 cvuqdisk 程序包:
#rac1
[root@rac1 rpm]# CVUQDISK_GRP=oinstall; export CVUQDISK_GRP 
[root@rac1 rpm]# rpm -ivh cvuqdisk-1.0.7-1.rpm 
Preparing...                ########################################### [100%]
   1:cvuqdisk               ########################################### [100%]

#rac2
[root@rac2 ~]# CVUQDISK_GRP=oinstall; export CVUQDISK_GRP 
[root@rac2 ~]# rpm -ivh cvuqdisk-1.0.7-1.rpm 

切换到grid用户, 使用 CVU 验证硬件和操作系统设置
#校验硬件及操作系统全部通过
#安装前的校验
在这里插入图片描述

chmod 777 grid -R
[grid@rac1 ~]$ cd /u01/sw/grid
[grid@rac1 grid]$ ./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose 


[grid@rac1 grid]$./runcluvfy.sh stage -pre crsinst -fixup -n rac1,rac2 -verbose

检测途中失败提示:
在这里插入图片描述
可忽略的:
swap空间, pdksh包,resolv.conf(DNS)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

要手动处理的: shmall值过小 ,修改/etc/sysctl.conf 里的kernel.shmall 。两个节点都要改
在这里插入图片描述

校验的结果将显示在屏幕上。校验的内容包括硬件位数、内核位数、操作系统版本、
补丁级别、内存大小、交换空间大小、/tmp 目录的大小、安装目录的大小、公共网络、
私有网络、用户的对等关系、内核参数等。

从RAC 11.2开始,runcluvfy.sh 脚本增加了一个新的参数,即-fixup 。利用这个参数,可以产生另外一个脚本runfixup.sh 。
在这个脚本中包含一系列的操作系统命令,利用这个脚本可以对操作系统进行一定的修改,
使其满足RAC的安装条件,如修改一些内核参数、设置安装目录的权限等。
在对操作系统进行校验之后,以root 用户的身份执行脚本runfixup.sh,
就可以解决操作系统中一些尚不满足RAC安装条件的情况.

[grid@rac1 grid]$ ./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose 

<3集群软件安装>

3.1 载并解压缩 grid 软件

以 grid 用户身份解压缩 Oracle Grid Infrastructure 软件:

[grid@rac1 ~]$ mkdir -p /u01/sw
[grid@rac1 ~]$ cd /u01/sw

[grid@rac1 sw]$ unzip p13390677_112040_Linux-x86-64_3of7.zip

[root@rac1 oracle]# chown -R grid.oinstall grid
[root@rac1 oracle]# chmod -R 775 /u01/sw/grid

在这里插入图片描述

3.2 安装grid

用VNC连接,然后进行安装 ,切换到grid用户。

[grid@rac1 grid]# ./runInstaller 

[root@rac1 ~]# /u01/app/11.2.0/grid/root.sh

xhost + 查看能否调出图形界面,下面的输出文字表示可以。
在这里插入图片描述
下面是图形化界面安装步骤:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
scan name要写 /etc/hosts下的
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
添加完rac2节点后,选中这两个节点,点SSH connectivity,检查通过的话则为established ,之后next
在这里插入图片描述
自动列出当前网卡信息
在这里插入图片描述
存储选择 Oracle ASM
在这里插入图片描述
如果没有发现磁盘信息则更换磁盘路径
在这里插入图片描述
之后next
在这里插入图片描述
输入密码: (密码过于简单会出提示,可忽略)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面路径来自于我们之前设置好的环境变量,会自动识别到。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
step15 这里就跟之前预检测安装环境一样。这里选Ignore All ,然后点下一步
在这里插入图片描述
在这里插入图片描述
此时软件他是安装在 /u01/app/11.2.0/grip 下 , rac1和 rac2都有
在这里插入图片描述
安装途中,根据提示安装脚本。按顺序来执行 rac1 rac2
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
都执行成功后,点OK。

该错误可忽略:
在这里插入图片描述
在这里插入图片描述

3.3 创建ASM磁盘

切换为grid用户。

[grid@rac1 ~]$ asmca

DATA磁盘组
FRA磁盘组

ASM instance
在这里插入图片描述
Disk Group 点击create
在这里插入图片描述
创建DATA磁盘组
在这里插入图片描述
创建FRA磁盘组 (FRA用于存放归档文件的) 闪回区(Oracle Flash recovery area)
在这里插入图片描述
最终效果:
在这里插入图片描述

<4>安装数据库软件

安装完集群,集群相关的进程
在这里插入图片描述

4.1 上传并解压数据库软件

上传 1of7 和 2of7到服务器,然后按顺序 Unzip ,解压完之后生成了个 database的目录
在这里插入图片描述
在这里插入图片描述

[root@rac1 oracle]# chown -R oracle.oinstall database
[root@rac1 oracle]# chmod -R 775 /u01/sw/database

4.2 安装数据库软件

#su - oracle
$./runInstaller 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
SSH连接测试
在这里插入图片描述
在这里插入图片描述
下面路径来源于Oracle用户的环境变量: .bashrc内容下的
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

跟着指示执行脚本。 rac1 rac2
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<5>创建数据库

5.1 创建数据库

dbca

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择存放数据文件的路径
在这里插入图片描述
启用归档,FRA的
在这里插入图片描述

在这里插入图片描述
选个65%的内存
在这里插入图片描述
设置数据块大小,默认是 8kb
在这里插入图片描述
设置字符集 (UTF8 包含中文的,否则会出现乱码。 最好是创建的时候就指定编码,否则很难调整)
在这里插入图片描述
这块默认即可connection Mode
在这里插入图片描述
在生产环境可以设置大一些(这里就默认)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建进度,走到100%,他背后有个对话框,点exit即可
在这里插入图片描述

登录数据库:

sqlplus / as sysdba

在这里插入图片描述

END

猜你喜欢

转载自blog.csdn.net/Nightwish5/article/details/109716953