CentOS 7.9 通过 RPM 安装配置 Oracle 19c 数据库

CentOS 7.9 通过 RPM 安装配置 Oracle 19c 数据库

准备工作

  • 确保 CentOS 7.9 虚拟机有足够资源(至少 2GB RAM 和 50G - 100G 未使用磁盘空间 )
  • 确保虚拟机能访问互联网
  • 确保有 root 或 sudo 权限

下载 Oracle 19c RPM 包

  1. Oracle Database 19c (19.3) for Linux x86-64 RPM

    • 访问官方下载页面:www.oracle.com/database/te...
    • 登录您的 Oracle 账户(如果没有,需要免费注册)
    • 下载文件:oracle-database-ee-19c-1.0-1.x86_64.rpm
  2. Oracle Database 19c (19.3) Preinstall RPM for Oracle Linux 7

    • 预安装包下载地址:yum.oracle.com/repo/Oracle...

    • 在此页面中,找到并下载 oracle-database-preinstall-19c 的最新版本

    • 或者,您可以使用以下命令直接下载:

      bash 复制代码
      curl -O https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm

    注意:版本号可能会随时间更新,请确保下载最新版本。

  3. 将下载的 RPM 包传输到您的 CentOS 7.9 虚拟机中

安装步骤

  1. 更新系统:
bash 复制代码
sudo yum update -y

验证:更新完成后,运行 yum check-update,如果没有输出,则表示系统已是最新。

  1. 安装 Oracle 预安装包:
bash 复制代码
sudo yum localinstall -y oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm

验证:运行 rpm -q oracle-database-preinstall-19c,应该显示已安装的包信息。

  1. 安装 Oracle 数据库软件:
bash 复制代码
sudo yum localinstall -y oracle-database-ee-19c-1.0-1.x86_64.rpm

验证:运行 rpm -q oracle-database-ee-19c,应该显示已安装的包信息。

  1. 配置 Oracle 数据库:
bash 复制代码
sudo /etc/init.d/oracledb_ORCLCDB-19c configure

注:此步骤会创建并配置数据库,可能需要一些时间。执行该命令前你可以修改 /etc/init.d/oracledb_ORCLCDB-19c 文件为你想要的配置(可选)。

验证:配置完成后,你应该看到成功信息。可以通过 ps -ef | grep ora_ 命令检查 Oracle 进程是否在运行。

  1. 设置 Oracle 环境变量:

编辑 /home/oracle/.bash_profile 文件:

bash 复制代码
sudo -u oracle vi /home/oracle/.bash_profile

添加以下内容(删除原 export PATH,调整 PATH 内容):

bash 复制代码
# User specific environment and startup programs

# System and user specific paths
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$HOME/.local/bin:$HOME/bin

# Oracle specific environment variables
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB
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
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
  1. 切换到 oracle 用户并使环境变量生效:
bash 复制代码
sudo su - oracle
source ~/.bash_profile

验证:运行 env | grep ORACLE,应该显示所有设置的 Oracle 相关环境变量。

  1. 连接到数据库:
bash 复制代码
sqlplus / as sysdba

验证:如果成功连接,你应该看到 SQL 提示符。

  1. 修改 SYS 和 SYSTEM 用户的密码:
sql 复制代码
ALTER USER SYS IDENTIFIED BY new_password;
ALTER USER SYSTEM IDENTIFIED BY new_password;
EXIT

验证:尝试使用新密码登录:sqlplus sys/new_password as sysdba

  1. 配置防火墙(远程连接需要开放 1521 端口):
bash 复制代码
sudo firewall-cmd --permanent --add-port=1521/tcp
sudo firewall-cmd --reload

验证:运行 sudo firewall-cmd --list-ports,应该看到 1521/tcp 在列表中。

完成以上步骤后,Oracle 19c 数据库应该已经在您的 CentOS 7.9 系统上成功安装和配置。请根据实际情况调整相应的设置。

注意:如果您仅需在虚拟机环境下本地访问数据库,您不需要更改任何监听配置,仅仅开放1521端口或您自己配置的端口即可。
如果您不在本地环境下访问数据库,您可能还需要修改监听配置文件中地址为0.0.0.0以支持远程访问。具体步骤如下:
  1. 修改 listener.ora 文件:
bash 复制代码
sudo vi /opt/oracle/homes/OraDB19Home1/network/admin/listener.ora

将 HOST 参数改为 0.0.0.0

验证:检查文件内容,确保 HOST 参数已更改。

  1. 修改 tnsnames.ora 文件:
bash 复制代码
sudo vi /opt/oracle/homes/OraDB19Home1/network/admin/tnsnames.ora

确保数据库服务名配置正确,HOST 设置为 0.0.0.0

验证:检查文件内容,确保 HOST 参数已更改。

  1. 重启 Oracle 监听器服务:
bash 复制代码
lsnrctl stop
lsnrctl start

验证:运行 lsnrctl status,应该显示监听器正在运行。

  1. 验证配置:
bash 复制代码
lsnrctl status

验证:输出应显示监听器状态和配置信息,包括更新后的 HOST 地址。

常见问题及解决方案

  1. 内存不足:

    • 症状:安装过程中出现 ORA-00845 错误。
    • 解决方案:增加虚拟机内存,至少需要 2GB。
  2. 网络连接问题:

    • 症状:无法下载或安装包。
    • 解决方案:检查网络连接,确保可以访问外网。如果使用代理,配置 yum 使用代理。
  3. 权限问题:

    • 症状:安装过程中出现权限错误。
    • 解决方案:确保使用 root 用户或有 sudo 权限的用户执行安装命令。

性能调优和安全加固

  1. 内存管理:

    • 调整 SGA 和 PGA 大小:编辑 init.ora 文件,根据系统内存调整 SGA_TARGET 和 PGA_AGGREGATE_TARGET 参数。
  2. 磁盘 I/O 优化:

    • 使用 ASM(自动存储管理)来优化磁盘 I/O。
    • 将数据文件、重做日志和归档日志放在不同的磁盘上。
  3. 安全加固:

    • 定期更新 Oracle 补丁。
    • 使用 Oracle 审计功能监控数据库活动。
    • 实施强密码策略。
    • 限制对 SYSTEM 和 SYS 账户的访问。

数据库备份和恢复基础

  1. RMAN(Recovery Manager)备份:

    ini 复制代码
    sql
    RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
  2. 导出数据(逻辑备份):

    ini 复制代码
    bash
    expdp system/password DIRECTORY=data_pump_dir DUMPFILE=full_backup.dmp FULL=Y
  3. 恢复数据库:

    ini 复制代码
    sql
    RMAN> RESTORE DATABASE;
    RMAN> RECOVER DATABASE;
  4. 导入数据:

    ini 复制代码
    bash
    impdp system/password DIRECTORY=data_pump_dir DUMPFILE=full_backup.dmp FULL=Y

注意:在实施任何备份或恢复操作之前,请确保完全理解这些命令的影响,并在非生产环境中进行测试。

完成以上步骤后,Oracle 19c 数据库应该已经在您的 CentOS 7.9 系统上成功安装和配置。请根据实际情况调整相应的设置。

重要提示:在生产环境中,请确保遵循 Oracle 的最佳实践和安全建议,包括但不限于定期更新、适当的权限管理和全面的数据备份策略。建议定期检查 Oracle 官方文档以获取最新的安全公告和最佳实践指南。

相关推荐
百度智能云技术站10 小时前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle
梦想平凡12 小时前
PHP 微信棋牌开发全解析:高级教程
android·数据库·oracle
夏木~14 小时前
Oracle 中什么情况下 可以使用 EXISTS 替代 IN 提高查询效率
数据库·oracle
吴冰_hogan15 小时前
MySQL InnoDB 存储引擎 Redo Log(重做日志)详解
数据库·oracle
CodeCraft Studio15 小时前
【实用技能】如何在 SQL Server 中处理 Null 或空值?
数据库·oracle·sqlserver
武汉联从信息15 小时前
浅谈ORACLE中间件SOA BPM,IDM,OID,UCM,WebcenterPortal服务器如何做迁移切换
oracle
Elastic 中国社区官方博客16 小时前
Elasticsearch:什么是查询语言?
大数据·数据库·elasticsearch·搜索引擎·oracle
夜光小兔纸17 小时前
oracle dblink 的创建及使用
数据库·oracle
Smile丶凉轩17 小时前
MySQL库的操作
数据库·mysql·oracle
p@nd@19 小时前
Oracle筑基篇-调度算法-LRU的引入
数据库·oracle·操作系统·lru