news 2026/5/9 22:51:17

手把手部署Oracle 19c

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手把手部署Oracle 19c

很多朋友在掌握了文件系统安装后,纷纷问:生产环境用ASM存储怎么装? 确实,ASM作为Oracle自带的存储解决方案,在数据冗余、性能优化上比传统文件系统更有优势,是生产环境的首选。今天这篇就把单实例ASM安装讲透,从ASM磁盘组规划、图形化安装的点点操作,到静默安装的脚本编写,每一步都配具体命令和避坑提示,新手也能一次成功!

前置提醒:ASM安装比文件系统多了磁盘组配置环节,需提前准备好物理磁盘或分区;同时确保完成了Oracle 19c环境规划。

一、ASM磁盘组规划与创建

ASM的核心是磁盘组,把多个物理磁盘整合为一个逻辑单元,自动实现负载均衡和故障转移。在安装Oracle软件前,必须先规划并创建好ASM磁盘组,这是ASM安装的基础。

1.1 ASM磁盘组规划原则

至少创建3个磁盘组,分别存储不同类型文件,避免IO冲突,这是Oracle官方推荐的最佳实践:

磁盘组名称存储内容磁盘要求冗余模式
DATA数据文件、控制文件SSD优先,容量≥100GB(生产)外部冗余(依赖RAID)/ 正常冗余(2块盘)
RECO归档日志、备份集机械硬盘或SSD,容量≥DATA的1.5倍外部冗余(依赖RAID)/ 正常冗余(2块盘)
FRA快速恢复区(可选,也可合并到RECO)同RECO同RECO
冗余模式选择:如果服务器做了RAID,选外部冗余;没做RAID选正常冗余。

1.2 实操:创建ASM磁盘(以CentOS 7为例)

ASM磁盘可以是物理磁盘、分区或LVM逻辑卷,这里以裸设备分区为例,步骤如下(root用户执行):

1.2.1 识别磁盘
# 查看服务器磁盘列表(识别新添加的磁盘,如/dev/sdb、/dev/sdc) lsblk # 或用fdisk查看 fdisk -l

假设识别到3块新磁盘:/dev/sdb(100GB,用于DATA)、/dev/sdc(150GB,用于RECO)、/dev/sdd(50GB,用于ASM元数据)。

1.2.2 磁盘分区
# 对/dev/sdb进行分区(其他磁盘操作相同) fdisk /dev/sdb # 输入以下命令(按提示操作) n # 新建分区 p # 主分区 1 # 分区号 (回车默认起始扇区) (回车默认结束扇区,或输入+100G指定大小) t # 修改分区类型 8e # 类型设为Linux LVM(ASM支持此类型) w # 保存退出 # 分区完成后,查看分区结果 fdisk -l /dev/sdb # 会显示/dev/sdb1分区

重复以上操作,完成/dev/sdc1、/dev/sdd1的分区。

1.2.3 标记ASM磁盘

用Oracle的asmca工具标记磁盘,让ASM识别为可用磁盘。先安装ASM依赖包(root用户):

yum install -y oracleasm-support oracleasmlib oracleasm-`uname -r`

然后配置ASM库并标记磁盘:

# 初始化ASM库(仅第一次执行) oracleasm init # 配置ASM磁盘组所属用户组(oinstall) oracleasm configure -i # 按提示输入:oracle用户、oinstall组 # 标记磁盘为ASM磁盘(命名规则:asm-磁盘用途-序号) oracleasm createdisk ASM_DATA_01 /dev/sdb1 oracleasm createdisk ASM_RECO_01 /dev/sdc1 oracleasm createdisk ASM_META_01 /dev/sdd1 # 查看标记后的ASM磁盘(状态为AVAILABLE表示正常) oracleasm listdisks

1.3 创建ASM磁盘组

磁盘标记完成后,可通过图形化(asmca)或命令行(sqlplus)创建磁盘组,这里先讲图形化方式(后续安装中会整合),命令行方式在静默安装部分介绍。

二、图形化安装

图形化安装的核心是通过VNC连接服务器,用runInstaller向导完成Oracle软件安装+ASM磁盘组配置+数据库创建,比文件系统安装多了ASM配置环节。

2.1 前置:VNC远程连接配置

# root用户安装VNC Server yum install -y tigervnc-server # 切换到oracle用户,启动VNC服务 su- oracle vncserver # 设置VNC密码,记住显示端口(如:1)

本地用VNC Viewer连接服务器IP:1,输入密码后进入图形化桌面。

2.2 图形化安装全流程

先解压Oracle 19c安装包到ORACLE_HOME目录(oracle用户执行):

unzip /tmp/LINUX.X64_193000_db_home.zip -d$ORACLE_HOME cd$ORACLE_HOME ./runInstaller

启动安装向导后,前4步与文件系统安装一致(跳过更新、选择创建并配置数据库、服务器级、典型安装),从第5步关键配置项开始差异显现:

2.2.1 步骤5:存储类型选择

在Storage type选项中,选择Automatic Storage Management,然后点击ASM Configuration进入ASM配置界面:

若未创建ASM磁盘组,选择Create new ASM disk group;

输入ASM磁盘组名称,选择冗余模式;

在Disks Available中勾选标记好的ASM磁盘,点击OK;

设置ASM实例的SYS用户密码,点击Next。

重复以上操作,创建RECO磁盘组。

2.2.2 步骤6:数据库存储配置

回到安装向导,此时Database files location会自动变为+DATA,Recovery options的恢复区路径设为+RECO,其他配置与文件系统一致:

SID设置:ORCL;

字符集:AL32UTF8;

内存分配:物理内存的70%(如32GB内存分配22GB);

密码:sys/system密码设为Oracle123#。

2.2.3 后续步骤

点击Next后完成先决条件检查(若ASM磁盘状态正常,会提示All prerequisite checks passed),确认概要信息后点击Install开始安装。

安装过程中会提示用root用户执行两个脚本(/u01/app/oraInventory/orainstRoot.sh和$ORACLE_HOME/root.sh),执行完成后回到安装界面点击OK,等待安装完成。

避坑提示:若先决条件检查提示ASM磁盘不可用,检查oracleasm listdisks是否显示磁盘,或重新标记ASM磁盘。

三、静默安装

生产环境ASM安装推荐用静默方式,核心是编写Oracle软件安装+ASM磁盘组创建+数据库创建三个响应文件,实现全自动化部署。

3.1 新增ASM配置文件

相比文件系统静默安装,ASM安装多了ASM磁盘组创建步骤,需要新增asmca.rsp响应文件。三个核心响应文件模板路径均在$ORACLE_HOME/assistants/下。

3.2 步骤1:准备并修改响应文件

3.2.1 复制模板文件
mkdir-p /tmp/rsp cd$ORACLE_HOME/assistants/ # 复制三个核心响应文件 cp dbca/dbca.rsp /tmp/rsp/ cp asmca/asmca.rsp /tmp/rsp/ cp ../install/response/db_install.rsp /tmp/rsp/ cd /tmp/rsp
3.2.2 修改db_install.rsp

关键参数修改如下(其他默认):

vi db_install.rsp # 安装类型:仅安装软件(后续手动创建数据库) oracle.install.option=INSTALL_DB_SWONLY # 基础路径(与环境变量一致) UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1 # 数据库版本:企业版 oracle.install.db.InstallEdition=EE # 启用ASM支持 oracle.install.db.isCustomInstall=true oracle.install.db.asmSupport=true # 跳过更新 oracle.install.db.updates.enabled=false # 自动执行root脚本 oracle.install.db.rootconfig.executeRootScript=true
3.2.3 修改asmca.rsp
vi asmca.rsp # 操作类型:创建磁盘组 operation_type=create # ASM实例配置 asm_instance_sid=+ASM asm_instance_password=Asm_123# # ASM的SYS用户密码 # DATA磁盘组配置 diskgroup_name[0]=DATA redundancy[0]=EXTERNAL # 外部冗余 disk[0]=/dev/oracleasm/disks/ASM_DATA_01 # ASM磁盘路径 # RECO磁盘组配置 diskgroup_name[1]=RECO redundancy[1]=EXTERNAL disk[1]=/dev/oracleasm/disks/ASM_RECO_01
3.2.4 修改dbca.rsp
vi dbca.rsp # 操作类型:创建数据库 operationType=createDatabase createDatabase.type=typical # 数据库名和实例名 gdbName=ORCL sid=ORCL # 密码配置 sysPassword=Oracle123# systemPassword=Oracle123# # 存储配置(核心:ASM磁盘组) storageType=ASM datafileDestination=+DATA recoveryAreaDestination=+RECO # 字符集和内存 characterSet=AL32UTF8 totalMemory=22528 # 32GB内存分配22GB(单位MB) # 自动备份 enableArchive=true

3.3 步骤2:执行静默安装

3.3.1 静默安装Oracle软件
cd$ORACLE_HOME ./runInstaller -silent-responseFile /tmp/rsp/db_install.rsp -log /tmp/oracle_install.log

日志监控:tail -f /tmp/oracle_install.log,出现Successfully Setup Software表示软件安装成功。

3.3.2 静默创建ASM磁盘组
asmca -silent-responseFile /tmp/rsp/asmca.rsp -logfile /tmp/asmca.log

日志监控:tail -f /tmp/asmca.log,出现Diskgroup created successfully表示磁盘组创建成功。可通过asmcmd验证:

asmcmd lsdg # 会显示DATA和RECO磁盘组,状态为MOUNTED
3.3.3 配置ASM环境变量

编辑~/.bash_profile,添加ASM实例环境变量:

vi ~/.bash_profile # 新增ASM环境变量 exportORACLE_SID=+ASM exportPATH=$ORACLE_HOME/bin:$PATH # 生效 source ~/.bash_profile
3.3.4 静默创建数据库
# 切换回数据库实例环境变量(若需要) exportORACLE_SID=ORCL # 执行静默创建命令 dbca -silent-responseFile /tmp/rsp/dbca.rsp -logfile /tmp/dbca.log

日志监控:tail -f /tmp/dbca.log,出现Database created successfully表示数据库创建成功。

3.4 生产环境静默安装完整脚本

#!/bin/bash # Oracle 19c 单实例ASM静默安装完整脚本 # 适用环境:CentOS 7/8,已完成磁盘分区和ASM标记 # 1. 全局变量(根据实际环境修改) ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1 RSP_DIR=/tmp/rsp INSTALL_FILE=/tmp/LINUX.X64_193000_db_home.zip SYS_PWD=Oracle123# ASM_PWD=Asm_123# TOTAL_MEM=22528 # 内存(MB) # 2. root用户操作:安装依赖包和ASM库 su- root -c"yum install -y binutils compat-libcap1 glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libgcc libstdc++ libstdc++-devel libxcb make oracleasm-support oracleasmlib oracleasm-`uname -r`" # 3. root用户操作:配置ASM磁盘(若未配置) # su - root -c "oracleasm init" # su - root -c "oracleasm configure -i" # su - root -c "oracleasm createdisk ASM_DATA_01 /dev/sdb1" # su - root -c "oracleasm createdisk ASM_RECO_01 /dev/sdc1" # 4. oracle用户操作:解压安装包 su- oracle -c"unzip $INSTALL_FILE -d $ORACLE_HOME" # 5. oracle用户操作:创建响应文件目录并复制模板 su- oracle -c"mkdir -p $RSP_DIR" su- oracle -c"cp $ORACLE_HOME/assistants/dbca/dbca.rsp $RSP_DIR/" su- oracle -c"cp $ORACLE_HOME/assistants/asmca/asmca.rsp $RSP_DIR/" su- oracle -c"cp $ORACLE_HOME/install/response/db_install.rsp $RSP_DIR/" # 6. oracle用户操作:修改db_install.rsp su- oracle -c"sed -i 's/oracle.install.option=.*/oracle.install.option=INSTALL_DB_SWONLY/' $RSP_DIR/db_install.rsp" su- oracle -c"sed -i 's/ORACLE_BASE=.*/ORACLE_BASE=$ORACLE_BASE/' $RSP_DIR/db_install.rsp" su- oracle -c"sed -i 's/ORACLE_HOME=.*/ORACLE_HOME=$ORACLE_HOME/' $RSP_DIR/db_install.rsp" su- oracle -c"sed -i 's/oracle.install.db.asmSupport=.*/oracle.install.db.asmSupport=true/' $RSP_DIR/db_install.rsp" su- oracle -c"sed -i 's/oracle.install.db.rootconfig.executeRootScript=.*/oracle.install.db.rootconfig.executeRootScript=true/' $RSP_DIR/db_install.rsp" # 7. oracle用户操作:修改asmca.rsp su- oracle -c"sed -i 's/operation_type=.*/operation_type=create/' $RSP_DIR/asmca.rsp" su- oracle -c"sed -i 's/asm_instance_sid=.*/asm_instance_sid=+ASM/' $RSP_DIR/asmca.rsp" su- oracle -c"sed -i 's/asm_instance_password=.*/asm_instance_password=$ASM_PWD/' $RSP_DIR/asmca.rsp" su- oracle -c"sed -i 's/diskgroup_name\[0\]=.*/diskgroup_name[0]=DATA/' $RSP_DIR/asmca.rsp" su- oracle -c"sed -i 's/redundancy\[0\]=.*/redundancy[0]=EXTERNAL/' $RSP_DIR/asmca.rsp" su- oracle -c"sed -i 's/disk\[0\]=.*/disk[0]=\/dev\/oracleasm\/disks\/ASM_DATA_01/' $RSP_DIR/asmca.rsp" su- oracle -c"sed -i 's/diskgroup_name\[1\]=.*/diskgroup_name[1]=RECO/' $RSP_DIR/asmca.rsp" su- oracle -c"sed -i 's/redundancy\[1\]=.*/redundancy[1]=EXTERNAL/' $RSP_DIR/asmca.rsp" su- oracle -c"sed -i 's/disk\[1\]=.*/disk[1]=\/dev\/oracleasm\/disks\/ASM_RECO_01/' $RSP_DIR/asmca.rsp" # 8. oracle用户操作:修改dbca.rsp su- oracle -c"sed -i 's/operationType=.*/operationType=createDatabase/' $RSP_DIR/dbca.rsp" su- oracle -c"sed -i 's/gdbName=.*/gdbName=ORCL/' $RSP_DIR/dbca.rsp" su- oracle -c"sed -i 's/sid=.*/sid=ORCL/' $RSP_DIR/dbca.rsp" su- oracle -c"sed -i 's/sysPassword=.*/sysPassword=$SYS_PWD/' $RSP_DIR/dbca.rsp" su- oracle -c"sed -i 's/systemPassword=.*/systemPassword=$SYS_PWD/' $RSP_DIR/dbca.rsp" su- oracle -c"sed -i 's/storageType=.*/storageType=ASM/' $RSP_DIR/dbca.rsp" su- oracle -c"sed -i 's/datafileDestination=.*/datafileDestination=+DATA/' $RSP_DIR/dbca.rsp" su- oracle -c"sed -i 's/recoveryAreaDestination=.*/recoveryAreaDestination=+RECO/' $RSP_DIR/dbca.rsp" su- oracle -c"sed -i 's/totalMemory=.*/totalMemory=$TOTAL_MEM/' $RSP_DIR/dbca.rsp" # 9. oracle用户操作:静默安装Oracle软件 su- oracle -c"$ORACLE_HOME/runInstaller -silent -responseFile $RSP_DIR/db_install.rsp -log /tmp/oracle_install.log" # 10. oracle用户操作:静默创建ASM磁盘组 su- oracle -c"asmca -silent -responseFile $RSP_DIR/asmca.rsp -logfile /tmp/asmca.log" # 11. oracle用户操作:配置环境变量并创建数据库 su- oracle -c"echo 'export ORACLE_SID=ORCL' >> ~/.bash_profile" su- oracle -c"source ~/.bash_profile" su- oracle -c"dbca -silent -responseFile $RSP_DIR/dbca.rsp -logfile /tmp/dbca.log" # 12. 安装完成提示 echo"Oracle 19c ASM单实例安装完成!" echo"日志路径:/tmp/oracle_install.log、/tmp/asmca.log、/tmp/dbca.log"

3.5 ASM安装常见错误及解决办法

错误现象报错原因解决办法
asmca创建磁盘组失败,提示磁盘不可用磁盘未标记为ASM磁盘,或权限不足1. 执行oracleasm listdisks查看磁盘;2. 重新标记磁盘:oracleasm createdisk;3. 检查磁盘权限:chown oracle:oinstall /dev/sdb1
静默安装软件时,提示ASM支持缺失未安装ASM依赖包,或db_install.rsp未启用ASM支持1. 安装oracleasm-support等依赖包;2. 确保db_install.rsp中oracle.install.db.asmSupport=true
数据库创建失败,提示+DATA磁盘组未挂载ASM实例未启动,或磁盘组未挂载1. 启动ASM实例:sqlplus / as sysasm → startup;2. 挂载磁盘组:alter diskgroup DATA mount;
asmcmd无法连接,提示ORA-12514ASM监听未启动1. 配置ASM监听:netca -silent -responseFile /tmp/rsp/netca.rsp;2. 启动监听:lsnrctl start LISTENER_ASM

四、安装后验证

ASM安装的验证比文件系统多了ASM磁盘组和实例的检查,需完成以下四步验证:

4.1 验证ASM实例与磁盘组

# 1. 切换到ASM实例环境变量 exportORACLE_SID=+ASM # 2. 登录ASM实例 sqlplus / as sysasm # 3. 查看ASM实例状态 select status from v$instance; # 应为OPEN # 4. 查看磁盘组状态 select name, state, total_mb, free_mb from v$asm_diskgroup; # 应为MOUNTED,有可用空间 # 5. 或用asmcmd查看 asmcmd lsdg

4.2 验证数据库监听状态

# 切换到数据库实例环境变量 exportORACLE_SID=ORCL # 查看监听状态(确保包含ASM和数据库服务) lsnrctl status # 正常输出应包含: # Service "+ASM" has 1 instance(s). Instance "+ASM", status READY # Service "ORCL" has 1 instance(s). Instance "ORCL", status READY

4.3 数据库连接测试

# 本地连接 sqlplus / as sysdba # 远程连接 sqlplus sys/Oracle123#@192.168.1.100:1521/ORCL as sysdba # 验证数据库存储路径(确认使用ASM磁盘组) select name from v$datafile; # 路径应为+DATA/ORCL/DATAFILE/... select member from v$logfile; # 路径应为+DATA/ORCL/ONLINELOG/...

4.4 关键进程确认

# 查看ASM进程(ora_pmon_+ASM等) ps-ef | grep+ASM | grep-vgrep # 查看数据库进程(ora_pmon_ORCL等) ps-ef | grep ORCL | grep-vgrep

若两类进程都存在,说明ASM实例和数据库实例都正常运行。

五、ASM安装的核心要点

ASM安装虽然比文件系统多了磁盘组配置环节,但只要抓住核心要点,就不会出错:

  1. 磁盘准备是基础:必须将磁盘标记为ASM可用磁盘,否则ASM无法识别;

  2. 磁盘组规划要合理:至少分DATA和RECO,冗余模式结合RAID选择;

  3. 环境变量别混淆:ASM实例和数据库实例的环境变量要区分,切换时注意修改;

  4. 验证要全面:不仅要验证数据库,还要确认ASM实例和磁盘组状态。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 22:46:00

Flutter+开源鸿蒙实战|城市共享驿站智能存取系统 Day5 快递柜模拟开锁动画+超时计费弹窗+登录页面+记住登录状态+深浅色主题全局切换

Flutter开源鸿蒙实战&#xff5c;城市共享驿站智能存取系统 Day5 快递柜模拟开锁动画超时计费弹窗登录页面记住登录状态深浅色主题全局切换 欢迎加入开源鸿蒙跨平台社区&#xff1a;https://openharmonycrossplatform.csdn.net <!-- Schema.org 结构化数据 --> <scrip…

作者头像 李华
网站建设 2026/5/9 22:45:39

终极视频效率革命:Video Speed Controller完全指南

终极视频效率革命&#xff1a;Video Speed Controller完全指南 【免费下载链接】videospeed HTML5 video speed controller (for Google Chrome) 项目地址: https://gitcode.com/gh_mirrors/vi/videospeed 你是否厌倦了在线视频的固定播放节奏&#xff1f;无论是学习课程…

作者头像 李华
网站建设 2026/5/9 22:44:38

AI心智理论与人工社会智能:从提示到自发的范式变革

1. 项目概述&#xff1a;当AI开始“揣测”人心最近和几个做认知科学和强化学习的朋友聊天&#xff0c;大家不约而同地提到了一个词&#xff1a;“心智理论”。这可不是什么哲学玄谈&#xff0c;而是AI领域一个越来越“烫手”的山芋。简单说&#xff0c;心智理论就是个体理解自己…

作者头像 李华
网站建设 2026/5/9 22:43:42

从账单追溯功能看大模型API使用的透明性与可控性

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 从账单追溯功能看大模型API使用的透明性与可控性 对于将大模型API投入实际应用的个人开发者或团队而言&#xff0c;成本控制与费用…

作者头像 李华
网站建设 2026/5/9 22:37:37

卷积改进与轻量化:重参数化再升级:RepConv 引入多尺度分支,训练期提取多感受野特征,推理单路无损

一、问题缘起:当单结构不再够用 2026年已经过半,计算机视觉模型在边缘端的部署需求持续井喷。根据Ultralytics官方博客在2026年4月发布的信息,YOLO26 Nano模型在标准CPU上的推理速度较YOLO11提升了高达43%,这标志着边缘AI进入了一个新的加速周期。然而,这个成绩的背后隐藏…

作者头像 李华
网站建设 2026/5/9 22:37:36

卷积改进与轻量化:时序卷积 TCN 化——将卷积扩展为因果时序卷积,用于视频流检测的时序特征增强

一、问题引入:视频流检测为什么需要“时序思维”? 在自动驾驶、智能安防、工业视觉和具身智能等实时应用场景中,视频流检测正逐渐取代静态图像检测成为主旋律。然而,当前绝大多数目标检测模型——包括YOLO系列、RT-DETR、DETR等——本质上仍然是“逐帧级”的处理方式:输入…

作者头像 李华