参考链接:
http://blog.youkuaiyun.com/msdnchina/article/details/48193053
首先,在Oracle client端tnsping,结果是ok的.
- C:\Users\Administrator>tnsping highgo1
-
-
- TNS Ping Utility for 32-bit Windows: Version 10.2.0.3.0 - Production on 09-MAR-2017 13:57:58
-
-
- Copyright (c) 1997, 2006, Oracle. All rights reserved.
-
-
- Used parameter files:
- H:\oracle\product\10.2.0\client_1\network\admin\sqlnet.ora
-
-
-
-
- Used TNSNAMES adapter to resolve the alias
- Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
- (HOST = 192.168.80.12)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = highgo1)))
-
-
- OK (30 msec)
然后在Oracle Client端用sqlplus登录,是登录不上的:
- C:\Users\Administrator>sqlplus system/oracle@highgo1
-
-
- SQL*Plus: Release 10.2.0.3.0 - Production on Thu Mar 9 13:58:17 2017
-
-
- Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
-
-
- ERROR:
- ORA-28040: No matching authentication protocol
-
-
-
-
- Enter user-name:
然后到Oracle 12.2的Server端的$ORACLE_HOME/network/admin/目录下,
修改sqlnet.ora文件,添加如下内容:
- SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
- SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
修改之后,是立即生效的,不需要重启监听.
额外说明:如上仅仅是权宜之计,因为根据MOS文章:
- Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)
- 10.2的client端和12.2的server端---这么用是不受支持的.
- 11.2.0.3/11.2.0.4的client端和12.2的server端---这么用是受支持的.