【故障解决】ORA-17630: Mismatch in the remote file protocol version client 2


【故障解决】ORA-17630: Mismatch in the remote file protocol version client 2 server 3


12.1.0.2 PDB 升级到 12.2.0.2 的时候,不能选用 DBLINK 远程克隆的方式,因为源库是 12.1.0.2 的版本,不能夸版本远程克隆,否则报错:

SYS@cdb1212> create pluggable database pdblhr3 from PDBPROD2@dbl_PDBLHR1 CREATE_FILE_DEST = '/u01/app/oracle/oradata';

create pluggable database pdblhr3 from PDBPROD2@dbl_PDBLHR1 CREATE_FILE_DEST = '/u01/app/oracle/oradata'

                                                *

ERROR at line 1:

ORA-17630: Mismatch in the remote file protocol version client 2 server 3

参考: Creating a PDB Remote Clone from 12.1.0.2 to 12.2 Fails With ORA-17630 ( 文档 ID 2090019.1)

解决: Download and apply Patch 18633374 on the side that does not include the fix for Bug 18633374. The fix is included in 12.2 or later.

NOTE: Both sides must have the fix for Bug 18633374





Creating a PDB Remote Clone from 12.1.0.2 to 12.2 Fails With ORA-17630 (文档 ID 2090019.1)


In this Document


Symptoms

Changes

Cause

Solution

References


APPLIES TO:

Oracle Database - Enterprise Edition - Version 12.2.0.1 and later
Information in this document applies to any platform.

SYMPTOMS

Creating a PDB remote clone from 12.1.0.2 to 12.2 fails with:

SQL> create pluggable database MYDB from MYSEED@CDBMYSEED
file_name_convert=('/CDB12R1/','/CDB12R2/');
create pluggable database MYDB from MYSEED@CDBMYSEED
file_name_convert=('/CDB12R1/','/CDB12R2/')
  *
ERROR at line 1:
ORA-17628: Oracle error 17630 returned by remote Oracle server
ORA-17630: Mismatch in the remote file protocol version client server

 
The error is shown in the alert.log file and in the generated trace file as follow:

alert.log  

...
create pluggable database MYPDB from MYSEED@CDB12R1 file_name_convert=('/MYSEED/','/MYPDB/')
2015-12-11T17:48:30.353070+01:00
Errors in file /u01/app/oracle/diag/rdbms/cdb/CDB/trace/CDB_ora_4268_remote.trc:
ORA-17628: Oracle error 17630 returned by remote Oracle server
ORA-17630: Mismatch in the remote file protocol version client  server 
...

/u01/app/oracle/diag/rdbms/cdb/CDB/trace/CDB_ora_4268_remote.trc

...
*** 2015-12-11T17:48:30.352800+01:00 (CDB$ROOT(1))
ORA-17628 : Oracle error 17630 returned by remote Oracle server
ORA-17630 : Mismatch in the remote file protocol version client  server 
EXEC #0x7f34ee563838:c=76000,e=2344936,p=11,cr=279,cu=13,mis=0,r=0,dep=0,og=1,plh=0,tim=254798627784
ERROR #0x7f34ee563838: err=17628  tim=254798627869
LOBTMPCREATE: type=TEMPORARY LOB,bytes=1,c=0,e=41,p=0,cr=0,cu=0,tim=254798628632
LOBWRITE: type=TEMPORARY LOB,bytes=93,c=0,e=111,p=0,cr=0,cu=7,tim=254798628845
...

 

CHANGES

 

CAUSE

Unpublished Bug 22289708 - ORA-17630 WHILE TRYING TO REMOTE CLONE A PDB, closed as duplicate of:

Bug 18633374  - COPYING ACROSS REMOTE SERVERS: ASMCMD-8016, ORA-17628, ORA-17630, ORA-06512, 

The error is a result of looking for a particular protocol version instead of a set of protocol versions. In this case, the 12.2 client is sending both V1 & V2 as protocol versions and 12.1.0.2 (the remote side in this case) is expecting a single version not both. 
 

SOLUTION

Download and apply  Patch 18633374  on the side that does not include the fix for  Bug 18633374 . The fix is included in 12.2 or later.

NOTE: Both sides must have the fix for  Bug 18633374

If no patch exists for your environment, please contact Oracle Support for a backport request.

Check for any conflicting Patches using  Document 1317012.1  - How To Use MOS Patch Planner To Check And Request The Conflict Patches?

REFERENCES


BUG:18633374  - COPYING ACROSS REMOTE SERVERS: ASMCMD-8016, ORA-17628, ORA-17630, ORA-06512
NOTE:18633374.8  - Bug 18633374 - Error copying across remote servers with ASMCMD CP command (ASMCMD-8016, ORA-17628, ORA-17630, ORA-6512)




About Me

........................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文博客园地址: http://www.cnblogs.com/lhrbest

● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● QQ群号: 230161599 (满) 、618766405

● weixin群:可加我weixin,我拉大家进群,非诚勿扰

● 联系我请加QQ好友 646634621 ,注明添加缘由

● 于 2018-12-01 06:00 ~ 2018-12-31 24:00 在魔都完成

● 最新修改时间:2018-12-01 06:00 ~ 2018-12-31 24:00

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

........................................................................................................................

小麦苗的微店 https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麦苗出版的数据库类丛书 http://blog.itpub.net/26736162/viewspace-2142121/

小麦苗OCP、OCM、高可用网络班 http://blog.itpub.net/26736162/viewspace-2148098/

小麦苗腾讯课堂主页 https://lhr.ke.qq.com/

........................................................................................................................

使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。

........................................................................................................................

欢迎与我联系

 

 



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2284342/,如需转载,请注明出处,否则将追究法律责任。

这个错误信息是 Oracle 数据库在启动(`startup`)时出现的典型问题,主要涉及 **初始化参数文件(spfile)无法找到或访问**,尤其是当数据库使用的是 **ASM(Automatic Storage Management)磁盘组** 存储时。 --- ### ❌ 错误分析 ```bash ORA-01078: failure in processing system parameters ORA-01565: error in identifying file '+DATA/orcl/spfileorcl.ora' ORA-17503: ksfdopn:2 Failed to open file +DATA/orcl/spfileorcl.ora ORA-15056: additional error message ORA-17503: ksfdopn:2 Failed to open file +DATA/orcl/spfileorcl.ora ORA-15001: diskgroup "DATA" does not exist or is not mounted ``` #### 逐条解释: - `ORA-01078`: 启动数据库时无法处理系统参数 —— 通常是找不到或读取不了 spfile/pfile- `ORA-01565`: 识别指定的参数文件失败。 - `ORA-17503`: 低层 I/O 操作失败,无法打开文件。 - `ORA-15001`: 表示 ASM 磁盘组 `"DATA"` 不存在或者没有被挂载。 👉 核心问题是:**ASM 实例未运行,或者磁盘组 `DATA` 没有被挂载,导致 Oracle 实例无法读取存放在 `+DATA` 中的 spfile。** --- ## ✅ 解决方案 ### 步骤 1:确认当前环境变量和实例状态 确保你连接到了正确的 Oracle 环境。 ```bash export ORACLE_SID=+ASM # 如果使用 ASM,默认 SID 是 +ASM 或 +ASM1(RAC) sqlplus / as sysdba ``` ### 步骤 2:检查 ASM 实例是否启动 ```sql SQL> SELECT instance_name, status FROM v$instance; -- 应该输出类似: -- INSTANCE_NAME STATUS -- ---------------- ------------ -- +ASM STARTED ``` 如果没有启动,请先启动 ASM 实例: ```sql SQL> startup; ``` > ⚠️ 注意:如果 ASM 也无法启动,可能是磁盘权限、udev 规则、asmlib 配置或磁盘路径问题。 --- ### 步骤 3:查看磁盘组状态 ```sql SQL> SELECT name, state, total_mb, free_mb FROM v$asm_diskgroup; -- 输出示例: -- NAME STATE TOTAL_MB FREE_MB -- ------ --------- -------- ------- -- DATA MOUNTED 10240 3000 ``` 如果你看到 `DATA` 的状态不是 `MOUNTED`,说明它没挂载。 --- ### 步骤 4:尝试手动挂载磁盘组 ```sql ALTER DISKGROUP DATA MOUNT; ``` 如果报错,比如: - `ORA-15032: not all alterations performed` - `ORA-15063: ASM discovered an insufficient number of disks` → 表明 ASM 无法识别构成 `DATA` 磁盘组的物理磁盘。 --- ### 🔍 排查磁盘问题 #### 查看 ASM 发现的磁盘: ```sql SELECT path, header_status, mode_status FROM v$asm_disk; ``` 期望结果:`DATA` 对应的磁盘 `HEADER_STATUS = MEMBER`, `MODE_STATUS = ONLINE` 如果 `header_status` 是 `CANDIDATE` 或 `UNKNOWN`,说明这些磁盘未被正确识别。 --- ### 可能原因及修复方法 | 原因 | 解决方式 | |------|---------| | ASM 实例未启动 | 执行 `sqlplus / as sysdba` → `startup` | | 磁盘权限问题(Linux) | 检查 `/dev/sdX` 权限是否属于 `grid:asmadmin` | | udev 规则未设置 | 配置持久化设备名规则(如 `/etc/udev/rules.d/99-oracle-asmdevices.rules`) | | ASMLib 配置丢失(若使用) | 使用 `oracleasm scandisks` 和 `oracleasm listdisks` | | 磁盘路径变更(如 VM 迁移后) | 重新绑定设备或修改 udev 规则 | --- ### ✅ 成功挂载后启动数据库实例 一旦 `DATA` 磁盘组成功挂载,切换回数据库实例: ```bash export ORACLE_SID=orcl sqlplus / as sysdba ``` 然后启动数据库: ```sql SQL> startup; ``` 此时应该可以正常读取 `+DATA/orcl/spfileorcl.ora` 并启动。 --- ### 💡 替代方案:使用 PFILE 启动(临时) 如果暂时无法恢复 SPFILE,可以从 ASM 中创建一个文本型 PFILE: ```sql -- 在 ASM 实例中导出参数 CREATE PFILE='/tmp/initorcl.ora' FROM SPFILE='+DATA/orcl/spfileorcl.ora'; ``` 然后用该 PFILE 启动数据库: ```sql SQL> CREATE SPFILE FROM PFILE='/tmp/initorcl.ora'; SQL> startup; -- 自动使用 SPFILE ``` > 注意:前提是 ASM 能读到原始 spfile。否则只能手动写一个最小 pfile--- ### 🛠 示例:最小 PFILE 启动(应急) ```text # /tmp/initorcl.ora orcl.__db_cache_size=100M orcl.__shared_pool_size=80M *.db_name='orcl' *.control_files='+DATA/orcl/controlfile/current.256.123456789' *.instance_type='RDBMS' *.job_queue_processes=10 *.open_cursors=300 *.pga_aggregate_target=100M *.sga_target=300M *.undo_management='AUTO' *.undo_tablespace='UNDOTBS1' ``` 然后: ```sql SQL> create spfile from pfile='/tmp/initorcl.ora'; SQL> startup; ``` --- ## ✅ 总结流程图 ```text 启动数据库失败 ↓ 检查是否能访问 +DATA/orcl/spfileorcl.ora ↓ 否 → 检查 ASM 实例是否运行? ↓ 否 → 启动 ASM 实例 ↓ 是 → 检查磁盘组 DATA 是否存在并已挂载? ↓ 否 → 挂载磁盘组(需解决磁盘识别问题) ↓ 是 → 尝试重新启动 DB 实例 ↓ 成功 or 失败 → 查看 alert.log 进一步诊断 ``` --- ### ✅ 关键命令汇总 ```bash # 设置环境 export ORACLE_SID=+ASM sqlplus / as sysdba # 检查 ASM 实例 SELECT instance_name, status FROM v$instance; # 启动 ASM startup; # 查看磁盘组 SELECT name, state FROM v$asm_diskgroup; # 挂载磁盘组 ALTER DISKGROUP DATA MOUNT; # 查看磁盘状态 SELECT path, header_status, mode_status FROM v$asm_disk; # 切换到数据库实例 export ORACLE_SID=orcl sqlplus / as sysdba startup; ``` --- ### ✅ 查看告警日志定位细节 ```bash cd $ORACLE_BASE/diag/rdbms/orcl/orcl/trace/ tail -f alert_orcl.log ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值