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 vencimiento de contraseña a ilimitada.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Operaciones básicas del shell Linux (ver registros, iniciar un proceso, etc.)
- Comprensión básica de consultas SQL
Componentes Utilizados
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
Este documento asume que tiene dos servidores Linux separados:
Problema
SÍNTOMA 1: IoT-FND no se está iniciando. Error en la verificación de 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 la base de datos CGMS_DEV para acceder a la base de datos de Oracle.
Nota: De forma predeterminada, la base de datos de Oracle tiene activada la caducidad de la contraseña, por lo que después de cierto tiempo, las contraseñas de la cuenta caducan y no es posible usarlas sin cambiar la contraseña.
SÍNTOMA 3: El estado de la cuenta de usuario de Oracle CGMS_DEV está establecido en EXPIRED.
[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 utilizando una contraseña antigua y la cuenta se bloqueará hasta que se complete este procedimiento.
Paso 3. Inicie sesión en el servidor Oracle con SSH.
Paso 4. Cambiar al usuario del sistema Oracle:
[root@IoT-FND-Oracle]$ su - oracle
[oracle@IoT-FND-Oracle]$
Paso 5. Conectar con 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 la configuración password_life_limit a ilimitado:
sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
Paso 7. Compruebe qué cuentas tienen contraseñas vencidas.
SQL> SELECT USERNAME,ACCOUNT_STATUS FROM DBA_USERS WHERE ACCOUNT_STATUS='EXPIRED';
USERNAME
--------------------------------------------------------------------------------
ACCOUNT_STATUS
--------------------------------
CGMSDBA
OPEN
CGMS_DEV
EXPIRED
Paso 8. Establecer contraseña para el usuario CGMS_DEV:
sql> ALTER USER CGMS_DEV IDENTIFIED BY
;
User altered.
Nota: Si conoce la contraseña antigua, puede reutilizarla. Si la respuesta es negativa, deberá ejecutar el script cgmsSetup.sh en el servidor IoT-FND para modificar las contraseñas de 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. Verificar el estado de cuenta de CGMS_ usuarios:
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 la contraseña de la base de datos. Deje el resto de 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:
Re-enter database 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. Iniciar aplicación IoT-FND:
[root@IoT-FND-SRV ~]# service cgms start
Paso 15. Verifique 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.