ORACLE LINUX 7.7 安装ORACLE 11.2.0.4.0 RAC

环境:oracle linux7.7,安装系统时需双网卡,接心跳线。

 节点一(rac1):
  网卡一:10.121.116.91
  网卡二:192.168.1.101
 节点二(rac2):
  网卡一:10.121.116.92
  网卡二:192.168.1.103

关闭防火墙

  systemctl stop firewalld

  systemctl disable firewalld

1.挂载镜像,配置本地yum(两个节点都要操作):

mkdir /mnt/cdrom

mount /dev/sr0 /mnt/cdrom/
mv /etc/yum.repos.d /etc/yum.repos.d.bak
mkdir /etc/yum.repos.d
vi /etc/yum.repos.d/public-yum-ol7.repo

[CDROM]
name=isofile
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
gpgkey=file:///mnt/RPM-GPG-KEY-oracle


yum clean all
yum makecache

2.修改主机名:(11.2.0.4要求主机名小写)

vim /etc/hostname
rac1

3.修改hosts文件

vim /etc/hosts

127.0.0.1   localhostlocalhost.localdomain localhost4 localhost4.localdomain4
::1localhostlocalhost.localdomain localhost6 localhost6.localdomain6

#rac1
10.121.116.91    rac1
10.121.116.93    rac1-vip
192.168.1.101    rac1-priv 
#rac2
10.121.116.92    rac2
10.121.116.94    rac2-vip
192.168.1.103    rac2-priv 
#scan-cluster
10.121.116.95    scan-cluster

4.配置内核参数

vim /etc/sysctl.conf
fs.aio
-max-nr = 1048576 fs.file-max = 6815744
kernel.shmall = 16777216 kernel.shmmax = 68719476735 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 = 1048586

sysctl -p

5.修改limits

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

6.修改/etc/pam.d/login文件

vim /etc/pam.d/login
    加入如下内容:
session required pam_limits.so

7.修改/etc/profile

vim /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 umask 022 fi

8.禁用selinux

vim /etc/selinux/config
    把SELINUX=enforcing改为SELINUX=disabled

9.添加组和用户

groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 505 asmoper
groupadd -g 506 asmdba
useradd -g oinstall -G dba,asmdba,oper oracle
useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

passwd oracle
passwd grid

10.创建目录

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

11.配置 grid 和 oracle 用户的环境变量

vim /home/oracle/.bash_profile

export ORACLE_SID=rac1 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export LD_LIBRARY_PATH=$ORACLE_HOME/lib export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS" export TMP=/tmp export TMPDIR=$TMP export PATH=$PATH:$ORACLE_HOME/bin

source /home/oracle/.bash_profile
vim /home/grid/.bash_profile

export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export PATH=$ORACLE_HOME/bin:$PATH

source /home/grid/.bash_profile

rac2上重复此操作。注意:另外一台数据库实例名须做相应修改:(rac2/+ASM2)

12.安装依赖:

yum install gcc gcc-c++ glibc* glibc-devel* libgcc* libstdc++* libstdc++-devel* make sysstat -y
yum install -y compat-libstdc*
yum install -y unixODBC*
yum install -y compat-libcap*
yum install -y libcap*
yum install libaio-devel
yum install xdpyinfo
yum install perl-Env
yum install -y smartmontools
yum install elfutils-libelf-devel
yum install unzip

13.配置互相信任,grid/oracle用户都需要

切换到oracle用户:
rac1:
ssh-keygen -t rsa [这里一路回车就可以了]
cat ~/.ssh/id_rsa.pub  >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_rsa.pub  >> ~/.ssh/authorized_keys[输入yes]
ssh-copy-id oracle@rac2[将本地公钥追加到authorized_keys上]
ssh rac2 date
只要不再提示输入密码就成功了。
rac2:
ssh-keygen -t rsa [这里一路回车就可以了]
cat ~/.ssh/id_rsa.pub  >> ~/.ssh/authorized_keys
ssh rac1 cat ~/.ssh/id_rsa.pub  >> ~/.ssh/authorized_keys[输入yes]
ssh-copy-id oracle@rac1       [将本地公钥追加到authorized_keys上]
ssh rac1 date
只要不再提示输入密码就成功了。
grid用户重复此步骤,把oracle改为grid即可。

14.配置共享存储,这里用的是3par8400,已在3par管理软件中划好磁盘并映射到主机,只需格式化即可

fdisk -l
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
fdisk /dev/sdf
fdisk /dev/sdg
fdisk /dev/sdh
fdisk /dev/sdi
fdisk /dev/sdj
fdisk /dev/sdk
fdisk /dev/sdl

fdisk /dev/sdc表示要对/dev/sdc磁盘进行格式化,其中,输入的命令分别表示:
n表示新建1个分区;
p表示分区类型选择为primary partition 主分区;
1表示分区编号从1开始;
起始、终止柱面选择默认值,即1和500;
w表示将新建的分区信息写入硬盘分区表。

15.配置ASM磁盘(需要上传并安装如下三个依赖包):

rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm 
rpm -ivh oracleasm-support-2.1.8-1.el6.x86_64.rpm 
rpm -ivh oracleasmlib-2.0.4-1.el6.x86_64.rpm

执行如下命令

oracleasm configure -i命令进行配置时,用户配置为grid,组为asmadmin,启动ASM library driver驱动服务,并且将其配置为随着操作系统的启动而自动启动。

oracleasm configure -i

Configuring the Oracle ASM library driver.
 
This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.
 
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
配置完成后,记得执行 oracleasm init命令来加载oracleasm内核模块。
oracleasm init
Creating
/dev/oracleasm mount point: /dev/oracleasm Loading module "oracleasm": oracleasm Configuring "oracleasm" to use device physical block size Mounting ASMlib driver filesystem: /dev/oracleasm

在rac1创建共享盘:

oracleasm createdisk OCR1 /dev/sdc1 
oracleasm createdisk OCR2 /dev/sdd1 
oracleasm createdisk OCR3 /dev/sde1 
oracleasm createdisk FRA /dev/sdf1 
oracleasm createdisk DATA1 /dev/sdg1 
oracleasm createdisk DATA2 /dev/sdh1 
oracleasm createdisk DATA3 /dev/sdi1 
oracleasm createdisk DATA4 /dev/sdj1 
oracleasm createdisk DATA5 /dev/sdk1 
oracleasm createdisk DATA6 /dev/sdl1 

在rac2扫描磁盘:

oracleasm scandisks

Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
Instantiating disk "OCR1"
Instantiating disk "OCR2"
Instantiating disk "OCR3"
Instantiating disk "FRA"
Instantiating disk "DATA1"
Instantiating disk "DATA2"
Instantiating disk "DATA3"
Instantiating disk "DATA4"
Instantiating disk "DATA5"
Instantiating disk "DATA6"

16.安装grid

  上传并解压安装包

unzip p13390677_112040_Linux-x86-64_1of7.zip 
unzip p13390677_112040_Linux-x86-64_2of7.zip 
unzip p13390677_112040_Linux-x86-64_3of7.zip

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

 使用grid用户进入到解压目录 

cd /u01/app/grid/
验证:
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose

安装Grid Infrastructure

1.安装流程

只需要在一个节点上安装即可,会自动复制到其他节点中,这里在rac1中安装。
进入图形化接口,在grid用户下进行安装

安装之前进入grid下rpm目录安装一个包(需在root用户下): 

cd /u01/app/grid/rpm/
rpm -ivh cvuqdisk-1.0.9-1.rpm 

再到grid用户/u01/app/grid/下执行./runInstaller 

cd /u01/app/grid/
export DISPLAY=IP:0.0
./runInstaller

跳过更新

选择安装集群

 选择自定义安装

 选择语言为English

 

定义集群名字,SCAN Name 为hosts中定义的scan-cluster,取消GNS

 界面只有第一个节点rac1,点击“Add”把第二个节点rac2加上

 

 选择网卡

 

 

 配置ASM实例需要为具有sysasm权限的sys用户,具有sysdba权限的asmsnmp用户设置密码,这里设置统一密码。

yes即可

 

 不选择智能管理。

 

检查ASM实例权限分组情况,默認既可。

 选择grid软件安装路径和base目录,默認既可。

 

选择grid安装清单目录,默認既可。

 环境检测出现dervice checks for asm警告,我並不是通過udev配置asm,可忽略。resolv.conf错误,是因为没有配置DNS,可以忽略。

 

安装grid概要

 

 提示需要root用户依次执行脚本orainstRoot.sh ,root.sh (一定要先在rac1执行完脚本后,才能在其他节点执行)。

注意:RHEL 7 安装oracle rac 11.2.0.4执行root.sh会报错ohasd failed to start 报错原因:因为RHEL 7使用systemd而不是initd运行进程和重启进程,而root.sh通过传统的initd运行ohasd进程。

解决方法:
在RHEL 7中ohasd需要被设置为一个服务,在运行脚本root.sh之前。
以root用户创建服务文件

touch /usr/lib/systemd/system/ohas.service
chmod 777 /usr/lib/systemd/system/ohas.service

将以下内容添加到新创建的ohas.service文件中

vim /usr/lib/systemd/system/ohas.service
[Unit]
Description=Oracle High Availability Services
After=syslog.target

[Service]
ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple
Restart=always

[Install]
WantedBy=multi-user.target

以root用户运行下面的命令

systemctl daemon-reload
systemctl enable ohas.service
systemctl start ohas.service
systemctl status ohas.service
ohas.service正常运行即可依次执行脚本orainstRoot.sh ,root.sh
[root@rac1 rules.d]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@rac1 rules.d]# /u01/app/11.2.0/grid/root.sh
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/11.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
OLR initialization - successful
root wallet
root wallet cert
root cert export
peer wallet
profile reader wallet
pa wallet
peer wallet keys
pa wallet keys
peer cert request
pa cert request
peer cert
pa cert
peer root cert TP
profile reader root cert TP
pa root cert TP
peer pa cert TP
pa peer cert TP
profile reader pa cert TP
profile reader peer cert TP
peer user cert
pa user cert
Adding Clusterware entries to upstart
CRS-2672: Attempting to start 'ora.mdnsd' on 'rac1'
CRS-2676: Start of 'ora.mdnsd' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'rac1'
CRS-2676: Start of 'ora.gpnpd' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac1'
CRS-2672: Attempting to start 'ora.gipcd' on 'rac1'
CRS-2676: Start of 'ora.gipcd' on 'rac1' succeeded
CRS-2676: Start of 'ora.cssdmonitor' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'rac1'
CRS-2672: Attempting to start 'ora.diskmon' on 'rac1'
CRS-2676: Start of 'ora.diskmon' on 'rac1' succeeded
CRS-2676: Start of 'ora.cssd' on 'rac1' succeeded

ASM created and started successfully.

Disk Group DATA created successfully.

clscfg: -install mode specified
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4256: Updating the profile
Successful addition of voting disk 75df39da21084f84bf866b66b29c3ce3.
Successfully replaced voting disk group with +DATA.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   75df39da21084f84bf866b66b29c3ce3 (ORCL:VOL1) [DATA]
Located 1 voting disk(s).
CRS-2672: Attempting to start 'ora.asm' on 'rac1'
CRS-2676: Start of 'ora.asm' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.DATA.dg' on 'rac1'
CRS-2676: Start of 'ora.DATA.dg' on 'rac1' succeeded
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
在rac2上執行:
[root@rac2 rpm]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@rac2 rpm]# /u01/app/11.2.0/grid/root.sh
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/11.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
OLR initialization - successful
Adding Clusterware entries to upstart
CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node rac1, number 1, and is terminating
An active cluster was found during exclusive startup, restarting to join the cluster
Configure Oracle Grid Infrastructure for a Cluster ... succeeded

完成脚本后,点击OK,进行下一步。

 

posted @ 2021-07-22 11:55  玄澈  阅读(770)  评论(0编辑  收藏  举报