Computer >> 컴퓨터 >  >> 프로그래밍 >> 데이터베이스

Oracle E-Business Suite APPS 스키마 및 WebLogic 암호 변경 완벽 가이드

이 글에서는 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 스키마와 동일한 암호를 사용해야 합니다.
APPLSYSE-Business Suite의 기반 객체(AD_*, FND_* 테이블)를 소유하며, 사용자·메뉴 등을 정의하는 데 사용됩니다.
APPLSYS 스키마는 반드시 APPS, APPS_NE 스키마와 동일한 암호를 사용해야 합니다.
APPS_NEE-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_USERFND_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 사용

AFPASSWDFNDCPASS의 개선된 버전으로, 다음과 같은 장점이 있습니다.

  • 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 암호를 변경하려면 다음 단계를 수행합니다.

  1. WLS 관리 콘솔에 로그인합니다.
    Oracle E-Business Suite APPS 스키마 및 WebLogic 암호 변경 완벽 가이드
  2. Change Center에서 Lock & Edit을 클릭합니다.
    Oracle E-Business Suite APPS 스키마 및 WebLogic 암호 변경 완벽 가이드
  3. Domain Structure 트리에서 Services를 확장하고 Data Sources를 선택합니다.
    Oracle E-Business Suite APPS 스키마 및 WebLogic 암호 변경 완벽 가이드
  4. Summary of JDBC Data Sources 페이지에서 EBSDataSource를 선택합니다.
    Oracle E-Business Suite APPS 스키마 및 WebLogic 암호 변경 완벽 가이드
  5. Settings for EBSDataSource 페이지에서 Connection Pool 탭을 선택합니다.
  6. Password 필드에 새 암호를 입력합니다.
    Oracle E-Business Suite APPS 스키마 및 WebLogic 암호 변경 완벽 가이드
  7. Confirm Password 필드에 동일한 새 암호를 다시 입력합니다.
  8. Save를 클릭합니다.
  9. Change Center에서 Activate Changes를 클릭합니다.

명령줄에서 변경

Unix 프롬프트에서 WLS 관리 콘솔(wlst)을 통해 APPS 암호를 변경하려면 다음 단계를 수행합니다.

  1. 다음 정보를 미리 확인합니다.
    • weblogic_password: WebLogic 암호
    • server_name: WebLogic Admin이 실행 중인 서버 이름
    • port: run 파일 시스템의 WebLogic Admin 포트
    • apps_password: 앞서 변경한 새 APPS 암호
    • 데이터 소스 실제 경로: $FMW_HOME/user_projects/domains/EBS_domain_${ORACLE_SID}
  2. 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()
  1. updateDSpwd.py 스크립트를 실행합니다.

6단계: 모든 서비스 시작

기본 애플리케이션 노드에서 다음 명령을 실행하여 모든 서비스를 시작합니다.

adstrtal.sh apps/apps_password -mode=allnodes

7단계: WebLogic 데이터 소스 검증

다음 단계로 WLS 데이터 소스를 확인합니다.

  1. WLS 관리 콘솔에 로그인합니다.
  2. Domain Structure 트리에서 Services를 확장하고 Data Sources를 선택합니다.
  3. Summary of JDBC Data Sources 페이지에서 EBSDataSource를 선택합니다.
  4. Settings for EBSDataSource 페이지에서 Monitoring > Testing을 선택합니다.
  5. oacore_server1을 선택합니다.
  6. Test DataSource를 클릭합니다.
  7. Test of EBSDataSource on server oacore_server1 was successful 메시지가 표시되는지 확인합니다.

WebLogic 암호 변경

WebLogic 관리자 암호 변경 방법은 Txk Delta 7 이상 버전과 그 이전 버전으로 나누어 설명합니다.

Txk Delta 7 이상

  1. 다음 명령으로 run 파일 시스템을 source하고, Admin Server를 제외한 모든 애플리케이션 계층 서비스를 종료합니다. 기본 애플리케이션 서버에서 Admin Server와 Node Manager 외에 어떤 애플리케이션 서비스도 실행 중이지 않은지 확인합니다.
    adstpall.sh apps/apps_password -mode=allnodes -skipNM -skipAdmin
  2. 다음 명령으로 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
  3. 다음 명령으로 모든 노드의 서비스를 시작합니다.
    adstrtal.sh apps/apps_password -mode=allnodes
  4. 관리 콘솔에 로그인하여 새 WebLogic 사용자 암호가 정상 동작하는지 확인합니다.

Txk Delta 7 미만 버전

  1. WebLogic 관리 콘솔에 로그인합니다.
  2. 기존 WebLogic 관리자 사용자 이름과 암호를 사용합니다.
  3. Lock & Edit을 클릭한 후 Domain을 클릭합니다.
  4. Security 탭을 클릭하고 Advanced 탭으로 이동합니다.
  5. Node Manager Password 항목에 WebLogic 관리자용 새 암호를 입력합니다.
  6. Save를 클릭하고 설정이 정상 업데이트되었는지 확인한 후 Activate Changes를 클릭합니다.
  7. Security Realms를 클릭하고 Myrealm을 선택합니다.
  8. Users and Groups에서 Weblogic User를 선택하고 새 암호를 입력합니다.
  9. 설정이 정상적으로 업데이트되었는지 확인합니다.

참고: 암호 변경 후 수행되는 다음 prepare 단계에서 Oracle Ad Online Patching(adop)이 EBS Domain Configuration을 호출하여 patch 파일 시스템의 WLS 데이터 소스가 새 Apps 암호와 동기화되도록 합니다.

결론

이 글에서 소개한 절차를 활용하면 APPS, APPLSYS, APPS_NE 및 WebLogic 암호를 체계적으로 변경할 수 있습니다. 단, 특수 문자나 멀티바이트 문자가 포함된 암호는 현재 EBS에서 지원되지 않으므로 유의해야 합니다.

FNDCPASS는 하위 호환성을 위해 여전히 지원되는 레거시 도구이지만, 명령줄에 암호를 직접 입력하는 방식은 보안상 위험이 될 수 있습니다. 따라서 Oracle은 모든 고객이 가능한 한 조속히 후속 도구인 AFPASSWD로 전환할 것을 권장합니다. AFPASSWD는 명령줄에 암호를 입력하지 않는 방식으로 동작합니다.

궁금한 점이나 의견이 있다면 피드백 탭을 통해 남겨 주세요. 데이터베이스 서비스에 대해 더 자세히 알아보세요.