소개
이 문서에서는 Cisco IoT-FND(IoT Field Network Director)의 Oracle 사용자 계정을 잠금 해제하고 비밀번호 만료 설정을 무제한으로 변경하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- 기본 Linux 셸 작업(로그 보기, 프로세스 시작 등)
- SQL 쿼리에 대한 기본 이해
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
이 문서에서는 두 개의 개별 Linux 서버가 있다고 가정합니다.
문제
증상 1: IoT-FND가 시작되지 않습니다. 데이터베이스 연결을 확인하지 못했습니다.
[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.
증상 2: cgms_db_connection_test.log에는 다음과 유사한 항목이 포함되어 있습니다.
[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
참고: IoT-FND 애플리케이션은 CGMS_DEV 데이터베이스 사용자를 사용하여 Oracle 데이터베이스에 액세스합니다.
참고: 기본적으로 Oracle 데이터베이스는 비밀번호 만료를 활성화하므로 일정 시간이 지나면 계정 비밀번호가 만료되고 비밀번호를 변경하지 않으면 사용할 수 없습니다.
증상 3: Oracle CGMS_DEV 사용자 계정 상태는 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
솔루션
1단계. SSH를 사용하여 IoT-FND 서버에 로그인합니다.
2단계. FND 서비스를 중지합니다.
[root@IoT-FND-SRV]$ service cgms stop
참고: IoT-FND 서비스를 중지하지 않으면 FND가 이전 암호를 사용하여 데이터베이스에 연결을 시도하고 이 절차를 완료할 때까지 계정이 차단됩니다.
3단계. SSH를 사용하여 Oracle 서버에 로그인합니다.
4단계. oracle 시스템 사용자로 전환합니다.
[root@IoT-FND-Oracle]$ su - oracle
[oracle@IoT-FND-Oracle]$
5단계. sysdba 사용자로 Oracle 데이터베이스의 루트 인스턴스에 접속합니다.
[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>
6단계. password_life_limit 설정을 무제한으로 수정합니다.
sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
7단계. 만료된 비밀번호가 있는 어카운트를 확인합니다.
SQL> SELECT USERNAME,ACCOUNT_STATUS FROM DBA_USERS WHERE ACCOUNT_STATUS='EXPIRED';
USERNAME
--------------------------------------------------------------------------------
ACCOUNT_STATUS
--------------------------------
CGMSDBA
OPEN
CGMS_DEV
EXPIRED
8단계. CGMS_DEV 사용자의 비밀번호를 설정합니다.
sql> ALTER USER CGMS_DEV IDENTIFIED BY ;
User altered.
참고: 이전 비밀번호를 알고 있으면 재사용할 수 있습니다. 대답이 "아니요"인 경우 IoT-FND 서버에서 cgmsSetup.sh 스크립트를 실행하여 FND에 설정된 데이터베이스 암호를 수정해야 합니다.
9단계. CGMS_DEV 사용자 계정을 잠금 해제합니다.
SQL> ALTER USER CGMS_DEV ACCOUNT UNLOCK;
User altered.
10단계. CGMS_ 사용자의 계정 상태를 확인합니다.
SQL> SELECT USERNAME,ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME LIKE 'cg%';
USERNAME
--------------------------------------------------------------------------------
ACCOUNT_STATUS
--------------------------------
CGMSDBA
OPEN
CGMS_DEV
OPEN
11단계. SSH를 사용하여 IoT-FND 서버에 로그인합니다.
12단계. /opt/cgms/bin/setupCgms.sh 스크립트를 시작하여 데이터베이스 비밀번호 설정을 변경합니다. 다른 모든 설정은 기본값으로 둡니다.
[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 ==========
13단계. 데이터베이스 연결을 확인합니다.
[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.
14단계. IoT-FND 애플리케이션을 시작합니다.
[root@IoT-FND-SRV ~]# service cgms start
15단계. 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.