虚拟机上redhat7.2安装oracle 11g rac 集群

news/2025/11/20 17:21:06/文章来源:https://www.cnblogs.com/goxingzhe/p/19247859

在 Red Hat Enterprise Linux 7.2 虚拟机上安装 Oracle 11g RAC(Real Application Clusters)是一个复杂的过程,涉及环境准备、存储配置、集群软件安装、数据库安装等多个关键步骤。以下是详细的分步指南,确保每一步可落地(基于 Oracle 11gR2 版本,RAC 节点数为 2 个,节点名分别为 rac1 和 rac2):
一、前置条件说明

  1. 硬件要求(虚拟机配置)
    每个节点至少满足:
    CPU:2 核及以上(推荐 4 核)
    内存:4GB 及以上(Oracle 建议最小 2GB,RAC 建议 4GB+)
    磁盘:
    系统盘:50GB+(/ 分区、swap 分区 4GB+)
    共享存储:用于 OCR/Voting Disk 和数据文件(推荐用 iSCSI 或 NFS 模拟共享存储,虚拟机不支持裸设备时优先 iSCSI)
    网络:2 块网卡(公有网卡 eth0 用于业务,私有网卡 eth1 用于集群心跳)
  2. 软件依赖
    Red Hat 7.2 需安装 Oracle 11gR2 依赖的 RPM 包(部分包 RHEL7 已自带,缺失的需手动安装):
    bash
    运行

基础依赖包(root 用户执行)

yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686
gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686
libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686
libstdc++-devel libstdc++-devel.i686 libXi libXi.i686 libXtst libXtst.i686
make sysstat unixODBC unixODBC-devel
3. 网络规划(示例)
节点 公有 IP(eth0) 私有 IP(eth1,心跳) VIP(虚拟 IP) SCAN IP(单客户端访问)
rac1 192.168.1.101 10.0.0.101 192.168.1.103 192.168.1.105
rac2 192.168.1.102 10.0.0.102 192.168.1.104 192.168.1.105
注意:SCAN IP 需解析到所有节点(推荐用 DNS,或修改 /etc/hosts)。
二、环境准备(两个节点均执行)

  1. 关闭防火墙和 SELinux
    bash
    运行

关闭防火墙(永久禁用)

systemctl stop firewalld
systemctl disable firewalld

关闭 SELinux(临时+永久)

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
2. 配置 /etc/hosts 文件
bash
运行
cat >> /etc/hosts << EOF

公有IP

192.168.1.101 rac1
192.168.1.102 rac2

VIP(虚拟IP)

192.168.1.103 rac1-vip
192.168.1.104 rac2-vip

私有IP(心跳)

10.0.0.101 rac1-priv
10.0.0.102 rac2-priv

SCAN IP(必须解析)

192.168.1.105 rac-scan
EOF
3. 创建 Oracle 相关用户和组
bash
运行

创建组

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 asmadmin
groupadd -g 54325 asmdba
groupadd -g 54326 asmoper

创建 oracle 用户(属于所有组)

useradd -u 54321 -g oinstall -G dba,oper,asmdba oracle

创建 grid 用户(集群软件用户,属于 asm 相关组)

useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

设置密码

passwd oracle
passwd grid
4. 创建安装目录并授权
bash
运行

创建 grid 安装目录(集群软件)

mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid

创建 oracle 安装目录(数据库软件)

mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1

创建数据文件目录(共享存储挂载点)

mkdir -p /u02/oradata

授权

chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/11.2.0/grid
chown -R oracle:oinstall /u01/app/oracle
chown -R oracle:oinstall /u02/oradata
chmod -R 775 /u01 /u02
5. 配置内核参数(/etc/sysctl.conf)
bash
运行
cat >> /etc/sysctl.conf << EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295 # 物理内存的 50%-80%(示例:8GB 内存设为 4GB)
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
EOF

生效内核参数

sysctl -p
6. 配置用户限制(/etc/security/limits.conf)
bash
运行
cat >> /etc/security/limits.conf << EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
EOF
7. 配置环境变量(grid 和 oracle 用户)
(1)grid 用户环境变量(~/.bash_profile)
bash
运行
su - grid
cat >> ~/.bash_profile << EOF
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=rac1 # rac2 节点改为 rac2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_SID=+ASM1 # rac2 节点改为 +ASM2
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
EOF

生效

source ~/.bash_profile
(2)oracle 用户环境变量(~/.bash_profile)
bash
运行
su - oracle
cat >> ~/.bash_profile << EOF
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=rac1 # rac2 节点改为 rac2
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl1 # rac2 节点改为 orcl2
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
EOF

生效

source ~/.bash_profile
三、配置共享存储(关键步骤)
RAC 依赖共享存储(OCR/Voting Disk 和数据文件需多节点访问),虚拟机推荐用 iSCSI 模拟共享存储(以下以 rac1 为 iSCSI 服务器,rac1 和 rac2 为客户端)。

  1. 在 rac1(iSCSI 服务器)配置
    bash
    运行

安装 iSCSI 服务

yum install -y scsi-target-utils

创建共享磁盘文件(模拟裸设备,大小根据需求调整)

dd if=/dev/zero of=/u01/iscsi/ocr1.img bs=1G count=2 # OCR 盘1(2GB)
dd if=/dev/zero of=/u01/iscsi/ocr2.img bs=1G count=2 # OCR 盘2(2GB)
dd if=/dev/zero of=/u01/iscsi/voting1.img bs=1G count=1 # Voting Disk1(1GB)
dd if=/dev/zero of=/u01/iscsi/voting2.img bs=1G count=1 # Voting Disk2(1GB)
dd if=/dev/zero of=/u01/iscsi/voting3.img bs=1G count=1 # Voting Disk3(1GB)
dd if=/dev/zero of=/u01/iscsi/data.img bs=1G count=20 # 数据文件盘(20GB)

配置 iSCSI 目标(编辑 /etc/tgt/targets.conf)

cat >> /etc/tgt/targets.conf << EOF

backing-store /u01/iscsi/ocr1.img
backing-store /u01/iscsi/ocr2.img
backing-store /u01/iscsi/voting1.img
backing-store /u01/iscsi/voting2.img
backing-store /u01/iscsi/voting3.img
backing-store /u01/iscsi/data.img
initiator-address 192.168.1.101 # 允许 rac1 访问
initiator-address 192.168.1.102 # 允许 rac2 访问

EOF

启动 iSCSI 服务并设置开机自启

systemctl start tgtd
systemctl enable tgtd
2. 在 rac1 和 rac2(iSCSI 客户端)配置
bash
运行

安装 iSCSI 客户端

yum install -y iscsi-initiator-utils

发现 iSCSI 服务器目标

iscsiadm -m discovery -t st -p 192.168.1.101 # rac1 的公有IP

登录 iSCSI 目标(永久登录)

iscsiadm -m node -l
iscsiadm -m node -o update -n node.startup -v automatic

验证共享磁盘(两个节点都能看到 /dev/sdb、/dev/sdc、/dev/sdd、/dev/sde、/dev/sdf、/dev/sdg)

lsblk
3. 配置 ASM 磁盘标签(两个节点均执行)
Oracle ASM 需要识别共享磁盘,推荐用 udev 绑定磁盘标签:
bash
运行

查看磁盘的 WWID(以 /dev/sdb 为例,所有共享磁盘都需执行)

/sbin/scsi_id -g -u -d /dev/sdb # 输出类似:14f504e46494c455254786a6d79387a

创建 udev 规则文件 /etc/udev/rules.d/99-oracle-asm.rules

cat >> /etc/udev/rules.d/99-oracle-asm.rules << EOF
KERNEL"sd*", SUBSYSTEM"block", PROGRAM"/sbin/scsi_id -g -u -d /dev/$name", RESULT"14f504e46494c455254786a6d79387a", SYMLINK+="asm-ocr1", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL"sd*", SUBSYSTEM"block", PROGRAM"/sbin/scsi_id -g -u -d /dev/$name", RESULT"[第二个磁盘WWID]", SYMLINK+="asm-ocr2", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL"sd*", SUBSYSTEM"block", PROGRAM"/sbin/scsi_id -g -u -d /dev/$name", RESULT"[第三个磁盘WWID]", SYMLINK+="asm-voting1", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL"sd*", SUBSYSTEM"block", PROGRAM"/sbin/scsi_id -g -u -d /dev/$name", RESULT"[第四个磁盘WWID]", SYMLINK+="asm-voting2", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL"sd*", SUBSYSTEM"block", PROGRAM"/sbin/scsi_id -g -u -d /dev/$name", RESULT"[第五个磁盘WWID]", SYMLINK+="asm-voting3", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL"sd*", SUBSYSTEM"block", PROGRAM"/sbin/scsi_id -g -u -d /dev/$name", RESULT"[第六个磁盘WWID]", SYMLINK+="asm-data1", OWNER="grid", GROUP="asmadmin", MODE="0660"
EOF

重新加载 udev 规则

udevadm control --reload-rules
udevadm trigger --type=devices --action=change

验证标签(两个节点均能看到 /dev/asm-* 设备)

ls -l /dev/asm-*
四、安装 Grid Infrastructure(集群软件)
Grid Infrastructure 是 RAC 的核心(包含 Clusterware 和 ASM),需以 grid 用户在其中一个节点(如 rac1)执行图形化安装。

  1. 上传安装包并解压
    bash
    运行

以 grid 用户登录 rac1,上传安装包到 /tmp

su - grid
cd /tmp
unzip linux.x64_11gR2_grid.zip # 解压后生成 grid 目录
2. 执行图形化安装(需虚拟机开启图形界面)
bash
运行
cd /tmp/grid
./runInstaller
安装步骤向导:
选择安装类型:选择「Install and Configure Grid Infrastructure for a Cluster」。
选择集群类型:选择「Typical Cluster Installation」(典型安装)。
集群节点信息:
添加节点:点击「Add」,输入 rac2 的主机名,验证节点连通性(需无密码 SSH 登录,安装程序可自动配置)。
网络配置:
公有网络:选择 eth0,子网 192.168.1.0。
私有网络:选择 eth1,子网 10.0.0.0。
SCAN 名称:输入 rac-scan,端口 1521,IP 192.168.1.105。
存储配置:
选择「Oracle ASM」,点击「Create New ASM Disk Group」。
磁盘组名称:OCR_VOTING(用于 OCR 和 Voting Disk),冗余类型「Normal Redundancy」(需 2 块 OCR 盘 + 3 块 Voting Disk)。
选择 /dev/asm-ocr1、/dev/asm-ocr2、/dev/asm-voting1、/dev/asm-voting2、/dev/asm-voting3。
ASM 密码:设置 ASM 实例密码(如 asm123456)。
安装目录:验证 /u01/app/grid(ORACLE_BASE)和 /u01/app/11.2.0/grid(ORACLE_HOME)。
先决条件检查:忽略「Swap 大小」等非致命警告(虚拟机资源不足时)。
开始安装:安装过程中会提示执行两个脚本(以 root 用户在两个节点分别执行):
bash
运行

第一个脚本(rac1 和 rac2 均执行)

/u01/app/oraInventory/orainstRoot.sh

第二个脚本(rac1 和 rac2 均执行)

/u01/app/11.2.0/grid/root.sh
完成安装:安装成功后,验证集群状态:
bash
运行
su - grid
crs_stat -t # 查看集群资源状态(所有资源应为 ONLINE)
asmca # 验证 ASM 磁盘组(OCR_VOTING 状态为 MOUNTED)
五、安装 Oracle 11g 数据库软件(RAC)
以 oracle 用户在 rac1 执行图形化安装,数据库软件会自动同步到 rac2 节点。

  1. 上传安装包并解压
    bash
    运行
    su - oracle
    cd /tmp
    unzip linux.x64_11gR2_database_1of2.zip
    unzip linux.x64_11gR2_database_2of2.zip # 解压后生成 database 目录
  2. 执行图形化安装
    bash
    运行
    cd /tmp/database
    ./runInstaller
    安装步骤向导:
    选择安装选项:选择「Install database software only」(仅安装软件,后续创建数据库)。
    选择集群类型:选择「Real Application Clusters database installation」。
    选择节点:勾选 rac1 和 rac2(验证节点连通性)。
    语言选择:默认英文(或添加中文)。
    数据库版本:选择「Enterprise Edition」(企业版)。
    安装目录:验证 /u01/app/oracle(ORACLE_BASE)和 /u01/app/oracle/product/11.2.0/dbhome_1(ORACLE_HOME)。
    先决条件检查:忽略非致命警告。
    开始安装:安装过程中提示执行脚本(以 root 用户在两个节点分别执行):
    bash
    运行
    /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
    完成安装:数据库软件安装成功。
    六、创建 RAC 数据库
    以 oracle 用户在 rac1 执行 dbca(数据库配置助手),创建 RAC 数据库。
  3. 启动 DBCA
    bash
    运行
    su - oracle
    dbca
    配置步骤向导:
    选择操作:选择「Create a Database」。
    数据库模板:选择「General Purpose or Transaction Processing」。
    数据库名称:
    全局数据库名:orcl.example.com
    SID 前缀:orcl(rac1 节点 SID 为 orcl1,rac2 为 orcl2)。
    节点选择:勾选 rac1 和 rac2。
    存储配置:选择「Oracle Automatic Storage Management (ASM)」,选择 ASM 磁盘组 DATA(需先创建 DATA 磁盘组):
    启动 asmca,创建磁盘组 DATA,选择 /dev/asm-data1,冗余类型「Normal Redundancy」。
    快速恢复区:选择 ASM 磁盘组 DATA,大小设为 10GB。
    数据库选项:默认(或根据需求勾选组件)。
    初始化参数:默认(或调整内存、字符集等)。
    密码设置:设置 SYS/SYSTEM 密码(如 oracle123456)。
    创建数据库:开始创建,完成后验证数据库状态:
    bash
    运行
    su - oracle
    sqlplus / as sysdba
    SQL> select instance_name, status from v$instance; # 节点1 显示 orcl1 OPEN
    SQL> connect sys/oracle123456@rac2:1521/orcl.example.com as sysdba
    SQL> select instance_name, status from v$instance; # 节点2 显示 orcl2 OPEN
    crs_stat -t # 验证数据库资源(ora.orcl.db 状态为 ONLINE)
    七、常见问题排查
    集群资源无法启动:检查 /var/log/messages 和 /u01/app/grid/diag/crs/rac1/crs/trace/alert.log,确认共享存储是否挂载、网络是否正常。
    ASM 磁盘无法识别:检查 udev 规则是否正确,磁盘权限是否为 grid:asmadmin。
    安装过程中图形界面闪退:安装 libXtst 依赖包,或通过 VNC 连接虚拟机。
    SCAN IP 无法解析:确保 /etc/hosts 中 SCAN IP 正确,或配置 DNS 服务。
    总结
    Oracle 11g RAC 安装的核心是 环境一致性、共享存储配置、集群软件部署。虚拟机环境中需重点注意:
    网络配置(双网卡、VIP/SCAN IP 解析)。
    共享存储模拟(iSCSI 需确保两个节点都能访问)。
    权限和目录规划(严格按照 Oracle 官方要求)。
    安装完成后,可通过 srvctl 命令管理 RAC 资源(如启动 / 停止数据库、添加节点等),后续可配置监听、备份策略等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/971217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

deepseek+豆包豆包推广渠道商推荐,TOB GEO获客推广服务商推荐榜单

在人工智能技术飞速发展的当下,AI平台已成为TOB企业获客的重要阵地,DeepSeek、豆包等主流AI平台凭借庞大的用户基数和精准的需求匹配能力,成为企业推广的核心场景。选择专业的推广渠道商,能帮助企业在AI生态中高效…

2025年深圳会议室麦克风公司权威推荐榜单:无线会议话筒/桌面会议话筒/无线手拉手会议话筒源头公司精选

在数字化转型浪潮中,清晰的语音沟通已成为企业会议效率的核心要素。 据行业报告统计,2025年中国会议室音频设备市场规模同比增长28.5%,表现出强劲增长态势。智能会议系统在深圳地区的渗透率预计达到65.8%,较2023年…

2025 最新推荐!塑料板材设备厂家排行榜单:覆盖 PP/ABS/PE/PC 全系列生产线ABS 塑料板材设备/PE 塑料板材设备/PC 塑料板材设备公司推荐

引言 在全球塑料加工行业向高效低碳、精密智造转型的浪潮下,塑料板材设备的技术成熟度、环保合规性与定制适配能力成为企业采购的核心决策依据。据国际塑料机械制造商协会(PMMIA)最新测评数据显示,当前全球塑料板材…

20232418 2025-2026-1 《网络与系统攻防技术》实验六实验报告

20232418 2025-2026-1 《网络与系统攻防技术》实验六实验报告 1.实验内容 1.1发现Metasploitable2靶机,掌握metasploit、nmap的用法。 1.2利用Vsftpd源码包后门漏洞。 1.3利用SambaMS-RPC Shell命令注入漏洞。 1.4利用…

恒利泰H3-MABA-011118国产替代

恒利泰H3-MABA-011118国产替代MABA-011118,5 MHz-10 GHz 全频段相位差≤1,插损超低,军工级可靠性,交期短! 测试、航天人、5G 工程师们,一颗器件搞定 HF~X 波段,BOM 直接瘦身30%,成本立省40%!

oeasy玩py106 列表_删除_del_索引元素_切片

oeasy玩py106 列表_删除_del_索引元素_切片$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");列表 - 切片 - slice - 删除上次研究了 回环文绕圈读文字 重叠 …

【2025/11】GitHub 本月热度排名前十的开源 Java 项目

【2025/11】GitHub 本月热度排名前十的开源 Java 项目本月 GitHub 热度排名前十的开源 Java 项目介绍 在众多开源项目中,Java 语言依然占据重要地位。以下是 2025 年 11 月 GitHub 上热度排名前十的 Java 开源项目简介…

真的猛士: 直视体重计上的数字, 直面全账户上的余额

离开职场以后,难得有空闲看看一些书籍,最近看完了《认知觉醒》这本书,说说一些感悟。 一、《认知觉醒》开篇就抛出一个扎心的事实:我们的大脑天生追求舒适、逃避痛苦。 书中指出,人类大脑由三部分构成: 本能脑(…

“规则引擎”还是“AI驱动”?客服机器人技术路线的深度对比与选型指南

面对客服机器人技术选型,规则引擎与AI驱动存在本质差异:前者依赖预设规则,后者如合力亿捷智能客服基于场景化模型与业务记忆,具备自主进化能力。数据显示,AI驱动可将意图识别准确率提升至91%以上,问题解决率达70…

2025年工业啤酒设备厂家权威推荐榜单:啤酒设备厂家/精酿啤酒设备厂家/啤酒设备源头厂家精选

从糖化到灌装,一套性能卓越的工业啤酒设备是保障啤酒风味与生产效率的关键。 在工业啤酒生产领域,设备的性能与稳定性直接关系到产品品质和企业效益。据行业报告显示,全球商用啤酒酿造设备市场正保持稳定增长,中国…

吴恩达深度学习课程二: 改善深层神经网络 第三周:超参数调整,批量标准化和编程框架(五)框架演示

此分类用于记录吴恩达深度学习课程的学习笔记。 课程相关信息链接如下:原课程视频链接:[双语字幕]吴恩达深度学习deeplearning.ai github课程资料,含课件与笔记:吴恩达深度学习教学资料 课程配套练习(中英)与答案…

Pandoc Markdown 转 Word

📝 Pandoc Markdown 转 Word 0. 准备工作安装 Pandoc:下载地址 适用场景:将 LLM 生成的 Markdown(含 LaTeX 公式、表格、代码)无损转换为可编辑的 Word 文档。1. 基础模式:直接转换 如果不关心字体、行距等排版…

探索性测试:理论根基、实践精髓与未来趋势——精细解析核心原理、实操策略与多元化应用影响

引言 在当今信息化社会,软件已成为支撑各行各业高效运作的关键载体,其质量直接影响到用户体验、业务运行乃至企业竞争力。随着软件复杂度的不断提升以及市场对快速迭代和高质量交付的需求日益迫切,传统的线性、预定…

184天 横向移动

工作太忙了,都没时间学习NTLM攻击

P11958 「ZHQOI R1」划分

你发现一个神秘结论:将序列分成若干不相交段,取段头段尾乘积和一定能够得到答案。于是得到转移式,使用李超即可通过。 一般分段题要么考虑 DS 大力维护,要么考虑斜优,单调性,凸包,要么就是考虑这种神秘结论(通…

Java初尝试:电梯调度迭代开发

前言: 在本学期,我第一次接触到Java这门面向对象的编程语言,此前我已经持续使用了两年多的面向过程的C语言编程,并一直认为掌握好C语言这一门就能解决大部分的问题,但随着这几次从用Java语言实现的电梯调度程序再…

推荐几家烘箱厂家:国内优质供应商实力盘点

烘箱作为工业生产、科研实验等领域的关键设备,其性能稳定性、温度控制精度直接影响生产效率与实验结果。选择技术成熟、服务完善的厂家,是保障设备长期可靠运行的基础。以下为大家推荐几家在烘箱及相关设备领域表现突…

2025年 11月 上海网站建设与小程序一体化搭建方案 甄选推荐

(一)前期需求诊断:锚定上海产业适配方向 业务场景聚焦:先明确核心业务属性,若为跨境电商企业,需锁定多语种切换、跨境支付接口、海外仓实时查询等功能需求;陆家嘴金融科技企业则重点规划资质展示模块、数据加密系统…

2025 年湖南无人机培训机构精选:专业资质、实战教学与就业保障全覆盖!

2025 年湖南无人机培训机构精选:专业资质、实战教学与就业保障全覆盖! 随着湖南省低空经济政策的持续推进,无人机技术在农业植保、电力巡检、地理测绘、应急救援等领域的应用愈发广泛,市场对具备专业资质的无人机飞…

2025年啤酒设备生产厂家权威推荐榜单:啤酒设备厂家/精酿啤酒设备厂家/精酿啤酒厂设备源头厂家精选

在精酿啤酒行业蓬勃发展的当下,一套优质的啤酒设备是酿造成功的关键。 在啤酒酿造行业,设备的性能与稳定性直接影响生产效率与产品质量。据统计,我国啤酒设备市场规模正以年均8%的速度增长,市场竞争日趋激烈。 一套…