如何配置Ubuntu Oracle高可用性,确保业务稳定运行的最佳方案是什么?

更新于
2026-09-30 23:54:14
5阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

Ubuntu 上 Oracle 高可用性方案概览

业务中断代表着直接的经济损失和客户信任下降。许多运维人员在搭建 Oracle 高可用时会遇到以下痛点:

  • 网络与存储配置复杂,私有 IP、公有 IP、虚拟 IP 易混淆;
  • 共享存储规划不到位导致 I/O 瓶颈或单点故障;
  • 故障切换测试缺失,一旦真实故障发生时手忙脚乱;
  • 环境变量、大页、内核参数调优繁琐,易遗漏导致性能下降。
如何配置Ubuntu Oracle高可用性,确保业务稳定运行的最佳方案是什么?

方案一这方面,基于 RAC 的本地高可用

1. 环境准备与痛点防范

痛点**:网络规划不当导致 VIP 漂移失败。

  • 为每个节点分配三类 IP:公有 IP、私有 IP、虚拟 IP。话说回来,
  • 在 /etc/hosts 中统一记录所有节点的 hostname 与对应 IP。避免 DNS 延迟带来的切换延迟。
  • 使用 bonding 或团队网卡实现链路聚类,提高网络容错能力。

2. 共享存储配置

痛点**:存储单点或 I/O 性能不足导致集群不稳定。

  • 采用 SAN/NAS 提供 LUN,或直接使用本地 SSD/NVMe 建立 ASM 磁盘组。
  • 推荐使用 RAID 10以兼顾性能与冗余。
  • 创建 ASM 磁盘组时设置合适的 AU 大小。 并开启 -au_size
    # 示例:创建 ASM 磁盘组 DATA
    asmcmd createdg -G DATA -AU 4 -NORMAL REDUNDANCY '/dev/sdb1' '/dev/sdc1'

3. Oracle Grid Infrastructure 安装

痛点**:交互式安装易遗漏步骤,导致 CRS 未启动。

如何配置Ubuntu Oracle高可用性,确保业务稳定运行的最佳方案是什么?

# 假设介质已解压至 /opt/oracle/install
cd /opt/oracle/install/grid
./runInstaller -silent \
-responseFile /opt/oracle/install/grid.rsp \
INVENTORYLOCATION=/opt/oraInventory \
ORACLEHOME=/u01/app/19.0.0/grid \
oracle.install.option=INSTALLGRIDINFRASTRUCTUREONLY \
oracle.install.asm.SYSASMPassword=Welcome123 \
oracle.install.asm.monitorPassword=Welcome123 \
oracle.install.asm.diskGroup.name=DATA \
oracle.install.asm.diskGroup.disks=/dev/sdb1。/dev/sdc1 \
oracle.install.asm.diskGroup.redundancy=NORMAL \
oracle.install.asm.SYSASMPassword=Welcome123 \
DECLINESECURITY_UPDATES=true

echo 'export ORACLEHOME=/u01/app/19.0.0/grid'>> /etc/profile.d/oracle.sh echo 'export PATH=$ORACLEHOME/bin:$PATH'>> /etc/profile.d/oracle.sh source /etc/profile.d/oracle.sh

crsctl start crs crsctl check crs -t

4. 数据库实例安装并加入 RAC 集群

痛点**:数据库实例未正确注册到 CRS,导致故障转移失效。

# 数据库软件静默安装
cd /opt/oracle/install/database
./runInstaller -silent \
-responseFile /opt/oracle/install/db.rsp \
ORACLEHOME=/u01/app/oracle/product/19.0.0/dbhome1 \
SELECTEDLANGUAGES=en \
UNIXGROUPNAME=oinstall \
INVENTORYLOCATION=/opt/oraInventory \
oracle.install.db.InstallEdition=EE \
oracle.install.db.isCustomInstall=false \
oracle.install.db.DBAGROUP=dba \
oracle.install.db.OPERGROUP=oper\
DECLINESECURITYUPDATES=true

lsnrctl start

dbca -silent \ -createDatabase \ -templateName GeneralPurpose.dbc\ -gdbname orcl.localdomain\ -sid orcl\ -responseFile NOVALUE\ -characterSet AL32UTF8\ -sysPassword Welcome123\ -systemPassword Welcome123\ -storageType ASM\ -diskGroupName DATA\ -datafileDestination +DATA\ - recoveryAreaDestination +DATA\ - recoveryFilesDest +DATA\ - memoryPercentage 40\ - storageType ASM\ - nodeinfo racnode1。racnode2

srvctl add database -d orcl -o $ORACLE_HOME -x '+DATA' srvctl start database -d orcl srvctl status database -d orcl

.5 验证与日常运维要点
  • : 每月执行一次节点关闭测试:
    crsctl stop resource ora.orcl.db –n racnode1
    crsctl status resource ora.orcl.db –t
    观察 VIP 是否自动漂移至 racnode2,数据库服务是否持续可用。检查 alert_.logcrsd.log 是否有错误。其实,: 配置公司级监控。关键指标包括:CRS 资源状态、VIP 漂移次数、ASM磁盘组使用率、redo 生成速率。: 生产上线前请务必完成以下清单:
    • 公有、私有、虚拟IP正确且互通;• ASM磁盘组在线且冗余等级符合需求;话说回来,• CRS资源全部在线;• 数据库实例能够正常接受连接;• 已完成至少一次完整故障转移演练并记录结果。

标签:Ubuntu

Ubuntu 上 Oracle 高可用性方案概览

业务中断代表着直接的经济损失和客户信任下降。许多运维人员在搭建 Oracle 高可用时会遇到以下痛点:

  • 网络与存储配置复杂,私有 IP、公有 IP、虚拟 IP 易混淆;
  • 共享存储规划不到位导致 I/O 瓶颈或单点故障;
  • 故障切换测试缺失,一旦真实故障发生时手忙脚乱;
  • 环境变量、大页、内核参数调优繁琐,易遗漏导致性能下降。
如何配置Ubuntu Oracle高可用性,确保业务稳定运行的最佳方案是什么?

方案一这方面,基于 RAC 的本地高可用

1. 环境准备与痛点防范

痛点**:网络规划不当导致 VIP 漂移失败。

  • 为每个节点分配三类 IP:公有 IP、私有 IP、虚拟 IP。话说回来,
  • 在 /etc/hosts 中统一记录所有节点的 hostname 与对应 IP。避免 DNS 延迟带来的切换延迟。
  • 使用 bonding 或团队网卡实现链路聚类,提高网络容错能力。

2. 共享存储配置

痛点**:存储单点或 I/O 性能不足导致集群不稳定。

  • 采用 SAN/NAS 提供 LUN,或直接使用本地 SSD/NVMe 建立 ASM 磁盘组。
  • 推荐使用 RAID 10以兼顾性能与冗余。
  • 创建 ASM 磁盘组时设置合适的 AU 大小。 并开启 -au_size
    # 示例:创建 ASM 磁盘组 DATA
    asmcmd createdg -G DATA -AU 4 -NORMAL REDUNDANCY '/dev/sdb1' '/dev/sdc1'

3. Oracle Grid Infrastructure 安装

痛点**:交互式安装易遗漏步骤,导致 CRS 未启动。

如何配置Ubuntu Oracle高可用性,确保业务稳定运行的最佳方案是什么?

# 假设介质已解压至 /opt/oracle/install
cd /opt/oracle/install/grid
./runInstaller -silent \
-responseFile /opt/oracle/install/grid.rsp \
INVENTORYLOCATION=/opt/oraInventory \
ORACLEHOME=/u01/app/19.0.0/grid \
oracle.install.option=INSTALLGRIDINFRASTRUCTUREONLY \
oracle.install.asm.SYSASMPassword=Welcome123 \
oracle.install.asm.monitorPassword=Welcome123 \
oracle.install.asm.diskGroup.name=DATA \
oracle.install.asm.diskGroup.disks=/dev/sdb1。/dev/sdc1 \
oracle.install.asm.diskGroup.redundancy=NORMAL \
oracle.install.asm.SYSASMPassword=Welcome123 \
DECLINESECURITY_UPDATES=true

echo 'export ORACLEHOME=/u01/app/19.0.0/grid'>> /etc/profile.d/oracle.sh echo 'export PATH=$ORACLEHOME/bin:$PATH'>> /etc/profile.d/oracle.sh source /etc/profile.d/oracle.sh

crsctl start crs crsctl check crs -t

4. 数据库实例安装并加入 RAC 集群

痛点**:数据库实例未正确注册到 CRS,导致故障转移失效。

# 数据库软件静默安装
cd /opt/oracle/install/database
./runInstaller -silent \
-responseFile /opt/oracle/install/db.rsp \
ORACLEHOME=/u01/app/oracle/product/19.0.0/dbhome1 \
SELECTEDLANGUAGES=en \
UNIXGROUPNAME=oinstall \
INVENTORYLOCATION=/opt/oraInventory \
oracle.install.db.InstallEdition=EE \
oracle.install.db.isCustomInstall=false \
oracle.install.db.DBAGROUP=dba \
oracle.install.db.OPERGROUP=oper\
DECLINESECURITYUPDATES=true

lsnrctl start

dbca -silent \ -createDatabase \ -templateName GeneralPurpose.dbc\ -gdbname orcl.localdomain\ -sid orcl\ -responseFile NOVALUE\ -characterSet AL32UTF8\ -sysPassword Welcome123\ -systemPassword Welcome123\ -storageType ASM\ -diskGroupName DATA\ -datafileDestination +DATA\ - recoveryAreaDestination +DATA\ - recoveryFilesDest +DATA\ - memoryPercentage 40\ - storageType ASM\ - nodeinfo racnode1。racnode2

srvctl add database -d orcl -o $ORACLE_HOME -x '+DATA' srvctl start database -d orcl srvctl status database -d orcl

.5 验证与日常运维要点
  • : 每月执行一次节点关闭测试:
    crsctl stop resource ora.orcl.db –n racnode1
    crsctl status resource ora.orcl.db –t
    观察 VIP 是否自动漂移至 racnode2,数据库服务是否持续可用。检查 alert_.logcrsd.log 是否有错误。其实,: 配置公司级监控。关键指标包括:CRS 资源状态、VIP 漂移次数、ASM磁盘组使用率、redo 生成速率。: 生产上线前请务必完成以下清单:
    • 公有、私有、虚拟IP正确且互通;• ASM磁盘组在线且冗余等级符合需求;话说回来,• CRS资源全部在线;• 数据库实例能够正常接受连接;• 已完成至少一次完整故障转移演练并记录结果。

标签:Ubuntu