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

相关推荐
jnrjian12 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle
TTc_12 天前
oracle中的union和union all有什么区别?
数据库·oracle
山峰哥12 天前
吃透 SQL 优化:告别慢查询,解锁数据库高性能
服务器·数据库·sql·oracle·性能优化·编辑器
南 阳12 天前
Python从入门到精通day37
数据库·python·oracle
轩情吖12 天前
MySQL库的操作
android·数据库·mysql·oracle·字符集·数据库操作·编码集
脱发的老袁12 天前
【数据库】Oracle手动清理归档日志
数据库·oracle
jnrjian12 天前
Oracle 共享池 库缓存下的 Library Cache Lock
数据库·缓存·oracle
新缸中之脑13 天前
在Reddit上探索未满足的需求
数据库·oracle
light blue bird13 天前
产线多并发客户端指令操作场景组件
jvm·oracle·.net·winform
坐吃山猪13 天前
Neo4j04_数据库事务
数据库·oracle·neo4j