当前位置: 首页 > ds >正文

待验证---Oracle 19c 在 CentOS 7 上的快速安装部署指南

Oracle 19c 在 CentOS 7 上的快速安装部署指南

Oracle Database 19c 是一个功能强大的企业级数据库系统,下面我将为您提供在 CentOS 7 上快速安装部署 Oracle 19c 的详细步骤。

一、准备工作

1. 系统要求

  • CentOS 7 (64位)
  • 最小内存: 2GB (推荐 8GB 以上)
  • 最小磁盘空间: 12GB (推荐 50GB 以上)
  • Swap 空间: 至少等于物理内存大小

2. 安装必要的软件包

yum install -y oracle-database-preinstall-19c

这个包会自动配置系统环境,包括创建用户组、设置内核参数等。

二、下载 Oracle 19c 软件

从 Oracle 官方网站下载 Oracle Database 19c 安装包:

# 创建下载目录
mkdir -p /opt/oracle/software
cd /opt/oracle/software# 下载安装包 (需要 Oracle 账号)
# 可以从 https://www.oracle.com/database/technologies/oracle-database-software-downloads.html 下载
# 文件名: LINUX.X64_193000_db_home.zip(Oracle Database 19c for Linux x86-64选择后面的zip)

在这里插入图片描述

三、安装 Oracle 19c

1. 解压安装包

# 切换到 oracle 用户
su - oracle# 创建安装目录
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1# 解压安装包
cd /u01/app/oracle/product/19.0.0/dbhome_1
unzip -q /opt/oracle/software/LINUX.X64_193000_db_home.zip

2. 执行静默安装

# 创建响应文件
cat > /home/oracle/db_install.rsp <<EOF
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
EOF# 执行安装
cd /u01/app/oracle/product/19.0.0/dbhome_1
./runInstaller -silent -responseFile /home/oracle/db_install.rsp -noconfig

3. 执行根脚本

安装完成后,会提示执行两个根脚本,切换到 root 用户执行:

# 以 root 用户执行
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh

四、创建数据库

1. 准备响应文件

# 切换回 oracle 用户
su - oracle# 创建响应文件
cat > /home/oracle/dbca.rsp <<EOF
gdbName=orcl
sid=orcl
createAsContainerDatabase=false
templateName=General_Purpose.dbc
sysPassword=YourPassword123
systemPassword=YourPassword123
emConfiguration=NONE
datafileDestination=/u01/app/oracle/oradata
characterSet=AL32UTF8
totalMemory=2048
EOF

2. 创建数据库

# 设置环境变量
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH# 使用 DBCA 创建数据库
dbca -silent -createDatabase -responseFile /home/oracle/dbca.rsp

五、配置环境

1. 设置环境变量

# 为 oracle 用户添加环境变量
cat > /home/oracle/.bash_profile <<EOF
# Oracle 环境变量
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=\$PATH:\$ORACLE_HOME/bin
EOF# 使环境变量生效
source /home/oracle/.bash_profile

2. 配置监听

# 配置监听
netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp

3. 启动数据库

# 连接到 SQL*Plus
sqlplus / as sysdba# 启动数据库
SQL> startup

六、验证安装

# 检查数据库状态
sqlplus / as sysdba <<EOF
select status from v\$instance;
exit;
EOF# 检查监听状态
lsnrctl status

七、配置自启动

# 创建自启动脚本
cat > /etc/systemd/system/oracle-database.service <<EOF
[Unit]
Description=Oracle Database Service
After=network.target[Service]
Type=forking
User=oracle
Group=oinstall
ExecStart=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbstart /u01/app/oracle/product/19.0.0/dbhome_1
ExecStop=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbshut /u01/app/oracle/product/19.0.0/dbhome_1
Restart=no[Install]
WantedBy=multi-user.target
EOF# 启用服务
systemctl daemon-reload
systemctl enable oracle-database.service

八、常见问题解决

  1. 内存不足:修改 /etc/sysctl.conf 增加 swap 空间
  2. 权限问题:确保 oracle 用户对安装目录有完全权限
  3. 防火墙问题:配置防火墙允许 Oracle 端口 (默认 1521)
    firewall-cmd --permanent --add-port=1521/tcp
    firewall-cmd --reload
    

总结

通过以上步骤,您已经成功在 CentOS 7 上安装并配置了 Oracle Database 19c。这种静默安装方式适合快速部署,无需图形界面交互,特别适合服务器环境。

请记得修改示例中的密码,并根据实际环境调整内存和存储配置。

    当前模型请求量过大,请求排队约 1 位,请稍候或切换至其他模型问答体验更流畅。
http://www.xdnf.cn/news/2749.html

相关文章:

  • Java生成微信小程序码及小程序短链接
  • TensorFlow深度学习框架:从入门到精通的完整指南
  • 基于Java,SSH,Vue电子商品交易二手平台仿闲鱼转转验机系统设计
  • Eureka 深度解析:从原理到部署的全场景实践
  • 喷泉码技术在现代物联网中的应用 设计
  • 组装 (DIY) 一台显示器 (4K 屏支持 4 画面分屏 PBP 1080p x4)
  • 前端基础面试题(4-8)
  • 推荐 1 款 9.3k stars 的全景式开源数据分析与可视化工具
  • Python爬虫(9)Python数据存储实战:基于pymysql的MySQL数据库操作详解
  • 疫苗接种体系进入“全生命周期”时代:公共卫生治理再提速
  • 学习记录:DAY19
  • AI在Java中的场景面试题深度解析
  • 从外卖大战看O2O新趋势:上门私厨平台系统架构设计解析
  • kalibr:相机模型
  • 8.Three.js中的 StereoCamera 立体相机详解+示例代码
  • 第十三章-PHP MySQL扩展
  • 处理对象集合,输出Map<String, Map<String, List<MyObject>>>格式数据,无序组合键处理方法
  • Android学习总结之Java篇(一)
  • 记一次pdf转Word的技术经历
  • Mioty|采用报文分割(Telegram Splitting)以提高抗干扰能力的无线通信技术
  • elasticsearch底层模块解析与实践系列
  • 基于大模型的胆总管结石全流程预测与临床应用研究报告
  • 基于 SpringBoot 与 Redis 的缓存预热案例
  • 【计算机视觉】CV实战项目-高分辨率遥感图像语义分割:High-Resolution-Remote-Sensing-Semantic-Segmentation
  • 《Vue3学习手记6》
  • 人工智能期末复习1
  • Java8 后接口的用法总结
  • 「Mac畅玩AIGC与多模态04」开发篇01 - 创建第一个 LLM 对话应用
  • 深入理解布隆过滤器:参数设定与优化
  • EXCEL常用函数公式和VBA汇总第二篇