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 官方文档以获取最新的安全公告和最佳实践指南。

相关推荐
JH307318 分钟前
Oracle与MySQL中CONCAT()函数的使用差异
数据库·mysql·oracle
斗-匕3 小时前
MySQL 三大日志详解
数据库·mysql·oracle
王小小鸭7 小时前
【开发小技巧11】用经典报表实现badge list效果,根据回显内容用颜色加以区分
oracle·oracle apex
大白要努力!7 小时前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
Mephisto.java10 小时前
【大数据学习 | Spark】Spark的改变分区的算子
大数据·elasticsearch·oracle·spark·kafka·memcache
远歌已逝14 小时前
维护在线重做日志(二)
数据库·oracle
LKID体1 天前
Python操作neo4j库py2neo使用(一)
python·oracle·neo4j
斗-匕1 天前
Spring事务管理
数据库·spring·oracle
一行玩python1 天前
SQLAlchemy,ORM的Python标杆!
开发语言·数据库·python·oracle
王ASC1 天前
ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值。ojdbc8版本23.2.0.0驱动BUG【已解决】
数据库·sql·oracle