当前位置: 代码迷 >> 综合 >> linux redhat6 Oracle11g rac +lvm +asm安装详细过程 总结经验
  详细解决方案

linux redhat6 Oracle11g rac +lvm +asm安装详细过程 总结经验

热度:36   发布时间:2024-01-25 03:31:23.0

linux redhat6 Oracle11g rac +lvm +asm安装详细过程 总结经验


安装环境
主操作系统:windows 10
虚拟机VMware 15:两台Red Hat Enterprise linux 6.10
装包:Oracle Database software: Oracle11gR2
Cluster software: Oracle grid infrastructure 11gR2(11.2.0.4.0)
共享存储:ASM
网络配置
数据库(第一节点):
public ip:192.168.10.100
private ip:192.168.20.11
virtual ip:192.168.10.103
scan ip:192.168.10.105
数据库SID:acdm1
数据文件位置:+DATA
OCR:+OCR
数据库(第二节点):
public ip:192.168.10.102
private ip:192.168.20.22
virtual ip:192.168.10.104
scan ip:192.168.10.105
数据库SID:acdm2
数据文件位置:+DATA
OCR:+OCR

环境配置

配置根目录逻辑卷(双节点)

#只是为了练习安装oracle的朋友可以直接跳过此步
#以下操作第一节点与第二节点都要操作
两节点各增加磁盘80g

reboot #重启虚拟机

fdisk -l查看分区情况
我新加的磁盘是/dev/sdb1,要看好自己的新加磁盘名称。

关闭swap交换区
[root@localhost Desktop]# freetotal       used       free     shared    buffers     cached
Mem:       1905164    1001764     903400       3652      32040     598392
-/+ buffers/cache:     371332    1533832
Swap:      1048572          0    1048572

swap交换分区正在使用
#关闭所有交换分区/并且显示详细信息

[root@localhost Desktop]# swapoff -av
swapoff on /dev/sda3
[root@localhost Desktop]# freetotal       used       free     shared    buffers     cached
Mem:       1905164    1001256     903908       3652      32180     598548
-/+ buffers/cache:     370528    1534636
Swap:            0          0          0
划分新分区

把刚才加入的80G硬盘建立分区

Command (m for help): n
Command actione   extendedp   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-10443, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-10443, default 10443): 
Using default value 10443
Command (m for help): w
The partition table has been altered!
新增物理卷
[root@localhost Desktop]# pvcreate /dev/sdb1Physical volume "/dev/sdb1" successfully created
新增卷组
[root@localhost Desktop]#vgcreate lvm2020 /dev/sdb1
Volume group "lvm2020" successfully created
新增逻辑卷 用于新的根目录
[root@localhost Desktop]# lvcreate -L 79G -n lv2020 lvm2020Logical volume "lv2020" created.
[root@localhost Desktop]#mkfs -t ext4 /dev/lvm2020/lv2020

######新建/mnt/usb目录用于挂载lv2020

[root@localhost Desktop]#mkdir /mnt/usb
[root@localhost Desktop]#mount /dev/lvm2020/lv2020 /mnt

######用dump把根目录备份到/mnt/usb
如果没有dump命令就安装一下,如果是新的建的虚拟机配置一下yum源

[root@localhost Desktop]#yum -y install dump*
[root@localhost Desktop]#dump /mnt/usb/root.bak /

还原root.bak

[root@localhost Desktop]#restore -rf /mnt/root.bak
修改启动引导配置文件 /boot/grub/grub.conf和 文件系统配置表 /ect/fstab中根目录的引导分区的id。

查看一下新加逻辑卷lv2020的uuid

[root@localhost Desktop]#blkid
vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Jan 8 06:23:22 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=56125f64-8d90-4c84-9723-cb98db8ab8f6 /                       ext4    defaults        1 1
UUID=8bec9b72-3c54-49a1-93a1-0e781e393a12 /boot                   ext4    defaults        1 2
UUID=165084df-c6d7-4f68-991d-90fd96f2c8e0 swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda2
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux 6 (2.6.32-754.el6.x86_64)root (hd0,0)kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=UUID=56125f64-8d90-4c84-9723-cb98db8ab8f6 rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quietinitrd /initramfs-2.6.32-754.el6.x86_64.img

重启虚拟机并查看根目录挂载分区

reboot
df -Th
[root@localhost Desktop]# df -Th
Filesystem           Type     Size  Used Avail Use% Mounted on
/dev/mapper/lvm2020-lv2020ext4      78G  5.3G   69G   8% /

配置hosts文件(双节点)

vim /etc/hosts

添加映射
根据自己设定的ip 与主机名而设定/例如我的主机名是orarac1 orarac2

#------public ip-------------192.168.10.100    orarac1192.168.10.102    orarac2#------private ip-------------192.168.20.11   orarac1-priv192.168.20.22   orarac2-priv#------vip ip-----------------192.168.10.103     orarac1-vip192.168.10.104     orarac2-vip  #------scan ip---------------192.168.10.105    scan-ip

创建组/用户grid和oracle(两节点)

groupadd -g 1000 oinstall
groupadd -g 1100 asmadmin
groupadd -g 1200 dba
groupadd -g 1300 asmdba
groupadd -g 1301 asmoper
useradd -u 1100 -g oinstall -Gasmadmin,asmdba,asmoper -d /home/grid grid
useradd -u 1101 -g oinstall -G dba,asmdba-d /home/oracle oracle
echo grid | passwd --stdin grid
echo oracle | passwd --stdin oracle

创建目录与设定权限(两节点)

mkdir -p/u01/app/oracle/product/11.2.0.4/db_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
chmod -R 775 /u01/app/oracle
mkdir -p /u01/app/grid/product/11.2.0.4
chown -R grid:oinstall /u01/app/grid
chmod -R 775 /u01/app/grid

配置limitsconf文件(两节点)

vim /etc/security/limits.d/90-nproc.conf

找到这行注掉

#* soft nproc 1024 加上注释#
vim /etc/security/limits.conf
oracle              soft    nproc  2047
oracle              hard    nproc  16384
oracle              soft    nofile 1024
oracle              hard    nofile 65536
oracle              soft    stack  10240grid                soft    nproc  2047
grid                hard    nproc  16384
grid                soft    nofile 1024
grid                hard    nofile 65536
grid                soft    stack  10240

在这里插入图片描述

配置sysctl.conf文件(两节点)

vim /etc/sysctl.conf

增加内核配置

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 805306368
kernel.shmmax = 3221225472
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

在这里插入图片描述执行以下命令生效配置

sysctl -p

修改登录配置文件(两节点)

vim /etc/profile

增加:

if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi

执行以下命令生效参数

source /etc/profile

修改/dev/shm (两节点)

vim /etc/fstab
tmpfs                  /dev/shm                tmpfs   defaults,size=3146641408      

在这里插入图片描述重新挂载一下shm

mount -o remount /dev/shm

停掉以下服务(两节点)

chkconfig autofs off
chkconfig acpid off
chkconfig sendmail off
chkconfig cups-config-daemon off
chkconfig cpus off
chkconfig xfs off
chkconfig lm_sensors off
chkconfig gpm off
chkconfig openibd off
chkconfig pcmcia off
chkconfig cpuspeed off
chkconfig nfslock off
chkconfig ip6tables off
chkconfig rpcidmapd off
chkconfig apmd off
chkconfig sendmail off
chkconfig arptables_jf off
chkconifg microcode_ctl off
chkconfig rpcgssd off
chkconfig ntpd off
chkconfig iptables off
service iptables stop
service ip6tables stop

修改SELINUX(两节点)

vim /etc/selinux/config

修改成SELINUX=disabled

配置root用户环境变量(两节点)

vim /root/.bash_profile

添加

export
ORACLE_HOME=/u01/app/grid/product/11.2.0.4export
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin
export PATH

配置grid用户环境变量(一节点)

vim  /home/grid/.bash_profile
export   ORACLE_SID=+ASM1export   ORACLE_BASE=/u01/app/grid/baseexport   ORACLE_HOME=/u01/app/grid/product/11.2.0.4export   PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATHexport   ORACLE_TERM=xtermexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/lib32

配置grid用户环境变量(二节点)

vim /home/grid/.bash_profile
export ORACLE_SID=+ASM2
export ORACLE_BASE=/u01/app/grid/base
export ORACLE_HOME=/u01/app/grid/product/11.2.0.4
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/lib32

上传安装包到服务器并解压(可以通过FTP上传至服务器)

p13390677_112040_Linux-x86-64_1of7.zip --database安装包1(上传到第1节点)上传到/home/oracle目录下

p13390677_112040_Linux-x86-64_2of7.zip --database安装包2(上传到第1节点)上传到/home/oracle目录下

p13390677_112040_Linux-x86-64_3of7.zip --grid安装包(上传到第1节点)上传到/home/grid目录下

pdksh-5.2.14-1.i386.rpm --ksh rpm包(上传到两节点)上传到/root目录下即可

用grid用户登录,解压grid安装包到grid家目录。

unzip p13390677_112040_Linux-x86-64_3of7.zip

用oracle用户登录,解压database安装包。

unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
  1. 安装所需软件包(两节点)
yum install binutils* compat-libstdc++-*
elfutils-libelf-* elfutils-libelf-devel-* gcc-* gcc-c++-* glibc-*
glibc-common-* glibc-devel-* glibc-headers-* libaio-* libaio-devel-* libgcc-*
libstdc++-* make-* sysstat-* unixODBC-* compat-libcap1-1.10-1.x86_64  -yexport CVUQDISK_GRP=oinstallrpm -ivh /home/grid/grid/rpm/cvuqdisk-1.0.9-1.rpmrpm -ivh pdksh-5.2.14-1.i386.rpm(两节点)### 创建VMwa

re共享磁盘

管理员权限打开CMD

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

vmware-vdiskmanager.exe -c -s 1000Mb -a
lsilogic -t 2 D:\虚拟机镜像\dd\ocr.vmdk

vmware-vdiskmanager.exe -c -s 1000Mb -a
lsilogic -t 2 D:\虚拟机镜像\dd\ocr2.vmdk

vmware-vdiskmanager.exe -c -s 1000Mb -a
lsilogic -t 2 D:\虚拟机镜像\dd\votingdisk.vmdk

vmware-vdiskmanager.exe -c -s 20000Mb -a
lsilogic -t 2 D:\虚拟机镜像\dd\data.vmdk

vmware-vdiskmanager.exe -c -s 10000Mb -a
lsilogic -t 2 D:\虚拟机镜像\dd\backup.vmdk

在两台虚拟机上添加新建好的磁盘,选择独立永久模式,虚拟机的控制设备节点改为SCSI 1:n通过关机添加下,顺序不能错:把之前文件里的scsi1相关的数删掉即可,把下列添加修改RAC1虚拟机目录下的vmx配置文件:

scsi1.present = “TRUE”

scsi1.virtualDev = “lsilogic”

scsi1.sharedBus = “virtual”

scsi1:1.present = “TRUE”

scsi1:1.mode = “independent-persistent”

scsi1:1.filename = " D:\虚拟机镜像\dd\ocr.vmdk"

scsi1:1.deviceType = “plainDisk”

scsi1:2.present = “TRUE”

scsi1:2.mode = “independent-persistent”

scsi1:2.filename = " D:\虚拟机镜像\dd\votingdisk.vmdk"

scsi1:2.deviceType = “plainDisk”

scsi1:3.present = “TRUE”

scsi1:3.mode = “independent-persistent”

scsi1:3.filename = " D:\虚拟机镜像\dd\data.vmdk"

scsi1:3.deviceType = “plainDisk”

scsi1:4.present = “TRUE”

scsi1:4.mode = “independent-persistent”

scsi1:4.filename = " D:\虚拟机镜像\dd\backup.vmdk"

scsi1:4.deviceType = “plainDisk”

scsi1:5.present = “TRUE”

scsi1:5.mode = “independent-persistent”

scsi1:5.filename = " D:\虚拟机镜像\dd\ocr2.vmdk"

scsi1:5.deviceType = “plainDisk”

disk.locking = “false”

diskLib.dataCacheMaxSize = “0”

diskLib.dataCacheMaxReadAheadSize = “0”

diskLib.DataCacheMinReadAheadSize = “0”

diskLib.dataCachePageSize = “4096”

diskLib.maxUnsyncedWrites = “0”

修改RAC2的vmx配置文件:

scsi1.sharedBus = “virtual”

disk.locking = “false”

diskLib.dataCacheMaxSize = “0”

diskLib.dataCacheMaxReadAheadSize =
“0”

diskLib.DataCacheMinReadAheadSize =
“0”

diskLib.dataCachePageSize =
“4096”

diskLib.maxUnsyncedWrites = “0”

gui.lastPoweredViewMode =
“fullscreen”

checkpoint.vmState = “”

usb:0.present = “TRUE”

usb:0.deviceType = “hid”

usb:0.port = “0”

usb:0.parent = “-1”

配置udev绑定(两节点)

首先查看共享磁盘。使用root用户登录。

sdb到sde为共享磁盘,共4个。在命令行执行以下脚本

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

查看绑定规则文件。

cat /etc/udev/rules.d/99-oracle-asmdevices.rules

在这里插入图片描述

启动udev。

start_udev

查看绑定好的asm磁盘。ll /dev/asm
在这里插入图片描述

用脚本进行配置互信(一节点)(root用户执行)

./sshUserSetup.sh -user grid -hosts "orarac1 orarac2" -advanced -noPromptPassphrase

(脚本在:/home/grid/grid/sshsetup)

./sshUserSetup.sh -user oracle -hosts "orarac1 orarac2" -advanced -noPromptPassphrase 

(脚本在:/home/oracle/database/sshsetup)

装Grid Infrastructure(第1节点)

使用grid用户登录。

cd /home/grid/grid./runInstaller

选择安装集群

在这里插入图片描述

选择自定义安装

选择语言默认English

在这里插入图片描述

选择语言默认English

在这里插入图片描述

定义集群名字,SCAN Name 为hosts中定义的scan-ip,取消GNS
在这里插入图片描述

界面只有第一个节点rac1,点击“Add”把第二个节点rac2加上,如果找不到orarac2 看一下hosts配置的主机民和network
在这里插入图片描述选择网卡

在这里插入图片描述

选择配置ASM方式共享
在这里插入图片描述

配置ASM这里选择前面配置的裸盘diskb、dickc 、diskf冗余方式为External即不冗余。因为是不用于,所以也可以只选一个设备。这里的设备是用来做OCR注册盘和votingdisk投票盘的。

在这里插入图片描述

配置ASM实例需要为具有sysasm权限的sys用户,具有sysdba权限的asmsnmp用户设置密码,这里设置统一密码为oracle,会提示密码不符合标准,点击OK即可
在这里插入图片描述

不选择智能管理

在这里插入图片描述

检查ASM实例权限分组情况

在这里插入图片描述
选择grid软件安装路径和base目录
在这里插入图片描述

选择grid安装清单目录

在这里插入图片描述

环境检测

在这里插入图片描述

环境检测出现resolv.conf错误,是因为没有配置DNS,可以忽略,出现ntp错误是因为没有配置ntp。
在这里插入图片描述

安装grid概要

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

安装grid完成,提示需要root用户依次执行脚本orainstRoot.sh ,root.sh (一定要先在rac1执行完脚本后,才能在其他节点执行)执行完成点击ok进行下一步安装

在这里插入图片描述

/u01/app/grid/oraInventory/orainstRoot.sh

/u01/app/grid/product/11.2.0.4/root.sh

这里出现一个错误,是因为没有配置resolve.conf,可以忽略点击ok,点击NEXT即可

在这里插入图片描述

安装完成

在这里插入图片描述

安装grid后的资源检查(到grid用户下执行命令)

检查crs状态 crsctl check crs

在这里插入图片描述
检查Clusterware资源 crs_stat -t -v
在这里插入图片描述
检查集群节点 olsnodes -n
在这里插入图片描述
检查两个节点上的Oracle TNS监听器进程

 `ps -ef|grep lsnr|grep -v 'grep'|grep -v 'ocfs'|awk '{print$9}'`

在这里插入图片描述
确认针对Oracle Clusterware文件的Oracle ASM功能:

如果在 Oracle ASM 上暗转过了OCR和表决磁盘文件,则以Grid Infrastructure 安装所有者的身份,使用给下面的命令语法来确认当前正在运行已安装的Oracle ASM

srvctl status asm -a

在这里插入图片描述

为数据和快速恢复去创建ASM磁盘组

在节点一下进行安装(用grid用户)

用asmca命令进行安装

这里看到安装grid时配置的OCR盘已存在

在这里插入图片描述

添加FRA盘使用asm-diskd、asm-diske裸盘

在这里插入图片描述

ASM磁盘组情况

在这里插入图片描述

ASM实例

在这里插入图片描述

安装Oracle databaser软件(RAC)

就在一节点上安装即可(到oracle用户下)

选择只安装数据库软件

在这里插入图片描述

选择Oracel Real Application Clusters database installation按钮(默认),确保勾选所有的节点

在这里插入图片描述

选择语言English

在这里插入图片描述

选择安装企业版软件

在这里插入图片描述

选择安装Oracle软件路径,其中ORACLE_BASE,ORACLE_HOME均选择之前配置好的

在这里插入图片描述

Oracle权限授予用户组

在这里插入图片描述

安装前的预检查

在这里插入图片描述

选择跳过错误即可

在这里插入图片描述

安装RAC的概要信息

在这里插入图片描述

在每个节点的root用户下执行脚本,执行脚本后点击ok即可

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

集群数据库

在节点一上用oracle用户执行dbca创建RAC数据库

在这里插入图片描述

选择创建数据库

在这里插入图片描述

选择自定义数据库

在这里插入图片描述

配置类型选择Admin-Managed,输入全局数据库名acdm,每个节点实例SID前缀为acdm,选择双节点

在这里插入图片描述

选择默认,配置OEM,启用数据库自动维护任务

在这里插入图片描述

选择字符集AL32UTF8

在这里插入图片描述

选择默认的数据存储信息

在这里插入图片描述
开始创建数据库,勾选生成数据库的脚本
在这里插入图片描述

数据库的概要信息,点击ok开始安装

在这里插入图片描述

开始组建安装

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

RAC维护

查看服务状态(在grid用户下执行)

crs_stat -t

检查集群运行状态

srvctl status database -d acdm

检查CRS状态

检查本地节点的CRS状态

crsctl check crs

检查集群的CRS状态

crsctl check cluster

在这里插入图片描述

  1. 查看集群中节点配置信息
    
olsnodes

在这里插入图片描述

olsnodes -n

在这里插入图片描述

olsnodes -n -i -s -t

在这里插入图片描述

查看集群的表决磁盘信息

crsctl query css votedisk

在这里插入图片描述

查看集群SCAN VIP 信息

srvctl config scan

查看集群SCAN Listener信息

srvctl config scan_listener

在这里插入图片描述