이 글에서는 Oracle® E-Business Suite(EBS)의 APPS 스키마와 WebLogic® 암호를 변경하는 절차를 단계별로 설명합니다. 이는 Oracle Applications 데이터베이스 관리자(DBA)가 정기적으로 수행하는 기본적인 작업입니다. EBS R12.2 버전에서는 AFPASSWD 유틸리티를 사용하거나, FNDCPASS를 실행한 후 몇 가지 수동 절차를 추가로 수행하여 암호를 변경할 수 있습니다.
EBS 스키마 개요
다음 표는 EBS R12.2를 구성하는 주요 스키마를 보여줍니다.
| 스키마 | 설명 |
|---|---|
| APPS | 데이터베이스 내 모든 애플리케이션 코드를 소유하며, E-Business Suite의 모든 데이터에 접근할 수 있습니다. 모든 최종 사용자 연결은 APPLSYSPUB 스키마를 통한 인증 후 APPS로 접속합니다. APPS 스키마는 반드시 APPLSYS, APPS_NE 스키마와 동일한 암호를 사용해야 합니다. |
| APPLSYS | E-Business Suite의 기반 객체(AD_*, FND_* 테이블)를 소유하며, 사용자·메뉴 등을 정의하는 데 사용됩니다. APPLSYS 스키마는 반드시 APPS, APPS_NE 스키마와 동일한 암호를 사용해야 합니다. |
| APPS_NE | E-Business Suite의 신규 non-edition 런타임 'APPS' 사용자입니다. APPS_NE 스키마는 반드시 APPLSYS, APPS 스키마와 동일한 암호를 사용해야 합니다. |
표 출처: https://www.integrigy.com/security-resources/oracle-e-business-suite-applsys-apps-and-appsne
참고: 암호 변경 작업은 반드시 run 파일 시스템에서 수행해야 하며, 변경 전에 FND_USER와 FND_ORACLE_USERID 테이블을 백업해야 합니다. 변경이 성공적으로 완료되었음을 확인한 후 백업본은 제거하면 됩니다. APPLSYS 암호를 변경하면 APPS, APPLSYS, APPS_NE 세 스키마의 암호가 한 번에 함께 변경됩니다.
스키마 암호 변경 절차
1단계: 애플리케이션 계층 서비스 중지
기본(primary) 애플리케이션 노드에서 다음 명령을 실행하여 여러 노드의 애플리케이션 계층 서비스를 중지합니다.
adstpall.sh apps/apps_password -mode=allnodes
명령 실행 시 WebLogic 암호 입력을 요청합니다. 내부적으로는 R12.2.x 사전 설정 과정에서 구성된 SSH(Secure Shell)를 통해 모든 노드에 접속합니다.
2단계: 암호 변경
APPS, APPLSYS, APPS_NE 스키마의 암호를 변경하려면 아래 명령줄 유틸리티 중 하나를 사용합니다.
FNDCPASS 사용
기본 애플리케이션 서버의 run 파일 시스템 환경 파일을 export한 후, 다음 명령으로 암호를 변경합니다.
FNDCPASS apps/apps_password 0 Y <SYSTEM 사용자>/<SYSTEM 암호> SYSTEM APPLSYS <새 암호>
참고: 패치 19127427을 적용해야 할 수 있습니다. 미적용 시 FNDCPASS가 암호 변경에 실패하며 ERROR IN PASSWORD VERIFICATION FOR APPS 오류가 발생할 수 있습니다.
AFPASSWD 사용
AFPASSWD는 FNDCPASS의 개선된 버전으로, 다음과 같은 장점이 있습니다.
AFPASSWD는 현재 작업에 필요한 암호만 입력받으므로, 애플리케이션 관리자와 데이터베이스 관리자 간 직무 분리(Separation of Duties)가 가능하며 Oracle Database Vault와의 상호 운용성도 향상됩니다. 반면 기존FNDCPASS는 APPS와 SYSTEM 사용자 이름 및 암호를 함께 지정해야 해서 직무 분리가 불가능합니다.AFPASSWD로 암호를 변경할 때는 확인을 위해 새 암호를 두 번 입력하도록 요청합니다.- EBS Release 12.2.3 이상에서는
AFPASSWD를 사용해 EBS 사용자 암호를 암호 해싱(password-hashing) 방식으로 마이그레이션할 수도 있습니다.
AFPASSWD 명령 구문은 다음과 같습니다.
AFPASSWD [-c <APPSUSER>[@<TWO_TASK>]] -s <APPLSYS>
아래 예시는 데이터베이스 사용자가 ERPUAT인 환경에서, 기본 애플리케이션 서버의 run 파일 시스템 환경 파일을 export한 상태에서 암호를 변경하는 과정입니다.
- 명령 실행:
AFPASSWD -c apps@ERPUAT -s APPLSYS - Application Object Library APPSUSER의 Oracle 암호를 입력하고 APPS에 정상 접속합니다.
- SYSTEM Oracle 스키마의 암호를 입력하고 SYSTEM에 정상 접속합니다(로그 파일: AFPWD_ERPUAT_11.log).
- 사용자의 새 암호를 입력하고, 확인을 위해 한 번 더 입력합니다.
- 작업이 성공적으로 완료됩니다.
3단계: AutoConfig 실행
변경된 새 암호로 모든 노드에서 AutoConfig를 실행합니다.
4단계: AdminServer 시작
$INST_TOP/admin/scripts/adadminsrvctl.sh 스크립트를 사용하여 AdminServer를 시작합니다. 이때 다른 애플리케이션 계층 서비스는 시작하지 않습니다.
adadminsrvctl.sh start
5단계: WebLogic에서 APPS 암호 변경
WebLogic Server(WLS) 데이터 소스의 APPS 암호를 변경합니다. 콘솔을 이용하는 방법과 명령줄을 이용하는 방법 중 하나를 선택합니다.
콘솔에서 변경
WLS 콘솔로 APPS 암호를 변경하려면 다음 단계를 수행합니다.
- WLS 관리 콘솔에 로그인합니다.

- Change Center에서 Lock & Edit을 클릭합니다.

- Domain Structure 트리에서 Services를 확장하고 Data Sources를 선택합니다.

- Summary of JDBC Data Sources 페이지에서 EBSDataSource를 선택합니다.

- Settings for EBSDataSource 페이지에서 Connection Pool 탭을 선택합니다.
- Password 필드에 새 암호를 입력합니다.

- Confirm Password 필드에 동일한 새 암호를 다시 입력합니다.
- Save를 클릭합니다.
- Change Center에서 Activate Changes를 클릭합니다.
명령줄에서 변경
Unix 프롬프트에서 WLS 관리 콘솔(wlst)을 통해 APPS 암호를 변경하려면 다음 단계를 수행합니다.
- 다음 정보를 미리 확인합니다.
- weblogic_password: WebLogic 암호
- server_name: WebLogic Admin이 실행 중인 서버 이름
- port: run 파일 시스템의 WebLogic Admin 포트
- apps_password: 앞서 변경한 새 APPS 암호
- 데이터 소스 실제 경로: $FMW_HOME/user_projects/domains/EBS_domain_${ORACLE_SID}
- updateDSpwd.py 파일을 편집하여 위 정보로 파라미터를 수정합니다.
username = 'weblogic'
password = 'weblogic_password'
URL= 't3://server_name:port'
connect(username,password,URL)
edit()
startEdit()
en = encrypt('apps_password','actual path of data source')
dsName = 'EBSDataSource'
cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName)
set('PasswordEncrypted',en)
print ('')
print ('')
save()
activate()
- updateDSpwd.py 스크립트를 실행합니다.
6단계: 모든 서비스 시작
기본 애플리케이션 노드에서 다음 명령을 실행하여 모든 서비스를 시작합니다.
adstrtal.sh apps/apps_password -mode=allnodes
7단계: WebLogic 데이터 소스 검증
다음 단계로 WLS 데이터 소스를 확인합니다.
- WLS 관리 콘솔에 로그인합니다.
- Domain Structure 트리에서 Services를 확장하고 Data Sources를 선택합니다.
- Summary of JDBC Data Sources 페이지에서 EBSDataSource를 선택합니다.
- Settings for EBSDataSource 페이지에서 Monitoring > Testing을 선택합니다.
- oacore_server1을 선택합니다.
- Test DataSource를 클릭합니다.
- Test of EBSDataSource on server oacore_server1 was successful 메시지가 표시되는지 확인합니다.
WebLogic 암호 변경
WebLogic 관리자 암호 변경 방법은 Txk Delta 7 이상 버전과 그 이전 버전으로 나누어 설명합니다.
Txk Delta 7 이상
- 다음 명령으로 run 파일 시스템을 source하고, Admin Server를 제외한 모든 애플리케이션 계층 서비스를 종료합니다. 기본 애플리케이션 서버에서 Admin Server와 Node Manager 외에 어떤 애플리케이션 서비스도 실행 중이지 않은지 확인합니다.
adstpall.sh apps/apps_password -mode=allnodes -skipNM -skipAdmin - 다음 명령으로 WebLogic 관리자 암호를 변경하고 서비스를 시작합니다.
perl $FND_TOP/patch/115/bin/txkUpdateEBSDomain.pl -action=updateAdminPassword시스템은 Apps 암호, 기존 WebLogic 암호, 새 WebLogic 암호를 차례로 입력하도록 요청합니다. 참고로 이 프로세스의 샘플 출력은 다음과 같습니다.
$ perl $FND_TOP/patch/115/bin/txkUpdateEBSDomain.pl -action=updateAdminPassword Program: txkUpdateEBSDomain.pl started at Tue Aug 21 04:30:52 2018 AdminServer is restarted after changing WebLogic Admin Password All MidTier services should be SHUTDOWN before changing WebLogic Admin Password Confirm if all Mid-Tier services are in SHUTDOWN state. Enter "Yes" to proceed or anything else to exit: Enter the full path of Applications Context File [DEFAULT - /apps1/OSID/fs1/inst/apps/OSID_pserver/appl/admin/OSID_pserver.xml]: Enter the WLS Admin Password: Enter the new WLS Admin Password: Enter the APPS user password: Executing: /apps1/OSID/fs1/FMW_Home/webtier/perl/bin/perl /apps1/OSID/fs1/EBSapps/appl/ad/12.0.0/patch/115/bin/adProvisionEBS.pl ebs-get-serverstatus ... Online mode: Backup Location: /apps1/OSID/fs1/inst/apps/OSID_pserver/logs/appl/rgf/TXK/txkUpdateEBSDomain_Tue_Aug_21_04_30_52_2018 Logfile Location: /apps1/OSID/fs1/inst/apps/OSID_pserver/logs/appl/rgf/TXK/txkUpdateEBSDomain_Tue_Aug_21_04_30_52_2018/updateAdminPassword.log Domain updated successfully Restarting AdminServer with new Admin Password. ... adadminsrvctl.sh: exiting with status 0 adnodemgrctl.sh: exiting with status 0 Starting WLS Admin Server... adadminsrvctl.sh: exiting with status 0 *************** IMPORTANT **************** WebLogic Admin Password is changed. Restart all application tier services using control scripts. Program: txkUpdateEBSDomain.pl completed at Tue Aug 21 04:34:33 2018 - 다음 명령으로 모든 노드의 서비스를 시작합니다.
adstrtal.sh apps/apps_password -mode=allnodes - 관리 콘솔에 로그인하여 새 WebLogic 사용자 암호가 정상 동작하는지 확인합니다.
Txk Delta 7 미만 버전
- WebLogic 관리 콘솔에 로그인합니다.
- 기존 WebLogic 관리자 사용자 이름과 암호를 사용합니다.
- Lock & Edit을 클릭한 후 Domain을 클릭합니다.
- Security 탭을 클릭하고 Advanced 탭으로 이동합니다.
- Node Manager Password 항목에 WebLogic 관리자용 새 암호를 입력합니다.
- Save를 클릭하고 설정이 정상 업데이트되었는지 확인한 후 Activate Changes를 클릭합니다.
- Security Realms를 클릭하고 Myrealm을 선택합니다.
- Users and Groups에서 Weblogic User를 선택하고 새 암호를 입력합니다.
- 설정이 정상적으로 업데이트되었는지 확인합니다.
참고: 암호 변경 후 수행되는 다음 prepare 단계에서 Oracle Ad Online Patching(adop)이 EBS Domain Configuration을 호출하여 patch 파일 시스템의 WLS 데이터 소스가 새 Apps 암호와 동기화되도록 합니다.
결론
이 글에서 소개한 절차를 활용하면 APPS, APPLSYS, APPS_NE 및 WebLogic 암호를 체계적으로 변경할 수 있습니다. 단, 특수 문자나 멀티바이트 문자가 포함된 암호는 현재 EBS에서 지원되지 않으므로 유의해야 합니다.
FNDCPASS는 하위 호환성을 위해 여전히 지원되는 레거시 도구이지만, 명령줄에 암호를 직접 입력하는 방식은 보안상 위험이 될 수 있습니다. 따라서 Oracle은 모든 고객이 가능한 한 조속히 후속 도구인 AFPASSWD로 전환할 것을 권장합니다. AFPASSWD는 명령줄에 암호를 입력하지 않는 방식으로 동작합니다.
궁금한 점이나 의견이 있다면 피드백 탭을 통해 남겨 주세요. 데이터베이스 서비스에 대해 더 자세히 알아보세요.