Oracle Database升级在CentOS上的操作指南
升级前必须对数据库进行完整备份(包括数据文件、控制文件、归档日志等),推荐使用RMAN进行全量备份:rman target / BACKUP DATABASE PLUS ARCHIVELOG;。同时备份配置文件(如listener.ora、tnsnames.ora、spfile)和预升级脚本。
通过yum安装Oracle要求的依赖包,避免升级失败:
yum install -y gcc libaio-devel compat-libstdc++-33 elfutils-libelf-devel glibc-devel glibc-headers gcc-c++ libstdc++-devel libnsl。
从Oracle官方网站下载对应CentOS架构(x86_64)的新版本Oracle Database软件包(如19c、21c、23ai的RPM包或压缩包),并上传至CentOS服务器。
oracle)和组(oinstall、dba)已存在:id oracle;.bash_profile文件(vi /home/oracle/.bash_profile),添加环境变量:export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/23ai/dbhome_1 # 新版本路径
export ORACLE_SID=ORCLCDB
export PATH=$ORACLE_HOME/bin:$PATH
source /home/oracle/.bash_profile。lsnrctl stop;sqlplus / as sysdba → SHUTDOWN IMMEDIATE; → exit。备份现有ORACLE_HOME目录:cp -a /u01/app/oracle/product/19.3.0/dbhome_1 /u01/app/oracle/product/19.3.0/dbhome_1_backup(旧版本路径)。
/u01/app/oracle/product/23ai/dbhome_1):unzip linux.x64_23ai_db_home.zip -d /u01/app/oracle/product/23ai/dbhome_1;opatch应用最新补丁(如有):cd $ORACLE_HOME/OPatch → ./opatch apply /path/to/patch_file.zip。dbua工具:cd $ORACLE_HOME/bin → ./dbua,按照向导选择“升级现有数据库”,指定旧版本ORACLE_HOME和新版本ORACLE_HOME,完成升级;BIN目录:cd $ORACLE_HOME/bin,运行升级脚本:./dbupgrade -silent -upgradeDb -sourceHome /u01/app/oracle/product/19.3.0/dbhome_1 -targetHome /u01/app/oracle/product/23ai/dbhome_1 -sid ORCLCDB。$ORACLE_BASE/cfgtoollogs/dbua或$ORACLE_HOME/cfgtoollogs),确认无错误;sqlplus / as sysdba → SELECT * FROM v$version;;SELECT COUNT(*) FROM dba_objects WHERE status != 'VALID';(若有无效对象,可运行utlrp.sql重新编译:@?/rdbms/admin/utlrp.sql)。SGA_TARGET、PGA_AGGREGATE_TARGET),修改$ORACLE_HOME/config/scripts/init.ora或SPFILE;REMOTE_LOGIN_PASSWORDFILE设置为EXCLUSIVE或SHARED;DBMS_PDB包或图形化工具转换为可插拔数据库(PDB);