个人建网站运营.,网站全屏代码,网站开发有几种语言,中国中铁建设集团门户网登录一、最高优先级#xff1a;备用库compatible参数设置错误#xff08;19c最易踩坑#xff09; 原因 虽然数据库安装的是19c#xff0c;但备用库的初始化参数compatible被错误设为11.2.0.4#xff08;比如复制了旧11g的参数文件、手动改错#xff09;#xff0c;导致实例以…一、最高优先级备用库compatible参数设置错误19c最易踩坑原因虽然数据库安装的是19c但备用库的初始化参数compatible被错误设为11.2.0.4比如复制了旧11g的参数文件、手动改错导致实例以11g兼容模式运行读取19c原生备份片时就会报“版本不兼容”。验证方法备用库执行sqlplus/assysdba-- 查看compatible参数必须是19.x.x.xshowparameter compatible;-- 也可以查v$database确认selectname,valuefromv$parameterwherenamecompatible;如果输出是11.2.0.4/12.1.0.2等非19c值就是这个问题。解决步骤-- 1. 关闭备用库实例shutdownimmediate;-- 2. 修改spfile如果用pfile直接编辑initDGSTBY.oraaltersystemsetcompatible19.0.0.0scopespfile;-- 3. 重新启动到nomount19c兼容模式startup nomount;-- 验证再次查看参数必须是19.0.0.0showparameter compatible;二、主备库19c补丁版本不一致小版本不兼容原因Oracle 19c的不同补丁集比如19.3 vs 19.18 vs 19.21会导致RMAN备份片的元数据格式差异即使都是19c高补丁版本主库的备份片低补丁版本备库也会报“版本不兼容”。验证方法1. 主库查完整版本sqlplus/assysdba-- 查详细版本含补丁selectbanner_fullfromv$version;-- 示例输出Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production-- Version 19.18.0.0.02. 备用库查完整版本sqlplus/assysdbaselectbanner_fullfromv$version;对比两者的补丁版本比如主库19.18备库19.3差异≥3个补丁级就可能触发该错误。解决步骤优先将备库补丁升级到与主库完全一致推荐符合DG最佳实践临时方案改用“备份集恢复”模式避开active模式的实时备份片传输步骤参考之前给你的“主库备份→备库恢复”流程去掉11g相关限制即可。三、备用库ORACLE_HOME被“污染”混用11g二进制原因备库机器上同时装了11g和19c即使ORACLE_HOME设为19c但若LD_LIBRARY_PATH/PATH混入11g路径会导致RMAN/OCI调用11g的库文件从而报版本不兼容。验证方法备用库执行# 1. 查LD_LIBRARY_PATH不能包含11g的lib目录echo$LD_LIBRARY_PATH# 2. 查RMAN二进制的真实版本必须是19c$ORACLE_HOME/bin/rman --version# 3. 查Oracle二进制文件的版本file$ORACLE_HOME/bin/oracle如果LD_LIBRARY_PATH有/u01/app/oracle/product/11.2.0/dbhome_1/lib如果rman --version输出是11.2.0.4就是这个问题。解决步骤# 1. 清空旧环境变量重新配置纯19c环境unsetLD_LIBRARY_PATHunsetORACLE_HOMEunsetPATH# 2. 重新设置19c环境替换为你的真实路径exportORACLE_HOME/u01/app/oracle/product/19.0.0/dbhome_1exportLD_LIBRARY_PATH$ORACLE_HOME/lib:$LD_LIBRARY_PATHexportPATH$ORACLE_HOME/bin:$PATHexportORACLE_SIDDGSTBY# 3. 验证再次查RMAN版本rman --version# 正确输出RMAN for Linux: Version 19.0.0.0.0 - Production四、主库备份时显式限制了“兼容性”反向兼容坑原因主库之前执行RMAN备份时用了COMPATIBLE WITH 11.2.0.4参数强制备份片兼容11g导致19c备库读取时反而报“19c备份片不兼容11g”逻辑反了但Oracle会触发该错误。验证方法主库执行rman target /# 列出最近的备份查看兼容属性list backup summary;# 或查备份元数据selectbs.recid, bs.completion_time, bs.compatibility fromv$backup_setbs where bs.backup_typeFand rownum5;如果compatibility列显示11.2.0.4就是这个问题。解决步骤# 主库重新执行无兼容限制的全库备份rman target / run{allocate channel ch1typedisk;# 去掉COMPATIBLE WITH参数纯19c备份backup full databaseformat/u01/backup/DGPRIM_19c_full_%U.bkpinclude current controlfile;release channel ch1;}然后重新用这个纯19c备份片执行active duplicate或备库恢复。五、TNS连接的服务名指向错误实例19c多实例环境原因备库机器有多个19c实例你的TNS服务名DGSTBY指向了另一个19c实例比如测试库而那个实例的compatible参数是11g兼容模式导致RMAN连错库报版本错。验证方法# 1. 测试TNS指向的实例SIDtnsping DGSTBY# 2. 用TNS连接后查实例信息sqlplus sys/密码DGSTBY as sysdbaselectinstance_name, host_name fromv$instance;selectvalue fromv$parameterwherenamecompatible;确认实例名是DGSTBY且compatible是19c。解决步骤修正tnsnames.ora确保DGSTBY的SERVICE_NAME/SID指向正确的19c备库实例DGSTBY (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST 备库IP)(PORT 1521)) (CONNECT_DATA (SERVER DEDICATED) (SID DGSTBY) # 明确指定SID避免连错实例 (SERVICE_NAME DGSTBY) ) )总结19c环境下的ORA-1969090%是备用库compatible参数设成了低版本优先检查这个参数其次是主备19c补丁版本不一致或备库环境变量混入11g路径排除以上后再验证TNS指向、主库备份的兼容限制均可快速定位问题。你可以先按顺序查compatible参数 → RMAN二进制版本 → 主备补丁版本这三个点能解决99%的19c同版本下的ORA-19690错误。