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

静默安装 Oracle Database 21c on CentOS 7.9

文章目录

  • 前言:
  • 一、环境准备
    • 1.1 系统信息
    • 1.2 创建 Oracle 用户和组
    • 1.3 创建安装目录
  • 二、系统配置
    • 2.1 关闭防火墙和 SELinux
    • 2.2 配置内核参数
    • 2.3 配置用户资源限制
  • 三、安装依赖包
  • 四、配置 Oracle 用户环境
  • 五、上传并解压 Oracle 21c 安装包
  • 六、静默安装数据库
  • 七、创建监听
  • 八、创建数据库实例(静默方式)
  • 九、验证安装
  • 结语

前言:

在实际的生产环境中,我们常常需要在没有图形界面的服务器上部署 Oracle 数据库。本文将详细介绍如何在 CentOS 7.6 系统上通过静默方式(Silent Mode)安装 Oracle Database 21c,无需启动图形化界面,全程命令行操作,适合自动化脚本和远程部署。

一、环境准备

1.1 系统信息

# 查看系统版本
cat /etc/centos-release
# 输出:CentOS Linux release 7.6.1810 (Core) 
# 查看内存(建议至少 4GB,推荐 8GB+)
free -h
# 查看磁盘空间(建议 /tmp 至少 10GB,/u01 至少 20GB)
df -h

1.2 创建 Oracle 用户和组

# 创建 Oracle 用户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle

1.3 创建安装目录

# 创建相关目录
mkdir -p /u01/app/oracle/product/21c/db
mkdir -p /u01/oradata
chown -R oracle:oinstall /u01
chmod -R 775 /u01

二、系统配置

2.1 关闭防火墙和 SELinux

# 停止并禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
# 禁用 SELinux(临时)
setenforce 0
# 永久禁用 SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

2.2 配置内核参数

## 编辑 /etc/sysctl.conf:
cat >> /etc/sysctl.conf << EOF
fs.file-max = 6815744
kernel.sem = 5010 641280 5010 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
EOF
# 应用配置
sysctl -p

2.3 配置用户资源限制

# 编辑 /etc/security/limits.conf:
cat >> /etc/security/limits.conf << EOF
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 3145728
oracle hard memlock 3145728
EOF

三、安装依赖包

yum install bc binutils compat-openssl10 elfutils-libelf glibc glibc-devel ksh libaio libXrender libX11 libXau libXi libXtst libgcc libnsl libstdc++ libxcb libibverbs make policycoreutils policycoreutils-python-utils smartmontools sysstat

四、配置 Oracle 用户环境

cat >> /home/oracle/.bash_profile <<EOF
# Oracle Settings
export TMP=/tmp
export TMPDIR=\$TM
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/21c/db
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=orcl
export PDB_NAME=orclpdb
export PATH=/usr/sbin:/usr/local/bin:\$PATH
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
EOF

五、上传并解压 Oracle 21c 安装包

## 将LINUX.X64_213000_db_home.zip上传到/tmp目录下
chmod 777 LINUX.X64_213000_db_home.zip 
su - oracle
cd $ORACLE_HOME
unzip -oq /tmp/LINUX.X64_213000_db_home.zip 

六、静默安装数据库

执行静默安装

./runInstaller -ignorePrereq -waitforcompletion -silent                        \-responseFile ${ORACLE_HOME}/install/response/db_install.rsp               \oracle.install.option=INSTALL_DB_SWONLY                                    \ORACLE_HOSTNAME=${ORACLE_HOSTNAME}                                         \UNIX_GROUP_NAME=oinstall                                                   \INVENTORY_LOCATION=${ORA_INVENTORY}                                        \SELECTED_LANGUAGES=en,en_US                                                \ORACLE_HOME=${ORACLE_HOME}                                                 \ORACLE_BASE=${ORACLE_BASE}                                                 \oracle.install.db.InstallEdition=EE                                        \oracle.install.db.OSDBA_GROUP=dba                                          \oracle.install.db.OSBACKUPDBA_GROUP=dba                                    \oracle.install.db.OSDGDBA_GROUP=dba                                        \oracle.install.db.OSKMDBA_GROUP=dba                                        \oracle.install.db.OSRACDBA_GROUP=dba                                       \SECURITY_UPDATES_VIA_MYORACLESUPPORT=false                                 \DECLINE_SECURITY_UPDATES=true##安装完成后根据提示用root执行脚本
sh /u01/app/oraInventory/orainstRoot.sh
sh /u01/app/oracle/product/21c/db/root.sh

七、创建监听

cd assistants/netca
cp netca.rsp netca.rsp.bak
netca /silent /responseFile $ORACLE_HOME/assistants/netca/netca.rsp
# 查看监听状态
lsnrctl status
## 如果要配置远程连接 需更改配置文件/u01/app/oracle/homes/OraDB21Home1/network/admin/listener.ora,将HOST = hostname改成HOST = 0.0.0.0,修改后重启
lsnrctl stop
lsnrctl start

八、创建数据库实例(静默方式)

dbca -silent -createDatabase                                                   \-templateName General_Purpose.dbc                                         \-gdbname ${ORACLE_SID} -sid  ${ORACLE_SID} -responseFile NO_VALUE         \-characterSet ZHS16GBK                                                    \-sysPassword Oracle21c                                                    \-systemPassword Oracle21c                                                 \-createAsContainerDatabase true                                           \-numberOfPDBs 1                                                           \-pdbName ${PDB_NAME}                                                      \-pdbAdminPassword Oracle21c                                               \-databaseType MULTIPURPOSE                                                \-memoryMgmtType auto_sga                                                  \-totalMemory 2000                                                         \-storageType FS                                                           \-datafileDestination "/u01/oradata"                                       \-redoLogFileSize 50                                                       \-ignorePreReqs

九、验证安装

# 登录数据库
sqlplus / as sysdba
SQL> select status from v$instance;
-- 输出:OPEN
SQL> select name from v$database;
-- 输出:ORCL

结语

通过以上步骤,我们成功在 CentOS 7.6 上完成了 Oracle 21c 的静默安装与数据库创建。该方法适用于无图形界面的服务器、自动化部署和 CI/CD 流程集成。建议将关键步骤(如用户创建、内核参数、响应文件)封装为 Shell 脚本,提升部署效率。

http://www.dtcms.com/a/395053.html

相关文章:

  • DINOv3详解+实际下游任务模型使用细节(分割,深度,分类)+ Lora使用+DINOv1至v3区别变换分析(可辅助组会)
  • Linux编译SRS并测试RTMP流
  • 【完整源码+数据集+部署教程】遥感温室图像分割系统: yolov8-seg-slimneck
  • Apache 生产环境操作与 LAMP 搭建指南
  • 11种数据库类型详解:数据库分关系数据库、非关系数据库、时序数据库、向量数据库等
  • UVa12180/LA4300 The Game
  • Kafka 核心原理、架构与实践指南
  • Tesollo展示灵巧手自动化精准测量系统
  • 11MySQL触发器实战:用户操作日志审计系统
  • 【深度学习计算机视觉】06:目标检测数据集
  • visual studio 2019离线安装
  • 【Unity笔记】Unity 模型渲染优化:从 Batching 到 GI 设置的完整指南
  • 【AI领域】如何写好Prompt提示词:从新手到进阶的完整指南
  • Unity 性能优化 之 内存优化
  • PCB 通孔技术全解析:结构参数、制造工艺与质量控制指南
  • 1.13-Web身份鉴权技术
  • 【完整源码+数据集+部署教程】水母图像分割系统: yolov8-seg-rtdetr
  • 《从零到精通:PyTorch (GPU 加速版) 完整安装指南
  • B站的视频资源转换为可用的MP4文件
  • 5. 数据类型转换
  • 有没有更多Java进阶项目?
  • Rada and the Chamomile Valley(Tarjan缩点+多源BFS)
  • Jfrog开源替代,推荐一款国产开源免费的制品管理工具 - Hadess
  • 《C++进阶之C++11》【列表初始化 + 右值引用】
  • 【Redis】:从应用了解Redis
  • 从零到一打造前端内存监控 SDK,并发布到 npm ——基于 TypeScript + Vite + ECharts的解决方案
  • 【星海随笔】RabbitMQ容器篇
  • OpenCV:人脸识别实战,3 种算法(LBPH/EigenFaces/FisherFaces)代码详解
  • OneSignal PHP SDK v2 版本实现指南
  • Dockerfile构建镜像以及网络