[Reproducido] La conexión de cliente 18c de versión baja de Oracle informa soluciones de error ORA-28040 y ORA-01017

Flying Feather: Cuando se utiliza una herramienta escrita por otra persona para conectarse a la base de datos, aparece el error ORA-28040. Después de modificarlo de acuerdo con el método en línea, aparece el error de contraseña ORA-01017. Finalmente, fue resuelto por el original. Blogger. Muchas gracias., Sin el permiso del blogger, ¡pero el artículo es muy bueno! ¡Muchos beneficios! ¡estudiar juntos!

2018-08-31 15: 1510696 1 Original Oracle 18c

Enlace a este artículo: https://www.cnblogs.com/scoluo/p/13864672.html

El ciclo de vida de Oracle 11g ha terminado y 18c se ha lanzado oficialmente. Después de instalar Oracle 18c, si un cliente con una versión anterior se conecta a 18c, se informarán los siguientes dos errores:

ORA-28040: No matching authentication protocol
ORA-01017: invalid username/password; logon denied

Aparecerán uno tras otro, y cuando se resuelva el error ORA-28040, aparecerá el error ORA-01017. Aquí para reproducir el error y dar una solución.

1. Reproduce el problema

Versión del servidor de base de datos:

[[email protected] dbs]$ sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 - Production on Mon Aug 27 06:42:49 2018
Version 18.3.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.


Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0

Cliente 11.2.0.4, la conexión es normal:

C:/Users/Dave>sqlplus system/[email protected]:1522/dave

SQL*Plus: Release 11.2.0.4.0 Production on Fri Aug 31 09:24:53 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production

SQL>

Pero 11.2.0.1 no funciona:

D:/instantclient_11>sqlplus system/[email protected]:1522/dave

SQL*Plus: Release 11.2.0.1.0 Production on 星期五 8月 31 10:51:52 2018

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:
ORA-28040: No matching authentication protocol

2. Manejo de errores ORA-28040

Según el documento MOS (ID 755605.1), el error ORA-28040 debe agregarse en el archivo sqlnet.ora del usuario de Oracle (usuario que no es de la red):
SQLNET.ALLOWED_LOGON_VERSION = 8
o usar una versión superior del cliente.

Pero, de hecho, de acuerdo con el documento MOS (ID 2111876.1), en Oracle 12c y versiones posteriores, el
parámetro SQLNET.ALLOWED_LOGON_VERSION ha quedado obsoleto y los siguientes dos parámetros deben usarse en su lugar:
SQLNET.ALLOWED_LOGON_VERSION_SERVER = n
SQLNET.ALLOWED_LOGON_CLIENT = nVERSION = n

Aquí n tiene el valor predeterminado de 11. El primer parámetro se activa cuando el cliente se conecta al servidor, y el segundo es se activa cuando el cliente se conecta a otras bases de datos. Por ejemplo, cree un enlace de base de datos.

 

Otros valores opcionales son los siguientes:

   
12a para Oracle Database 12c versión 1 (12.1) versión 12.1.0.2 o posterior
12 para las actualizaciones de parches críticos CPUOct2012 y protocolos de autenticación Oracle Database 11g posteriores (recomendado)
11 para protocolos de autenticación Oracle Database 11g (predeterminado)
10 para protocolos de autenticación Oracle Database 10g
8 para el protocolo de autenticación Oracle8i

Modificado aquí como sigue:

[[email protected] admin]$ cat sqlnet.ora 
# sqlnet.ora Network Configuration File: /u01/app/oracle/product/18.3.0/db_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
[[email protected] admin]$

La modificación entrará en vigor y se informará el siguiente error en la conexión:

C:/Users/Dave>sqlplus system/[email protected]:1522/dave

SQL*Plus: Release 11.2.0.1.0 Production on 星期五 8月 31 14:49:53 2018

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied

 

3. Manejo del error ORA-01017

Desde el mensaje de error, el nombre de usuario o la contraseña son incorrectos, de hecho, no hay ningún problema con el nombre de usuario y la contraseña. El problema aquí es que la sqlnet que configuramos no entra en vigencia para las cuentas que ya existían antes, y aún mantienen la compatibilidad anterior.

SQL> set pages 100
SQL> select username,password_versions from dba_users;

USERNAME               PASSWORD_VERSIONS
------------------------------ ----------------------------------
SYS                       11G 12C
SYSTEM                   11G 12C
OUTLN                   11G 12C
SYS$UMF                11G 12C
DBSNMP                   11G 12C
APPQOSSYS               11G 12C
DBSFWUSER               11G 12C
GGSYS                   11G 12C

La solución aquí es modificar la contraseña del usuario:

 

SQL> alter user sys identified by oracle;
User altered.

SQL> alter user system identified by oracle;
User altered.

Ver versión de contraseña:

SQL> select username,password_versions from dba_users;

USERNAME               PASSWORD_VERSIONS
------------------------------ ----------------------------------
SYS                         11G 12C
SYSTEM                   10G 11G 12C

Tenga en cuenta que aunque SYS no ha cambiado, se ha agregado 10G a la versión de SYSTEM. De hecho, ambos usuarios ahora pueden conectarse:

C:/Users/Dave>sqlplus system/[email protected]:1522/dave
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 8月 31 14:58:35 2018
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
连接到:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
SQL>

C:/Users/Dave>sqlplus sys/[email protected]:1522/dave as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 8月 31 14:58:54 2018
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
连接到:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production

SQL>

Según la declaración oficial de Oracle, esto es un error, por lo que si se conecta a 18c con una versión inferior del cliente, debe prestar especial atención a estos dos errores.

Supongo que te gusta

Origin blog.csdn.net/u010472858/article/details/110151041
Recomendado
Clasificación