在 Linux 上升级 Oracle 数据库(以 Oracle Database 为例,常见场景是从 11g/12c/19c 升级到更高版本,如 19c→21c 或 19c→23c)通常有以下几种方式。下面我按最常见、最稳妥的思路给你说明。
sqlplus / as sysdba
SQL> select version from product_component_version;
uname -a
cat /etc/os-release
Oracle 官方文档最权威:
Database Upgrade Guide <版本>ORACLE_HOME 和参数文件rman target /
RMAN> backup database plus archivelog;
$ORACLE_HOME/jdk/bin/java -jar \
$ORACLE_HOME/rdbms/admin/preupgrade.jar
或(12c 以后):
$ORACLE_HOME/bin/dbupgrade -c
同一台服务器、同一 ORACLE_HOME 升级
适合:
步骤:
dbupgrade
@?/rdbms/admin/utlrp.sql
⚠️ 风险较高,回退困难
安装新 ORACLE_HOME,再升级数据库
步骤:
export ORACLE_HOME=/u01/app/oracle/product/21c
dbupgrade
✅ 可快速回退
✅ 生产环境推荐
导出 → 新建库 → 导入
expdp system/pwd full=y dumpfile=full.dmp
impdp system/pwd full=y dumpfile=full.dmp
适合:
select status from v$instance;
select * from dba_registry_sqlpatch;
@?/rdbms/admin/utlrp.sql
COMPATIBLE 参数你可以告诉我:
我可以直接给你一步一步可执行的命令清单。