CentOS环境下Oracle数据库更新指南
gcc、libaio-devel、compat-libstdc++-33、elfutils-libelf-devel、glibc-devel),避免安装过程中报错。ORACLE_HOME、ORACLE_SID等环境变量设置(可通过unset命令),并备份预安装配置文件(如/etc/profile、~/.bash_profile)。lsnrctl命令停止数据库监听器,确保无新连接进入。lsnrctl stop
sysdba身份登录SQL*Plus,执行SHUTDOWN IMMEDIATE命令关闭数据库(避免数据丢失)。sqlplus / as sysdba
SQL> SHUTDOWN IMMEDIATE;
/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
~/.bash_profile(或/etc/profile),添加新版本Oracle的环境变量(ORACLE_BASE、ORACLE_HOME、ORACLE_SID、PATH),并执行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
OPatch工具安装新版本所需的补丁(如PSU),确保补丁版本符合要求(可通过opatch version检查当前OPatch版本)。cd $ORACLE_HOME/OPatch
./opatch apply /path/to/patch/p6880880_190000_linux-x86-64.zip
dbua目录,运行runInstaller启动Database Upgrade Assistant(DBUA),按照向导提示选择数据库实例、升级选项(如保留数据文件、自动调整参数),完成升级。cd /u01/app/oracle/product/19.0.0/dbhome_1/dbua
./runInstaller
catupgrd.sql脚本手动执行升级。首先启动数据库到升级模式,然后运行脚本,最后执行后续清理脚本。sqlplus / as sysdba
SQL> STARTUP UPGRADE;
SQL> @?/rdbms/admin/catupgrd.sql
SQL> @?/rdbms/admin/utlrp.sql -- 编译无效对象
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;
SELECT * FROM v$version;命令,确认数据库版本已更新。sqlplus / as sysdba
SQL> SELECT * FROM v$version;
DBA_REGISTRY视图,确认所有组件(如CATALOG、CATPROC)已升级至新版本且状态为VALID。SQL> SELECT COMP_ID, COMP_NAME, VERSION, STATUS FROM DBA_REGISTRY ORDER BY COMP_ID;
DBA_OBJECTS视图中状态为INVALID的对象数量,若有无效对象,需重新编译(如执行utlrp.sql脚本)。SQL> SELECT COUNT(*) FROM dba_objects WHERE status != 'VALID';
SGA_TARGET、PGA_AGGREGATE_TARGET),优化数据库性能。alert.log、install.log等日志文件,排查升级过程中的警告或错误信息。