待验证---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. 安装必要的软件包

bash 复制代码
yum install -y oracle-database-preinstall-19c

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

二、下载 Oracle 19c 软件

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

bash 复制代码
# 创建下载目录
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. 解压安装包

bash 复制代码
# 切换到 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. 执行静默安装

bash 复制代码
# 创建响应文件
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 用户执行:

bash 复制代码
# 以 root 用户执行
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh

四、创建数据库

1. 准备响应文件

bash 复制代码
# 切换回 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. 创建数据库

bash 复制代码
# 设置环境变量
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. 设置环境变量

bash 复制代码
# 为 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. 配置监听

bash 复制代码
# 配置监听
netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp

3. 启动数据库

bash 复制代码
# 连接到 SQL*Plus
sqlplus / as sysdba

# 启动数据库
SQL> startup

六、验证安装

bash 复制代码
# 检查数据库状态
sqlplus / as sysdba <<EOF
select status from v\$instance;
exit;
EOF

# 检查监听状态
lsnrctl status

七、配置自启动

bash 复制代码
# 创建自启动脚本
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)

    bash 复制代码
    firewall-cmd --permanent --add-port=1521/tcp
    firewall-cmd --reload

总结

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

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

复制代码
    当前模型请求量过大,请求排队约 1 位,请稍候或切换至其他模型问答体验更流畅。
相关推荐
刘一说2 分钟前
CentOS 系统 Java 开发测试环境搭建手册
java·linux·运维·服务器·centos
不羁。。5 小时前
【撸靶笔记】第七关:GET - Dump into outfile - String
数据库·笔记·oracle
yangchanghua1117 小时前
pgsql 如何查询今天范围内的数据(当天0点0分0秒 - 当天23点59分59秒....)
数据库·pgsql
larance7 小时前
SQLAlchemy 的异步操作来批量保存对象列表
数据库·python
python_chai7 小时前
从数据汇总到高级分析,SQL 查询进阶实战(下篇)—— 分组、子查询与窗口函数全攻略
数据库·sql·mysql
在努力的前端小白7 小时前
Spring Boot 敏感词过滤组件实现:基于DFA算法的高效敏感词检测与替换
java·数据库·spring boot·文本处理·敏感词过滤·dfa算法·组件开发
未来之窗软件服务7 小时前
自建知识库,向量数据库 (九)之 量化前奏分词服务——仙盟创梦IDE
数据库·仙盟创梦ide·东方仙盟·自建ai·ai分词
冒泡的肥皂10 小时前
MVCC初学demo(一
数据库·后端·mysql
Fireworkitte10 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
ac.char11 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos