Einführung
In diesem Dokument wird beschrieben, wie Sie das Oracle-Benutzerkonto von Cisco IoT Field Network Director (IoT-FND) entsperren und die Ablaufeinstellung für das Kennwort auf unbegrenzt ändern.
Voraussetzungen
Anforderungen
Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:
- Grundlegende Linux-Shell-Vorgänge (Protokolle anzeigen, Prozess starten usw.)
- Grundlegendes Verständnis von SQL-Abfragen
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
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: Das IoT-FND wird nicht gestartet, die Datenbankverbindungsüberprüfung ist 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 Einträge ähnlich 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
Hinweis: Die IoT-FND-Anwendung verwendet den Datenbankbenutzer CGMS_DEV, um auf die Oracle-Datenbank zuzugreifen.
Hinweis: In der Standardeinstellung ist Password Expiration (Kennwortablauf) in der Oracle-Datenbank aktiviert. Nach einiger Zeit werden Kontokennwörter abgelaufen, und Sie können diese nicht ohne Kennwortänderung verwenden.
SYMPTOM 3: Der Status des Benutzerkontos Oracle CGMS_DEV ist auf ABGELAUFEN festgelegt.
[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 Sie die FND-Services.
[root@IoT-FND-SRV]$ service cgms stop
Hinweis: Wenn Sie die IoT-FND-Dienste nicht beenden, versucht FND, eine Verbindung zur Datenbank mithilfe eines alten Kennworts herzustellen, und das Konto wird blockiert, bis Sie mit diesem Verfahren fertig sind.
Schritt 3: Melden Sie sich mit SSH beim Oracle-Server an.
Schritt 4: Zum Oracle-Systembenutzer wechseln:
[root@IoT-FND-Oracle]$ su - oracle
[oracle@IoT-FND-Oracle]$
Schritt 5: Herstellen einer Verbindung zur Stamminstanz der Oracle-Datenbank als sysdba-Benutzer:
[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 für password_life_limit auf unbegrenzt:
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 Benutzer CGMS_DEV fest:
sql> ALTER USER CGMS_DEV IDENTIFIED BY
;
User altered.
Hinweis: Wenn Sie das alte Kennwort kennen, können Sie es erneut verwenden. 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 /opt/cgms/bin/setupCgms.sh-Skript, um die Einstellungen für das Datenbankkennwort zu ändern. Behalten Sie alle anderen Einstellungen mit den Standardwerten bei:
[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 ==========
Schritt 13: Datenbankverbindung überprüfen:
[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: IoT-FND-Anwendung starten:
[root@IoT-FND-SRV ~]# service cgms start
Schritt 15: IoT-FND-Vorgänge überprüfen:
[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.