在VMware Workstation中一步一步搭建Oracle 21c rac集群环境

举报
小麦苗DB宝 发表于 2021/08/26 14:23:57 2021/08/26
【摘要】 一、rac安装规划 1.1、所需软件介绍 1.2、IP地址规划 1.3、操作系统本地磁盘分区规划 1.4、共享存储与ASM磁盘组规划 二、操作系统配置 三、配置共享存储 3.1、服务端配置 3.1.1、创建LVM 3.1.2、使用yum安装targetd和targetcli 3.1.3、使用targetcli创建设备 3.1.4、使用targetcli创建iqn和LUN 3.1.5、使用t...

由于文章字数限制,多处内容有删减,全文请参考:https://www.xmmup.com/zaicentos7-8shanganzhuangoracle-jiqunrac-21cxiangxiwanzhengban.html

一、rac安装规划

官网安装过程:https://docs.oracle.com/en/database/oracle/oracle-database/21/rilin/index.html

1.1、所需软件介绍

Oracle RAC不支持异构平台。在同一个集群中,可以支持具有速度和规模不同的机器,但所有节点必须运行在相同的操作系统。Oracle RAC不支持具有不同的芯片架构的机器。

序号 类型 内容 MD5
1 数据库 LINUX.X64_213000_db_home.zip 8ac915a800800ddf16a382506d3953db
2 集群软件 LINUX.X64_213000_grid_home.zip b3fbdb7621ad82cbd4f40943effdd1be
3 操作系统 CentOS-7.8-x86_64-DVD-2003.iso 16673979023254EA09CC0B57853A7BBD
4 虚拟机软件 VMware Workstation Pro 16.0.0 build-16894299
5 Xmanager Enterprise 4 Xmanager Enterprise 4,用于打开图形界面
6 SecureCRTPortable.exe Version 6.6.1 (build 289) ,带有SecureCRT和SecureFX,用于SSH连接和FTP上传

备注:

1、OS内存至少8G

2、安装OS和数据库前需要对下载好的安装包进行MD5值校验,检查其完整性

1.2、IP地址规划

从Oracle 11g开始,一共至少7个IP地址,2块网卡,其中public、vip和scan都在同一个网段,private在另一个网段,主机名不要包含下横线,如:RAC_01是不允许的;通过执行ifconfig -a检查2个节点的网卡名称必须一致。另外,在安装之前,公网、私网共4个IP可以ping通,其它3个不能ping通才是正常的。

从18c开始,scan建议至少3个。

节点/主机名 IP Address Interface Name 地址类型 注册位置 虚拟网卡适配器 操作系统网卡
raclhr-21c-n1 192.168.59.62 raclhr-21c-n1 Public /etc/hosts VMnet8(nat模式) ens33
raclhr-21c-n1 192.168.59.64 raclhr-21c-n1-vip Virtual /etc/hosts VMnet8(nat模式) ens33
raclhr-21c-n1 192.168.2.62 raclhr-21c-n1-priv Private /etc/hosts VMnet2(仅主机模式) ens34
raclhr-21c-n2 192.168.59.63 raclhr-21c-n2 Public /etc/hosts VMnet8(nat模式) ens33
raclhr-21c-n2 192.168.59.65 raclhr-21c-n2-vip Virtual /etc/hosts VMnet8(nat模式) ens33
raclhr-21c-n2 192.168.2.63 raclhr-21c-n2-priv Private /etc/hosts VMnet2(仅主机模式) ens34
192.168.59.66
192.168.59.67
192.168.59.68
raclhr-21c-scan SCAN /etc/hosts VMnet8(nat模式) ens33

1.3、操作系统本地磁盘分区规划

除了/boot分区外,其它分区均采用逻辑卷的方式,这样有利于文件系统的扩展。

序号 分区名称 大小 逻辑卷 用途说明
1 /u01 50G /dev/mapper/vg_orasoft-lv_orasoft_u01 oracle和grid的安装目录
2 /soft 20G /dev/mapper/VG_OS-lv_VG_OS_soft 存储软件,至少10G

1.4、共享存储与ASM磁盘组规划

序号 ASM磁盘名称 磁盘组名称 冗余方式 大小 用途 备注
1 /dev/asm-diskd
/dev/asm-diske
/dev/asm-diskf
OCR Normal 3G OCR+VOTINGDISK 最少1G
2 /dev/asm-diskg
/dev/asm-diskh
/dev/asm-diski
MGMT External 30G MGMT 最少30G,可以选择不安装GIMR组件
3 /dev/asm-diskj
/dev/asm-diskk
/dev/asm-disl
DATA External 45G 存储数据库数据文件
4 /dev/asm-diskm
/dev/asm-diskn
/dev/asm-disko
FRA External 30G 快速恢复区

二、操作系统配置

参考:https://www.xmmup.com/zaicentos7-8shanganzhuangoracle-jiqunrac-21cxiangxiwanzhengban.html

三、配置共享存储

参考:https://www.xmmup.com/zaicentos7-8shanganzhuangoracle-jiqunrac-21cxiangxiwanzhengban.html/3

3.1、服务端配置

3.1.1、创建LVM

3.1.2、使用yum安装targetd和targetcli

3.1.3、使用targetcli创建设备

3.1.4、使用targetcli创建iqn和LUN

3.1.5、使用targetcli创建acls

3.1.6、配置target监听IP和端口

3.1.7、保存配置

3.2、客户端配置

3.2.1、安装服务并启动

3.2.2、使用iscsiadm发现可用存储设备并登陆连接

3.2.3、创建并配置udev rules文件

四、数据库软件包准备

4.1、上传安装软件

打开SecureFX软件:

复制粘贴数据库文件到/soft目录下并等待上传完成。

注意,对安装包需要进行MD5值校验:

[root@raclhr-21c-n1 ~]# cd /soft
[root@raclhr-21c-n1 soft]# ll
total 5401812
-rw-r--r-- 1 root root 3109225519 Aug 16 09:58 LINUX.X64_213000_db_home.zip
-rw-r--r-- 1 root root 2422217613 Aug 16 09:57 LINUX.X64_213000_grid_home.zip
[root@raclhr-21c-n1 soft]# md5sum LINUX.X64_213000_grid_home.zip 
b3fbdb7621ad82cbd4f40943effdd1be  LINUX.X64_213000_grid_home.zip
[root@raclhr-21c-n1 soft]# md5sum LINUX.X64_213000_db_home.zip 
8ac915a800800ddf16a382506d3953db  LINUX.X64_213000_db_home.zip

4.2、解压软件

grid用户:

unzip LINUX.X64_213000_grid_home.zip  -d /u01/app/21.3.0/grid

oracle用户:

unzip LINUX.X64_213000_db_home.zip -d /u01/app/oracle/product/21.3.0/dbhome_1

只在节点1上进行解压即可。

👉 注意:

1、不要同时进行解压2个文件,否则可能有未预料到的错误

2、需要搜索一下解压是否有报错的地方,搜索关键词“error”

注意:18c解压后的文件所在目录就是grid home。所以解压的时候,就要把文件解压到之前定的GRID_HOME下。在12c R2之前是安装的时候,软件会自动复制过去。

五、安装前预检查

5.1、安装补丁包(cvuqdisk)

在安装RAC之前,经常会需要运行集群验证工具CVU(Cluster Verification Utility),该工具执行系统检查,确认当前的配置是否满足要求。

首先判断是否安装了cvuqdisk包:

rpm -qa cvuqdisk

如果没有安装,那么在2个节点上都执行如下命令进行安装该包:

export CVUQDISK_GRP=oinstall
cd /u01/app/21.3.0/grid/cv/rpm
rpm -ivh  cvuqdisk-1.0.10-1.rpm

传输到第2个节点上进行安装:

scp cvuqdisk-1.0.10-1.rpm root@raclhr-21c-n2:/soft

-- 节点2安装cvuqdisk包
export CVUQDISK_GRP=oinstall
rpm -ivh  /soft/cvuqdisk-1.0.10-1.rpm

5.2、配SSH互信,建立ssh等效性

sshUserSetup.sh在GI安装介质解压缩后的sshsetup目录下。下面两条命令在节点1上执行即可,在root用户下执行:

/u01/app/21.3.0/grid/oui/prov/resources/scripts/sshUserSetup.sh -user grid  -hosts "raclhr-21c-n1 raclhr-21c-n2" -advanced exverify -confirm
/u01/app/21.3.0/grid/oui/prov/resources/scripts/sshUserSetup.sh -user oracle  -hosts "raclhr-21c-n1 raclhr-21c-n2" -advanced exverify -confirm

输入yes及密码一路回车即可。

以oracle和grid用户在2个节点上都测试两节点连通性:

ssh raclhr-21c-n1 date
ssh raclhr-21c-n2 date
ssh raclhr-21c-n1-priv date
ssh raclhr-21c-n2-priv date

第二次执行时不再提示输入口令,并且可以成功执行命令,则表示SSH对等性配置成功。

5.3、cluster硬件检测–安装前预检查配置信息

在安装GRID之前,建议先利用CVU(Cluster Verification Utility)检查CRS的安装前环境。以grid用户运行:

su - grid
export CVUQDISK_GRP=oinstall
export CV_NODE_ALL=raclhr-21c-n1,raclhr-21c-n2
/u01/app/21.3.0/grid/runcluvfy.sh stage -pre crsinst -allnodes -fixup -verbose -method root

grid安装完成后还可以进行如下校验:

$ORACLE_HOME/bin/cluvfy stage  -pre crsinst -n all  -verbose -fixup

六、图形界面安装集群和db

安装之前重启一次OS,并检查网络和共享盘是否正确。

首先,打开Xmanager - Passive,如下:

6.1、安装grid

注意:以grid用户登录,然后运行下面这个脚本,和之前版本的grid安装有所不同:

[grid@raclhr-21c-n1 ~]$ export DISPLAY=192.168.59.1:0.0
[grid@raclhr-21c-n1 ~]$ /u01/app/21.3.0/grid/gridSetup.sh
Launching Oracle Grid Infrastructure Setup Wizard...

image-20210819162402248

点击add添加节点2后,点击next

默认选中了不安装GIMR,我们也暂时不安装MIMR库:

修改磁盘路径为“/dev/asm*”就可以找到ASM磁盘了。

忽悠所有错误继续安装

分别在节点1和节点2上执行:

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

此时回到界面点击OK,继续运行:

image-20210820085913198

最后集群校验报错,看了一下是dns和ntp的问题,可以忽略,继续安装:

6.2、安装db

[root@raclhr-21c-n1 ~]# su - oracle
Last login: Thu Aug 19 15:26:38 CST 2021 on pts/0
[oracle@raclhr-21c-n1 ~]$ cd $ORACLE_HOME
[oracle@raclhr-21c-n1 dbhome_1]$ export DISPLAY=192.168.59.1:0.0
[oracle@raclhr-21c-n1 dbhome_1]$ ./runInstaller 

执行完后,点击OK:

6.3、创建磁盘组

以 grid 用户执行 asmca 命令,创建DATA和FRA两个磁盘组。:

[root@raclhr-21c-n1 ~]# su - grid
Last login: Fri Aug 20 09:59:53 CST 2021
[grid@raclhr-21c-n1 ~]$ export DISPLAY=192.168.59.1:0.0
[grid@raclhr-21c-n1 ~]$ asmca

image-20210820104910029

6.4、创建数据库

[oracle@raclhr-21c-n1 ~]$ export DISPLAY=192.168.59.1:0.0
[oracle@raclhr-21c-n1 ~]$ dbca

image-20210820102206612

image-20210820102236149

image-20210820102301423

image-20210820102315811

image-20210820102428448

image-20210820104952537

image-20210820105243565

image-20210820105321476

image-20210820105405113

image-20210820105439128

image-20210820105717145

七、静默安装集群和db

安装之前重启一次OS,并检查网络和共享盘是否正确。

参考:https://www.xmmup.com/zaicentos7-8shanganzhuangoracle-jiqunrac-21cxiangxiwanzhengban.html/7

7.1、静默安装grid

参考:https://www.xmmup.com/zaicentos7-8shanganzhuangoracle-jiqunrac-21cxiangxiwanzhengban.html/7

7.2、静默安装db软件

参考:https://www.xmmup.com/zaicentos7-8shanganzhuangoracle-jiqunrac-21cxiangxiwanzhengban.html/7

7.3、创建DATA和FRA磁盘组

参考:https://www.xmmup.com/zaicentos7-8shanganzhuangoracle-jiqunrac-21cxiangxiwanzhengban.html/7

7.4、静默创建数据库

-- rac数据库
dbca -silent -ignorePreReqs  -ignorePrereqFailure  -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname rac21c  -sid rac21c \
-createAsContainerDatabase TRUE \
-sysPassword lhr -systemPassword lhr -dbsnmpPassword lhr \
-datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \
-storageType ASM \
-characterset AL32UTF8 \
-totalMemory 1024 \
-databaseType OLTP \
-emConfiguration none \
-nodeinfo raclhr-21c-n1,raclhr-21c-n2

-- 单实例
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname LHRCDB  -sid LHRCDB \
-createAsContainerDatabase TRUE \
-numberOfPDBs 1 \
-pdbName pdbxmm \
-pdbAdminPassword lhr \
-sysPassword lhr -systemPassword lhr \
-datafileDestination '/u01/app/oracle/oradata' \
-recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \
-redoLogFileSize 50 \
-storageType FS \
-characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \
-totalMemory 1024 \
-databaseType OLTP  \
-emConfiguration NONE

[oracle@raclhr-21c-n1 ~]$ sas

SQL*Plus: Release 21.0.0.0.0 - Production on Mon Aug 23 10:32:50 2021
Version 21.3.0.0.0

Copyright © 1982, 2021, Oracle. All rights reserved.

Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0

SYS@rac21c1> show pdbs

CON_ID CON_NAME                       OPEN MODE  RESTRICTED

     2 PDB$SEED                       READ ONLY  NO

## 7.5、创建PDB数据库

```sql
SYS@rac21c1> show parameter db_create_file_dest

NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
db_create_file_dest                  string                 +DATA
SYS@rac21c1> create pluggable database PDBLHR1 admin user lhr identified by lhr;

Pluggable database created.

SYS@rac21c1> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDBLHR1                        MOUNTED
SYS@rac21c1> alter pluggable database pdblhr1 open;

Pluggable database altered.

SYS@rac21c1> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDBLHR1                        READ WRITE NO
SYS@rac21c1>  alter pluggable database all save state;

Pluggable database altered.

[oracle@raclhr-21c-n1 ~]$ export ORACLE_PDB_SID=PDBLHR1
[oracle@raclhr-21c-n1 ~]$ sas

SQL*Plus: Release 21.0.0.0.0 - Production on Mon Aug 23 10:45:11 2021
Version 21.3.0.0.0

Copyright (c) 1982, 2021, Oracle.  All rights reserved.


Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0

SYS@rac21c1> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         3 PDBLHR1                        READ WRITE NO
SYS@rac21c1> show con_name

CON_NAME
------------------------------
PDBLHR1


[root@raclhr-21c-n1 ~]# crsctl status resource  -w "TYPE = ora.database.type" -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.rac21c.db
      1        ONLINE  ONLINE       raclhr-21c-n1            Open,HOME=/u01/app/o
                                                             racle/product/21.3.0
                                                             /dbhome_1,STABLE
      2        ONLINE  ONLINE       raclhr-21c-n2            Open,HOME=/u01/app/o
                                                             racle/product/21.3.0
                                                             /dbhome_1,STABLE
--------------------------------------------------------------------------------
[root@raclhr-21c-n1 ~]# crsctl status resource  -w "TYPE = ora.pdb.type" -t        
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.rac21c.pdblhr1.pdb
      1        ONLINE  ONLINE       raclhr-21c-n1            STABLE
      2        ONLINE  ONLINE       raclhr-21c-n2            STABLE
--------------------------------------------------------------------------------

八、修改基本配置

8.1、禁用crs和db的自启动

-- 禁用crs自启动
crsctl disable has

-- 禁用db自启动
crsctl modify resource ora.rac21c.db -attr AUTO_START=never -unsupported
crsctl stat res ora.rac21c.db -p | grep AUTO_START

8.2、修改SQL提示符

oracle和grid均修改:

cat >> $ORACLE_HOME/sqlplus/admin/glogin.sql <<"EOF"

set linesize 9999 pagesize 9999
set sqlprompt "_USER'@'_CONNECT_IDENTIFIER> "

EOF

参考

内容太多,放不下,部分内容有所删减,全文可以参考:https://www.xmmup.com/zaicentos7-8shanganzhuangoracle-jiqunrac-21cxiangxiwanzhengban.html

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。