rman target / BACKUP DATABASE;)或Data Pump导出(expdp system/password@db schemas=SCHEMA_NAME dumpfile=SCHEMA_NAME.dmp),确保数据安全。ORACLE_HOME需预留至少10GB以上空间);shmmax、shmall、semmsl等)是否满足Oracle新版本要求,可通过/etc/sysctl.conf调整并执行sysctl -p生效。.zip安装包)及所需补丁(如OPatch工具、CPU/PSU补丁),并上传至CentOS服务器。oinstall、dba)已存在,若不存在则创建(groupadd oinstall; groupadd dba; useradd -g oinstall -G dba oracle; passwd oracle);sqlplus / as sysdba SELECT * FROM v$version;)及补丁级别(SELECT ACTION_TIME, VERSION, COMMENTS FROM sys.DBA_REGISTRY_HISTORY;)。lsnrctl命令停止监听器:lsnrctl stop。sysdba身份登录SQL*Plus,执行立即关闭:sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
若无法立即关闭,可尝试SHUTDOWN ABORT(需谨慎,可能导致数据不一致)。/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
/etc/profile或用户.bash_profile,添加以下内容(根据实际路径调整):export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=orcl # 替换为实际SID
export PATH=$ORACLE_HOME/bin:$PATH
执行source /etc/profile使变量生效。cd /u01/app/oracle/product/19.0.0/dbhome_1/OPatch
./opatch apply /path/to/patch/p6880880_190000_Linux-x86-64.zip
应用后检查补丁是否成功(./opatch lsinventory)。/u01/app/oracle/product/19.0.0/dbhome_1/dbua/runInstaller,按向导提示选择“升级现有数据库”即可。cd /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin
sqlplus / as sysdba @catupgrd.sql
升级过程中会自动执行脚本(如catupgrd.sql、utlrp.sql编译无效对象)。alert_<SID>.log(位于$ORACLE_BASE/diag/rdbms/<SID>/<SID>/trace/)日志文件,跟踪升级进度及错误信息。SELECT * FROM v$version; -- 查看数据库版本
SELECT COMP_ID, COMP_NAME, VERSION, STATUS FROM DBA_REGISTRY; -- 查看组件版本及状态
确保所有组件状态为VALID。@?/rdbms/admin/utlrp.sql -- 自动编译无效对象
SELECT COUNT(*) FROM dba_objects WHERE status != 'VALID'; -- 检查剩余无效对象数量
SGA_TARGET、PGA_AGGREGATE_TARGET),例如:ALTER SYSTEM SET SGA_TARGET=2G SCOPE=SPFILE;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET=1G SCOPE=SPFILE;
重启数据库使参数生效:sqlplus / as sysdba SHUTDOWN IMMEDIATE; STARTUP;。AWR或ASH报告分析性能变化。ORACLE_HOME);