es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Oracle sqlplus con sys como sysdba está fallando con ORA-01017: nombre de usuario / contraseña no válido; inicio de sesión denegado.

La conexión de base de datos del usuario de Oracle sys con ORACLE_SID no está funcionando. El ORACLE_SID para mi entorno de desarrollo es “dev”.

 sqlplus sys/manager@dev  as sysdba

SQL*Plus: Release 12.1.0.2.0 Production en Thu Nov 25 01:25:33 2021

Derechos de autor (c) 1982, 2014, Oracle. Todos los derechos reservados.

ERROR:
ORA-01017: nombre de usuario/contraseña no válido; inicio de sesión denegado

Sin embargo, sin ORACLE_SID, la conexión funciona correctamente.

sqlplus sys/manager  as sysdba

SQL*Plus: Release 12.1.0.2.0 Production en Thu Nov 25 01:34:05 2021

Derechos de autor (c) 1982, 2014, Oracle. Todos los derechos reservados.


Conectado a:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL>

Parece que esta conexión está utilizando la autenticación del sistema operativo, ya que si proporciono una contraseña incorrecta para el usuario “sys”, la conexión sigue funcionando.

¿Alguna ayuda para saber por qué la conexión del usuario “sys” con ORACLE_SID no está funcionando?

En mi base de datos, el parámetro “sec_case_sensitive_logon” está establecido en falso.

SQL> show parameter sec_case_sensitive_logon

NOMBRE                                 TIPO        VALOR
------------------------------------ ----------- ------------------------------
sec_case_sensitive_logon             boolean     FALSE
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Basado en la información proporcionada, parece que el problema con la conexión basada en ORACLE_SID para el usuario sys está relacionado con la autenticación.

    Una posible explicación podría ser que la contraseña para el usuario sys distingue entre mayúsculas y minúsculas, y que el parámetro ORACLE_SID no está especificado correctamente. Esto significa que los intentos de conexión pueden estar apuntando a la instancia de base de datos incorrecta o almacenando la contraseña incorrecta.

    Para solucionar esto, puede intentar los siguientes pasos:

    • Verifique que la variable de entorno ORACLE_SID esté correctamente establecida en ‘dev’. Puede hacerlo ejecutando echo $ORACLE_SID en el símbolo del sistema.
    • Confirme que la contraseña del usuario sys es correcta y distingue entre mayúsculas y minúsculas. Puede hacerlo conectándose a la base de datos como otro usuario (por ejemplo, system) y verificando la contraseña del usuario sys en la vista DBA_USERS.
    • Si la contraseña es correcta, intente conectarse a la base de datos utilizando la cadena EZCONNECT en lugar de ORACLE_SID. Por ejemplo, sqlplus sys/manager@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=<port>))(CONNECT_DATA=(SID=dev))) as sysdba. Esto debería resolver cualquier problema potencial con el parámetro ORACLE_SID.
    • Si la conexión sigue sin funcionar, verifique los registros de la base de datos y del listener en busca de errores relevantes.

    También vale la pena señalar que la conexión exitosa sin ORACLE_SID indica probablemente que el inicio de sesión se autentica a través del sistema operativo en lugar de la base de datos. Esto puede confirmarse verificando el parámetro SQLNET.AUTHENTICATION_SERVICES. Si incluye ‘OS’ o ‘NONE’, entonces se está utilizando la autenticación del sistema operativo.

Comments are closed.