待验证---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 位,请稍候或切换至其他模型问答体验更流畅。
相关推荐
Web项目开发17 分钟前
Mysql创建索引的SQL脚本,复制粘贴即可使用
数据库·sql·mysql
晴天¥1 小时前
Oracle如何在DBeaver上进行登录
数据库·oracle
2301_800256111 小时前
事务处理-同步与调度-两阶段锁-隔离级别
数据库·oracle
小罗和阿泽1 小时前
MySql数据库系列 数据库基础操作
数据库·mysql
周末吃鱼1 小时前
mysql8.0支持CURRENT_DATE如何写
数据库·sql·mysql
kaico20181 小时前
MySQL的窗口函数
数据库·mysql
MM_MS2 小时前
Halcon控制语句
java·大数据·前端·数据库·人工智能·算法·视觉检测
薛定谔的猫19822 小时前
LlamaIndex(三) LlamaHub工具集
数据库·mysql·llamahub
小画家~2 小时前
第四十六: channel 高级使用
java·前端·数据库
晴天¥2 小时前
了解Oracle中的体系结构
数据库