温馨提示×

CentOS Oracle如何更新

小樊
37
2025-10-19 16:57:08
栏目: 云计算

CentOS环境下Oracle数据库更新指南

一、升级前准备

  1. 数据备份:升级前必须对数据库进行完整备份(如使用RMAN全量备份或Data Pump导出),确保数据安全。
  2. 系统兼容性检查:确认新版本Oracle与CentOS系统版本、硬件配置(如内存、磁盘空间)兼容,参考Oracle官方文档的“Compatibility Matrix”。
  3. 依赖包安装:安装系统必需的依赖包(如gcclibaio-develcompat-libstdc++-33elfutils-libelf-develglibc-devel),避免安装过程中报错。
  4. 下载软件包:从Oracle官方网站下载新版本Oracle Database软件包(如19c、21c)及所需补丁(如PSU、CPU),并上传至CentOS服务器。
  5. 环境准备:取消当前ORACLE_HOMEORACLE_SID等环境变量设置(可通过unset命令),并备份预安装配置文件(如/etc/profile~/.bash_profile)。

二、停止Oracle服务

  1. 关闭监听器:使用lsnrctl命令停止数据库监听器,确保无新连接进入。
    lsnrctl stop
    
  2. 关闭数据库实例:以sysdba身份登录SQL*Plus,执行SHUTDOWN IMMEDIATE命令关闭数据库(避免数据丢失)。
    sqlplus / as sysdba
    SQL> SHUTDOWN IMMEDIATE;
    

三、安装新版本Oracle软件

  1. 解压软件包:将下载的新版本Oracle软件包解压至目标目录(如/u01/app/oracle/product/19.0.0/dbhome_1)。
    unzip /path/to/oracle_database_19c_software.zip -d /u01/app/oracle/product/19.0.0/dbhome_1
    
  2. 配置环境变量:编辑~/.bash_profile(或/etc/profile),添加新版本Oracle的环境变量(ORACLE_BASEORACLE_HOMEORACLE_SIDPATH),并执行source命令使配置生效。
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
    export ORACLE_SID=ORCLCDB
    export PATH=$ORACLE_HOME/bin:$PATH
    source ~/.bash_profile
    
  3. 应用补丁:使用OPatch工具安装新版本所需的补丁(如PSU),确保补丁版本符合要求(可通过opatch version检查当前OPatch版本)。
    cd $ORACLE_HOME/OPatch
    ./opatch apply /path/to/patch/p6880880_190000_linux-x86-64.zip
    

四、升级数据库实例

  1. 使用DBUA工具升级(图形化):进入新版本Oracle的dbua目录,运行runInstaller启动Database Upgrade Assistant(DBUA),按照向导提示选择数据库实例、升级选项(如保留数据文件、自动调整参数),完成升级。
    cd /u01/app/oracle/product/19.0.0/dbhome_1/dbua
    ./runInstaller
    
  2. 手动升级(命令行):若需自动化升级,可使用catupgrd.sql脚本手动执行升级。首先启动数据库到升级模式,然后运行脚本,最后执行后续清理脚本。
    sqlplus / as sysdba
    SQL> STARTUP UPGRADE;
    SQL> @?/rdbms/admin/catupgrd.sql
    SQL> @?/rdbms/admin/utlrp.sql  -- 编译无效对象
    SQL> SHUTDOWN IMMEDIATE;
    SQL> STARTUP;
    

五、验证升级结果

  1. 检查Oracle版本:登录SQL*Plus,执行SELECT * FROM v$version;命令,确认数据库版本已更新。
    sqlplus / as sysdba
    SQL> SELECT * FROM v$version;
    
  2. 检查组件状态:查询DBA_REGISTRY视图,确认所有组件(如CATALOGCATPROC)已升级至新版本且状态为VALID
    SQL> SELECT COMP_ID, COMP_NAME, VERSION, STATUS FROM DBA_REGISTRY ORDER BY COMP_ID;
    
  3. 检查无效对象:统计DBA_OBJECTS视图中状态为INVALID的对象数量,若有无效对象,需重新编译(如执行utlrp.sql脚本)。
    SQL> SELECT COUNT(*) FROM dba_objects WHERE status != 'VALID';
    

六、升级后优化与维护

  1. 优化初始化参数:根据新版本要求调整内存参数(如SGA_TARGETPGA_AGGREGATE_TARGET),优化数据库性能。
  2. 监控系统资源:升级后持续监控CPU、内存、磁盘I/O使用情况,确保系统资源充足。
  3. 检查日志文件:查看alert.loginstall.log等日志文件,排查升级过程中的警告或错误信息。

0