rman target / → BACKUP DATABASE;)或Data Pump导出(expdp system/password@db schemas=SCHEMA_NAME dumpfile=SCHEMA_NAME.dmp),确保数据安全。yum安装Oracle要求的依赖包,避免升级失败:yum install -y gcc libaio-devel compat-libstdc++-33 elfutils-libelf-devel glibc-devel glibc-headers gcc-c++ libstdc++-devel oracle-database-19c-linux-x86-64.zip),并上传至服务器。ORACLE_HOME、ORACLE_SID等环境变量设置(编辑~/.bash_profile或~/.bashrc,注释相关行);groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle /home/oracle/.bash_profile):export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1 # 替换为新版本目录 export ORACLE_SID=orcl # 替换为现有SID export PATH=$ORACLE_HOME/bin:$PATH source /home/oracle/.bash_profile # 加载环境变量 lsnrctl stop;sqlplus / as sysdba SQL> SHUTDOWN IMMEDIATE; exit listener.ora、tnsnames.ora、sqlnet.ora等配置文件(位于$ORACLE_HOME/network/admin),便于升级后恢复。/u01/app/oracle/product/19.0.0/dbhome_1);cd /u01/app/oracle/product/19.0.0/dbhome_1 ./runInstaller # 图形界面安装,按向导操作 或静默安装(需提前准备响应文件):./runInstaller -silent -responseFile /path/to/response_file.rsp opatch应用补丁(若有):cd $ORACLE_HOME/OPatch ./opatch apply /path/to/patch_file.zip dbua工具,选择“升级现有数据库”,跟随向导完成升级:cd $ORACLE_HOME/bin ./dbua sysdba用户):sqlplus / as sysdba SQL> STARTUP UPGRADE; # 以升级模式启动数据库 SQL> @?/rdbms/admin/catupgrd.sql # 执行升级脚本 SQL> @?/rdbms/admin/utlrp.sql # 编译无效对象 SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP; # 正常启动数据库 exit sqlplus / as sysdba SQL> SELECT * FROM v$version; exit sqlplus / as sysdba SQL> SET linesize 500 pagesize 600 SQL> COL COMP_NAME FOR a30 SQL> SELECT COMP_ID, COMP_NAME, VERSION, STATUS FROM DBA_REGISTRY ORDER BY COMP_ID; exit sqlplus / as sysdba SQL> SELECT COUNT(*) FROM dba_objects WHERE status != 'VALID'; exit /etc/sysctl.conf):fs.file-max = 6815744 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.wmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_max = 4194304 执行sysctl -p使参数生效。/u01/app/oracle/product/11.2.0/dbhome_1),释放磁盘空间。$ORACLE_HOME/cfgtoollogs/dbua(DBUA日志)或$ORACLE_HOME/cfgtoollogs(手动升级日志)中的日志文件,排查错误;