Inleiding
In dit document wordt beschreven hoe u de Oracle-gebruikersaccount van Cisco IoT Field Network Director (IoT-FND) kunt ontgrendelen en de instelling voor het verlopen van het wachtwoord kunt wijzigen in Onbeperkt.
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan:
- Basisbewerkingen van Linux-shell (logboeken weergeven, een proces starten, enz.)
- Basiskennis van SQL queries
Gebruikte componenten
Dit document is niet beperkt tot specifieke software- en hardware-versies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Achtergrondinformatie
In dit document wordt ervan uitgegaan dat u twee afzonderlijke Linux-servers hebt:
Probleem
SYMPTOOM 1: IoT-FND start niet, verificatie van databaseverbinding mislukt.
[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.
SYMPTOOM 2: cgms_db_connection_test.log bevat vermeldingen die lijken op:
[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
Opmerking: de IoT-FND-toepassing gebruikt de CGMS_DEV-databasegebruiker om toegang te krijgen tot de Oracle-database.
Opmerking: standaard is wachtwoordvervaldatum in de Oracle-database ingeschakeld, dus na enige tijd worden accountwachtwoorden verlopen en is het niet mogelijk om ze te gebruiken zonder het wachtwoord te wijzigen.
SYMPTOOM 3: De status van de Oracle CGMS_DEV-gebruikersaccount is ingesteld op VERLOPEN.
[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
Oplossing
Stap 1. Meld u aan bij de IoT-FND-server met SSH.
Stap 2. Stop de FND-diensten.
[root@IoT-FND-SRV]$ service cgms stop
Opmerking: Als u IoT-FND-services niet stopt, probeert FND verbinding te maken met de database met een oud wachtwoord en wordt het account geblokkeerd totdat u klaar bent met deze procedure.
Stap 3. Log in op de Oracle-server met SSH.
Stap 4. Switch naar Oracle-systeemgebruiker:
[root@IoT-FND-Oracle]$ su - oracle
[oracle@IoT-FND-Oracle]$
Stap 5. Verbinding maken met de hoofdinstantie van de Oracle-database als sysdba-gebruiker:
[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>
Stap 6. Wijzig de instelling password_life_limit in onbeperkt:
sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
Stap 7. Controleer welke accounts een verlopen wachtwoord hebben.
SQL> SELECT USERNAME,ACCOUNT_STATUS FROM DBA_USERS WHERE ACCOUNT_STATUS='EXPIRED';
USERNAME
--------------------------------------------------------------------------------
ACCOUNT_STATUS
--------------------------------
CGMSDBA
OPEN
CGMS_DEV
EXPIRED
Stap 8. Wachtwoord instellen voor CGMS_DEV-gebruiker:
sql> ALTER USER CGMS_DEV IDENTIFIED BY <new-password>;
User altered.
Opmerking: als u het oude wachtwoord kent, kunt u het opnieuw gebruiken. Als dat niet het geval is, moet u het cgmsSetup.sh-script uitvoeren op de IoT-FND-server om de databasewachtwoorden in FND te wijzigen.
Stap 9. Ontgrendel de CGMS_DEV-gebruikersaccount:
SQL> ALTER USER CGMS_DEV ACCOUNT UNLOCK;
User altered.
Stap 10. Controleer de accountstatus van CGMS_-gebruikers:
SQL> SELECT USERNAME,ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME LIKE 'cg%';
USERNAME
--------------------------------------------------------------------------------
ACCOUNT_STATUS
--------------------------------
CGMSDBA
OPEN
CGMS_DEV
OPEN
Stap 11. Meld u aan bij de IoT-FND-server met SSH.
Stap 12. Start het /opt/cgms/bin/setupCgms.sh script om de instelling van het databasewachtwoord te wijzigen. Laat alle andere instellingen met hun standaardwaarden:
[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 ==========
Stap 13. Databaseconnectiviteit verifiëren:
[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.
Stap 14. IoT-FND-toepassing starten:
[root@IoT-FND-SRV ~]# service cgms start
Stap 15. IoT-FND-bewerkingen verifiëren:
[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.