Introducción
Este documento describe cómo desbloquear la cuenta de usuario de Oracle de Cisco IoT Field Network Director (IoT-FND) y cambiar la configuración de caducidad de contraseña a ilimitada.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Operaciones básicas del shell de Linux (ver registros, iniciar un proceso, etc.)
- Comprensión básica de las consultas SQL
Componentes Utilizados
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
Este documento asume que usted tiene dos servidores Linux separados:
Problema
SÍNTOMA 1: IoT-FND no se está iniciando; error al comprobar la conexión a la base de datos.
[root@IoT-FND-SRV ~]# service cgms status
IoT-FND Version X.X.XX
08-01-2018 15:14:58 CEST: INFO: IoT-FND database server: XX.XX.XX.XX
08-01-2018 15:15:01 CEST: ERROR: IoT-FND database connection verification failed.
08-01-2018 15:15:02 CEST: ERROR: IoT-FND application server is not running.
SÍNTOMA 2: cgms_db_connection_test.log contiene entradas similares a:
[root@IoT-FND-SRV ~]# tail -n 50 /opt/cgms/server/cgms/log/cgms_db_connection_test.log
2018-08-01 12:27:22,767:INFO:main:TestDBConnection: Checking database connection. Please wait ...
2018-08-01 12:27:22,856:INFO:main:TestDBConnection: Database URL: jdbc:oracle:thin:@XX.XX.XX.XX:1522:cgms
2018-08-01 12:27:22,856:INFO:main:TestDBConnection: Database user: cgms_dev
2018-08-01 12:27:23,156:ERROR:main:TestDBConnection: Unable to check database connection. Exception:
java.sql.SQLException: ORA-28001: the password has expired
Nota: La aplicación IoT-FND utiliza el usuario de base de datos CGMS_DEV para acceder a la base de datos Oracle.
Nota: Por defecto, la base de datos Oracle tiene activada la caducidad de contraseña, por lo que, después de un tiempo, las contraseñas de las cuentas caducan y no es posible utilizarlas sin cambiar la contraseña.
SÍNTOMA 3: El estado de la cuenta de usuario de Oracle CGMS_DEV se ha definido como CADUCADO.
[oracle@IoT-FND-Oracle]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Aug 1 16:02:25 2018
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
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> SELECT USERNAME,ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME LIKE 'cg%';
USERNAME
--------------------------------------------------------------------------------
ACCOUNT_STATUS
--------------------------------
CGMSDBA
OPEN
CGMS_DEV
EXPIRED
Solución
Paso 1. Inicie sesión en el servidor IoT-FND con SSH.
Paso 2. Detenga los servicios FND.
[root@IoT-FND-SRV]$ service cgms stop
Nota: si no detiene los servicios de IoT-FND, FND intentará conectarse a la base de datos con una contraseña antigua y la cuenta se bloqueará hasta que haya terminado con este procedimiento.
Paso 3. Conéctese al servidor Oracle con SSH.
Paso 4. Cambie a usuario del sistema oracle:
[root@IoT-FND-Oracle]$ su - oracle
[oracle@IoT-FND-Oracle]$
Paso 5. Conéctese a la instancia raíz de la base de datos Oracle como usuario sysdba:
[oracle@IoT-FND-Oracle]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Aug 1 16:19:23 2018
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
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>
Paso 6. Modifique el valor de password_life_limit a unlimited:
sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
Paso 7. Compruebe qué cuentas tienen contraseñas caducadas.
SQL> SELECT USERNAME,ACCOUNT_STATUS FROM DBA_USERS WHERE ACCOUNT_STATUS='EXPIRED';
USERNAME
--------------------------------------------------------------------------------
ACCOUNT_STATUS
--------------------------------
CGMSDBA
OPEN
CGMS_DEV
EXPIRED
Paso 8. Establezca la contraseña para el usuario CGMS_DEV:
sql> ALTER USER CGMS_DEV IDENTIFIED BY <new-password>;
User altered.
Nota: Si conoce la contraseña antigua, puede volver a utilizarla. Si la respuesta es no, deberá ejecutar la secuencia de comandos cgmsSetup.sh en el servidor IoT-FND para modificar las contraseñas de la base de datos establecidas en FND.
Paso 9. Desbloquee la cuenta de usuario CGMS_DEV:
SQL> ALTER USER CGMS_DEV ACCOUNT UNLOCK;
User altered.
Paso 10. Verifique el estado de la cuenta de los usuarios de CGMS_:
SQL> SELECT USERNAME,ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME LIKE 'cg%';
USERNAME
--------------------------------------------------------------------------------
ACCOUNT_STATUS
--------------------------------
CGMSDBA
OPEN
CGMS_DEV
OPEN
Paso 11. Inicie sesión en el servidor IoT-FND con SSH.
Paso 12. Inicie el script /opt/cgms/bin/setupCgms.sh para cambiar la configuración de contraseña de la base de datos. Deje el resto de las configuraciones con sus valores predeterminados:
[root@IoT-FND-SRV]# /opt/cgms/bin/setupCgms.sh
08-01-2018 16:40:43 CEST: INFO: ========== IoT-FND Setup Started - 2018-08-01-16-40-43 ==========
08-01-2018 16:40:43 CEST: INFO: Log file: /opt/cgms/bin/../server/cgms/log/cgms_setup.log
Are you sure you want to setup IoT-FND (y/n)? y
08-01-2018 16:40:46 CEST: INFO: User response: y
Do you want to change the database settings (y/n)? y
08-01-2018 16:40:54 CEST: INFO: User response: y
Enter database server hostname or IP [XX.XX.XX.XX]:
08-01-2018 16:40:55 CEST: INFO: Database server: XX.XX.XX.XX
Enter database server port [1522]:
08-01-2018 16:40:57 CEST: INFO: Database server port: 1522
Enter database SID [cgms]:
08-01-2018 16:40:59 CEST: INFO: Database SID: cgms
Do you wish to configure another database server for this IoT-FND ? (y/n)? n
08-01-2018 16:41:02 CEST: INFO: User response: n
08-01-2018 16:41:02 CEST: INFO: Configuring database settings. This may take a while. Please wait ...
08-01-2018 16:41:03 CEST: INFO: Database settings configured.
Do you want to change the database password (y/n)? y
08-01-2018 16:41:06 CEST: INFO: User response: y
Enter database password: <enter cgms_dev database user password>
Re-enter database password: <repeat cgms_dev database user password>
08-01-2018 16:41:10 CEST: INFO: Configuring database password. This may take a while. Please wait ...
08-01-2018 16:41:13 CEST: INFO: Database password configured.
Do you want to change the keystore password (y/n)? n
08-01-2018 16:41:16 CEST: INFO: User response: n
Do you want to change the web application 'root' user password (y/n)? n
08-01-2018 16:41:19 CEST: INFO: User response: n
Do you want to change the FTP settings (y/n)? n
08-01-2018 16:41:22 CEST: INFO: User response: n
Do you want to change router CGDM protocol settings (y/n)? n
08-01-2018 16:41:24 CEST: INFO: User response: n
Do you want to change log file settings)? (y/n)? n
08-01-2018 16:41:25 CEST: INFO: User response: n
08-01-2018 16:41:25 CEST: INFO: ========== IoT-FND Setup Completed Successfully ==========
Paso 13. Verifique la conectividad de la base de datos:
[root@IoT-FND-SRV ~]# service cgms status
IoT-FND Version X.X.X-XXX
08-01-2018 16:46:14 CEST: INFO: IoT-FND database server: XX.XX.XX.XX
08-01-2018 16:46:15 CEST: INFO: IoT-FND database connection verified.
08-01-2018 16:46:15 CEST: ERROR: IoT-FND application server is not running.
Paso 14. Inicie la aplicación IoT-FND:
[root@IoT-FND-SRV ~]# service cgms start
Paso 15. Verificar las operaciones de IoT-FND:
[root@IoT-FND-SRV ~]# service cgms status
IoT-FND Version X.X.X-XXX
08-01-2018 16:49:04 CEST: INFO: IoT-FND database server: XX.XX.XX.XX
08-01-2018 16:49:04 CEST: INFO: IoT-FND database connection verified.
08-01-2018 16:49:05 CEST: INFO: IoT-FND application server is up and running.
08-01-2018 16:49:06 CEST: INFO: IoT-FND is up and running.