Einleitung
In diesem Dokument wird beschrieben, wie Sie das Oracle-Benutzerkonto von Cisco IoT Field Network Director (IoT-FND) entsperren und die Einstellung für den Kennwortablauf in "Unlimited" (Unbegrenzt) ändern.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
- Grundlegende Linux-Shell-Vorgänge (Protokollanzeige, Prozessstart usw.)
- Grundlegendes Verständnis von SQL-Abfragen
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
In diesem Dokument wird davon ausgegangen, dass Sie über zwei separate Linux-Server verfügen:
-
IoT-FND-SRV - Server, der die IoT-FND-Anwendung hostet.
-
IoT-FND-Oracle - Server, der die Oracle-Datenbank für die IoT-FND-Anwendung hostet.
Problem
SYMPTOM 1: IoT-FND wird nicht gestartet, Überprüfung der Datenbankverbindung fehlgeschlagen.
[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.
SYMPTOM 2: cgms_db_connection_test.log enthält ähnliche Einträge wie:
[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
Anmerkung: Die IoT-FND-Anwendung verwendet den Datenbankbenutzer CGMS_DEV, um auf die Oracle-Datenbank zuzugreifen.
Anmerkung: In der Oracle-Datenbank ist standardmäßig die Kennwortablaufzeit aktiviert. Nach einiger Zeit werden Kontokennwörter daher abgelaufen, und es ist nicht möglich, sie zu verwenden, ohne das Kennwort zu ändern.
SYMPTOM 3: Der Status des Oracle CGMS_DEV-Benutzerkontos ist auf "ABGELAUFEN" gesetzt.
[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
Lösung
Schritt 1: Melden Sie sich mit SSH beim IoT-FND-Server an.
Schritt 2: Beenden der FND-Dienste
[root@IoT-FND-SRV]$ service cgms stop
Hinweis: Wenn Sie die IoT-FND-Dienste nicht beenden, versucht FND, sich mit einem alten Kennwort mit der Datenbank zu verbinden, und das Konto wird blockiert, bis Sie mit diesem Vorgang fertig sind.
Schritt 3: Melden Sie sich mit SSH beim Oracle-Server an.
Schritt 4. Zu Oracle-Systembenutzer wechseln:
[root@IoT-FND-Oracle]$ su - oracle
[oracle@IoT-FND-Oracle]$
Schritt 5: Stellen Sie als Sysdba-Benutzer eine Verbindung zur Root-Instanz der Oracle-Datenbank her:
[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>
Schritt 6: Ändern Sie die Einstellung password_life_limit auf unlimited:
sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
Schritt 7: Überprüfen Sie, welche Konten abgelaufene Kennwörter haben.
SQL> SELECT USERNAME,ACCOUNT_STATUS FROM DBA_USERS WHERE ACCOUNT_STATUS='EXPIRED';
USERNAME
--------------------------------------------------------------------------------
ACCOUNT_STATUS
--------------------------------
CGMSDBA
OPEN
CGMS_DEV
EXPIRED
Schritt 8: Legen Sie das Kennwort für den CGMS_DEV-Benutzer fest:
sql> ALTER USER CGMS_DEV IDENTIFIED BY <new-password>;
User altered.
Hinweis: Wenn Sie das alte Kennwort kennen, können Sie es wiederverwenden. Falls nein, müssen Sie das Skript cgmsSetup.sh auf dem IoT-FND-Server ausführen, um die in FND festgelegten Datenbankkennwörter zu ändern.
Schritt 9: Entsperren Sie das CGMS_DEV-Benutzerkonto:
SQL> ALTER USER CGMS_DEV ACCOUNT UNLOCK;
User altered.
Schritt 10: Überprüfen Sie den Kontostatus der CGMS_-Benutzer:
SQL> SELECT USERNAME,ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME LIKE 'cg%';
USERNAME
--------------------------------------------------------------------------------
ACCOUNT_STATUS
--------------------------------
CGMSDBA
OPEN
CGMS_DEV
OPEN
Schritt 11: Melden Sie sich mit SSH beim IoT-FND-Server an.
Schritt 12: Starten Sie das Skript /opt/cgms/bin/setupCgms.sh, um die Einstellung für das Datenbankkennwort zu ändern. Lassen Sie alle anderen Einstellungen mit ihren Standardwerten unverändert:
[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 ==========
Schritt 13: Überprüfen der Datenbankverbindung:
[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.
Schritt 14: Starten der IoT-FND-Anwendung:
[root@IoT-FND-SRV ~]# service cgms start
Schritt 15: Überprüfen der IoT-FND-Vorgänge:
[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.