Cuando entré en contacto por primera vez con la base de datos de Dameng, la contraseña del usuario SYSDBA es diferente de otras bases de datos, porque si la olvida y no hay otros usuarios con el rol de DBA en la base de datos, será genial.
Si la base de datos de Dameng se implementa en un sistema operativo similar a LINUX, la contraseña y el puerto están predeterminados. En este momento, es muy sencillo iniciar sesión en el entorno en la máquina local. Solo necesita escribir DISQL y presionar Enter dos veces. iniciar sesión:
[dmdba@localhost GBK]$ disql
disql V8
nombre de usuario:
contraseña:
Servidor [LOCALHOST:5236]: en estado abierto normal,
tiempo de inicio de sesión: 8.239 (ms)
Si se ha cambiado la contraseña de SYSDBA y se olvida la contraseña. En este momento, el inicio de sesión definitivamente fallará y [-2501]: se generará un nombre de usuario o contraseña incorrectos.
dmdba@localhost GBK]$ disql
disql V8
nombre de usuario:
contraseña:
[-2501]: nombre de usuario o contraseña incorrectos.
En este momento, si hay un usuario en la base de datos que tiene el rol de DBA y puede iniciar sesión normalmente. Podemos cambiar la contraseña de SYSDBA con este usuario.
[dmdba@localhost bak]$ disql test1/test_0001
Servidor [LOCALHOST:5236]: en estado abierto normal.
Tiempo de uso de inicio de sesión: 5.329 (ms)
disql V8
SQL>
SQL> modificar usuario SYSDBA identificado por SYSDBA_2022;
la operación se ha ejecutado
. Tiempo transcurrido: 7.871 (ms). Número de ejecución: 600 .SQL
>
SQL> exit
[dmdba@localhost bak]$ disql
disql V8
nombre de usuario: SYSDBA
contraseña:
Servidor [LOCALHOST:5236]: en estado abierto normal
Hora de inicio de sesión: 4.751(ms)
SQL>
La base de datos Dameng también tiene un parámetro para resolver este problema, el parámetro de autenticación local: ENABLE_LOCAL_OSAUTH.
El valor predeterminado de este parámetro es 0, lo que no permite la autenticación local. Y este parámetro tiene otras dos características: 1. Solo los usuarios con autoridad DBA pueden cambiarlo. 2. Este parámetro tendrá efecto solo después de cambiar y reiniciar. Entonces esto caerá en un bucle sin fin, a menos que el valor de este parámetro se establezca en 1 al instalar la base de datos, en preparación para olvidar la contraseña en el futuro.
Ver el parámetro ENABLE_LOCAL_OSAUTH
SQL> seleccione para_name,para_value,para_type from v$dm_ini where para_name='ENABLE_LOCAL_OSAUTH';
行号 PARA_NAME PARA_VALUE PARA_TYPE
---------- ------------------- ---------- ------ ---
1 ENABLE_LOCAL_OSAUTH 0 SOLO LECTURA
Intente modificar
sp_set_para_value(2,'ENABLE_LOCAL_OSAUTH',1) con un usuario normal
Se está ejecutando un total de 1 declaración secuencialmente...
[Ejecutar declaración 1]:
sp_set_para_value(2,'ENABLE_LOCAL_OSAUTH',1);
Ejecución fallida (declaración 1)
-5565: No hay permiso para modificar los parámetros de configuración INI
1 declaración fallida al ejecutarse
Cambiar con un usuario con el rol de DBA
sp_set_para_value(2,'ENABLE_LOCAL_OSAUTH',1);
Se está ejecutando un total de 1 declaración secuencialmente...
[Declaración de ejecución 1]:
sp_set_para_value(2,'ENABLE_LOCAL_OSAUTH',1);
La ejecución fue exitosa y tomó 1 milisegundo. Número de ejecución: 701
afectó 0 registros y
1 declaración se ejecutó con éxito
Reinicie la base de datos para que surta efecto
Seguimos intentando iniciar sesión localmente con SYSDBA, pero todavía hay problemas
[dmdba@localhost ~]$ disql /@localhost as sysdba
[-2512]: Usuario no autorizado.disql
V8
También tenemos que hacer lo siguiente:
agregar grupo dmdba
modusuario -a -G dmdba dmdba
Luego cambie al usuario dmdba e intente iniciar sesión:
[dmdba@localhost ~]$ disql /@localhost como sysdba
Servidor [localhost:5236]: en estado abierto normal
Tiempo de uso de inicio de sesión: 26.157(ms)
disql V8
SQL>
Ahora podemos cambiar la contraseña de SYSDBA.
Resumir:
Recomendamos encarecidamente mantener seguras las contraseñas de los usuarios importantes. Por razones de seguridad, no se recomienda ajustar el valor del parámetro ENABLE_LOCAL_OSAUTH a 1 al instalar la base de datos.
Dirección de la comunidad: https://eco.dameng.com