在VMware Workstation中一步一步搭建Oracle 21c rac集群环境
由于文章字数限制,多处内容有删减,全文请参考: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值校验,检查其完整性
- 21c数据库软件下载可以参考:https://www.xmmup.com/dbbao76zaidockerzhongzhixu2bujikeyongyouoracle-21chuanjing.html
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...
点击add
添加节点2后,点击next
默认选中了不安装GIMR,我们也暂时不安装MIMR库:
修改磁盘路径为“/dev/asm*
”就可以找到ASM磁盘了。
忽悠所有错误继续安装
分别在节点1和节点2上执行:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/21.3.0/grid/root.sh
此时回到界面点击OK,继续运行:
最后集群校验报错,看了一下是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
6.4、创建数据库
[oracle@raclhr-21c-n1 ~]$ export DISPLAY=192.168.59.1:0.0
[oracle@raclhr-21c-n1 ~]$ dbca
七、静默安装集群和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
- 点赞
- 收藏
- 关注作者
评论(0)