Univ Admissions
추천전형

Oracle Internet Directory(OID) 12c 완벽 설치 및 구성 가이드

안녕하세요, 오늘은 Oracle Internet Directory(OID) 12.2.1.3.0/12.2.1.4.0 버전의 설치 및 구성 과정을 아주 상세하게 살펴보겠습니다. 이 가이드는 Linux 환경에서의 Collocated 설치를 기준으로 작성되었으며, 각 단계별로 자세한 설명과 주의사항, 그리고 가능한 문제 해결 방법을 포함하고 있습니다.

목차

1. 사전 준비

OID 설치를 시작하기 전에, 다음의 사전 준비 사항들을 반드시 확인하고 설정해야 합니다. 이 단계를 철저히 수행하면 이후 설치 과정에서 발생할 수 있는 많은 문제를 예방할 수 있습니다.

1.1 시스템 요구사항 확인

운영 체제: Oracle Linux 7 또는 Red Hat Enterprise Linux 7을 권장합니다. 다른 Linux 배포판을 사용할 경우, Oracle의 공식 지원 매트릭스를 확인하세요.
하드웨어 요구사항:
CPU: 최소 2개의 코어, 권장 4개 이상
RAM: 최소 4GB, 권장 8GB 이상 (프로덕션 환경의 경우 16GB 이상 권장)
디스크 공간: Oracle 홈을 위해 최소 10GB, 추가로 도메인 구성 및 로그를 위해 10GB 이상
스왑 공간: RAM과 동일한 크기 또는 최소 4GB
다음 명령어로 시스템 사양을 확인할 수 있습니다:
# CPU 정보 확인 lscpu # 메모리 정보 확인 free -h # 디스크 공간 확인 df -h # 스왑 공간 확인 swapon --show
Bash
복사
[스크린샷: 시스템 사양 확인 명령어 실행 결과 - lscpu]
[스크린샷: 시스템 사양 확인 명령어 실행 결과 - free]
[스크린샷: 시스템 사양 확인 명령어 실행 결과 - df]
[스크린샷: 시스템 사양 확인 명령어 실행 결과 - swapon]

1.2 필요한 Linux 패키지 설치

OID 12c는 다음 패키지들이 필요합니다. 아래 명령어로 설치할 수 있습니다:
sudo yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat
Bash
복사
설치가 완료되면 다음 명령어로 각 패키지가 제대로 설치되었는지 확인하세요:
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat
Bash
복사
[스크린샷: 패키지 설치 확인 결과]

1.3 사용자 및 그룹 생성

OID를 실행할 전용 사용자와 그룹을 생성하는 것이 좋습니다. 다음 명령어를 사용하세요:
# 그룹 생성 sudo groupadd oinstall sudo groupadd dba # 사용자 생성 sudo useradd -g oinstall -G dba oracle
Bash
복사
사용자 및 그룹 생성 화면 - oracle/oinstall/dba
unset TNS_ADMIN unset ORACLE_HOME # PATH에서 Oracle 관련 항목 제거
Bash
복사
사용자 암호를 설정합니다:
sudo passwd oracle
Bash
복사

1.4 커널 파라미터 설정

/etc/sysctl.conf 파일을 편집하여 다음 파라미터를 추가 또는 수정합니다:
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
Bash
복사
변경 사항을 적용하려면 다음 명령어를 실행하세요:
sudo sysctl -p
Bash
복사

1.5 리소스 제한 설정

/etc/security/limits.conf 파일을 편집하여 다음 라인을 추가합니다:
oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768
Bash
복사

1.6 JDK 설치

OID 12c는 Java Development Kit (JDK) 8 이상이 필요합니다. 다음 단계를 따라 설치하세요:
1.
Oracle 웹사이트에서 적절한 JDK를 다운로드하거나 OpenJDK를 사용할 수 있습니다.
2.
다운로드한 아카이브를 원하는 위치에 압축 해제합니다. 예: /usr/java/jdk1.8.0_xxx
3.
다음 명령어로 JAVA_HOME 환경 변수를 설정합니다:
export JAVA_HOME=/usr/java/jdk1.8.0_xxx export PATH=$JAVA_HOME/bin:$PATH
Bash
복사
4.
설치를 확인합니다:
java -version
Bash
복사
[스크린샷: Java 버전 정보 출력]

1.7 Oracle Database 설치 및 구성

OID는 지원되는 Oracle Database가 필요합니다. 다음은 데이터베이스 설정의 간략한 개요입니다:
1.
Oracle Database 12c 이상을 설치합니다.
2.
OID용 새 데이터베이스 인스턴스를 생성합니다.
3.
데이터베이스가 다음과 같이 구성되었는지 확인합니다:
데이터베이스 문자 세트로 AL32UTF8 사용
최소 400MB의 메모리
최소 1GB의 디스크 공간
데이터베이스 설치 후, 다음 SQL 명령어로 설정을 확인할 수 있습니다:
-- 문자 세트 확인 SELECT value FROM nls_database_parameters WHERE parameter='NLS_CHARACTERSET'; -- 메모리 설정 확인 SHOW PARAMETER sga_target; SHOW PARAMETER pga_aggregate_target; -- 테이블스페이스 공간 확인 SELECT tablespace_name, SUM(bytes)/1024/1024 MB FROM dba_data_files GROUP BY tablespace_name;
SQL
복사
[스크린샷: 데이터베이스 설정 확인 SQL 실행 결과]

1.8 환경 변수 초기화

설치 과정에서 충돌을 방지하기 위해 모든 Oracle 관련 환경 변수를 초기화합니다. 다음 명령어를 실행하세요:
unset TNS_ADMIN unset ORACLE_HOME # PATH에서 Oracle 관련 항목 제거 export PATH=$(echo $PATH | tr ':' '\n' | grep -v oracle | tr '\n' ':' | sed 's/:$//')
Bash
복사

1.9 호스트 파일 구성

/etc/hosts 파일이 올바르게 구성되어 있는지 확인합니다. 다음 형식의 항목이 있어야 합니다:
항상 정규화된 호스트명(FQHN)과 데이터베이스 인스턴스의 서비스명을 사용하세요. /etc/hosts 파일에서 호스트 설정을 확인하고, 필요하다면 다음과 같이 설정하세요:
<IP 주소> <정규화된 호스트명> <짧은 호스트명>
예:
192.168.1.100 myserver.example.com myserver
Plain Text
복사
스크린샷: /etc/hosts 파일 내용]

1.10 방화벽 설정

OID가 사용할 포트를 개방해야 합니다. 기본적으로 다음 포트들이 사용됩니다:
389: LDAP/ 디렉토리 서비스에 대한 접근
636: LDAPS (SSL)/LDAP의 SSL 암호화 버전
3060: OID와의 통신을 위해 사용
7001: WebLogic 관리 서버
7002: WebLogic 관리 서버 (SSL)
firewalld를 사용하는 경우, 다음 명령어로 포트를 개방할 수 있습니다:
sudo firewall-cmd --permanent --add-port=389/tcp sudo firewall-cmd --permanent --add-port=636/tcp sudo firewall-cmd --permanent --add-port=3060/tcp sudo firewall-cmd --permanent --add-port=7001/tcp sudo firewall-cmd --permanent --add-port=7002/tcp sudo firewall-cmd --reload
Bash
복사
설정을 확인합니다:
sudo firewall-cmd --list-all
Bash
복사
OID 설치용 방화벽(firewall) 포트 개방

포트 할당의 기본 원리

Oracle 설치 프로그램은 다음과 같은 방식으로 각 구성 요소에 기본 포트 번호를 할당합니다:
1.
기본 포트 확인: 먼저 설치 프로그램은 해당 구성 요소의 기본 포트 번호가 사용 중인지 확인합니다. 기본 포트가 사용 중이 아니라면, 그 포트 번호를 해당 구성 요소에 바로 할당합니다.
2.
만약 기본 포트가 이미 다른 Oracle 제품이나 실행 중인 애플리케이션에 의해 사용 중이라면, 설치 프로그램은 다른 방법을 시도합니다. 해당 구성 요소에 할당된 포트 번호 범위 내에서 가장 낮은 번호부터 시작하여 사용 가능한 포트를 찾습니다.
예를 들어, OID의 기본 비SSL 포트인 389가 이미 사용 중이라면, 설치 프로그램은 3060부터 3129 사이의 포트를 순차적으로 확인하며 사용 가능한 첫 번째 포트를 할당합니다.

2. Oracle Fusion Middleware Infrastructure 설치

이제 사전 준비가 완료되었으므로, Oracle Fusion Middleware Infrastructure 설치를 시작할 수 있습니다. 이 과정은 WebLogic Server, Oracle 핵심 라이브러리, Repository Creation Utility(RCU) 등을 설치하는 과정으로 진행 됩니다.

2.1 설치 파일 준비

1.
Oracle 웹사이트에서 다음 파일을 다운로드합니다:
12.2.1.3.0 버전: fmw_12.2.1.3.0_infrastructure.jar
12.2.1.4.0 버전: fmw_12.2.1.4.0_infrastructure.jar
2.
다운로드한 파일을 설치하려는 서버의 적절한 위치로 복사합니다.

2.2 설치 시작

다음 명령을 실행하여 설치를 시작합니다:
java -jar fmw_12.2.1.x.0_infrastructure.jar
Bash
복사
단, 여기서 실행되는 java가 openJDK일 경우 다음과 같은 에러가 발생되므로 Oracle JDK를 실행하도록 하세요.
The OpenJDK JVM is not supported on this platform.
Plain Text
복사

2.3 설치 과정

설치 마법사의 각 단계를 따라갑니다:
1.
중앙 인벤토리 설정 (Central Inventory Setup): Inventory Directory: 인벤토리 디렉토리를 /u01/oracle/oraInventory로 지정하고 Operating System Group: 운영체제 그룹으로 oinstall을 선택합니다.
2.
환영 화면: 'Next'를 클릭합니다.
3.
자동 업데이트: 'Skip Auto Updates'를 선택합니다. 패치 설치를 생략할 수 있습니다. .
4.
설치 위치: Oracle Home 경로를 설정합니다. 해당 디렉토리 내에 제품이 설치됩니다.
예: /u01/oracle/middleware
이 경로는 나중에 OID 설치 시에도 사용되므로 잘 기억해두세요.
5.
설치 유형: 'Fusion Middleware Infrastructure' 옵션을 선택합니다.
6.
필수 구성 요소 검사: 시스템이 모든 필수 구성 요소를 충족하는지 확인합니다. 문제가 있다면 해결 후 다시 검사를 실행하세요.
7.
설치 요약:
a.
설치 요약 화면에서 디스크 공간과 설치할 기능 세트를 확인할 수 있습니다.
b.
설치 경로는 /u01/oracle/Middleware/OID_Home, 필요 공간은 2127MB.
c.
설치할 Feature는 WebLogic Server, Coherence, JDBC Drivers 등.
d.
모든 설정이 완료되면 Install 버튼을 클릭하여 설치를 시작합니다.
8.
설치 프로세스가 완료될 때까지 기다립니다. 이 과정은 시스템 성능에 따라 30분에서 1시간 정도 걸릴 수 있습니다.

2.4 설치 완료

설치가 완료되면 '완료' 버튼을 클릭하여 설치 프로그램을 종료합니다.

3. OID 소프트웨어 설치

Infrastructure 설치가 완료되면, 이제 OID 소프트웨어를 동일한 Oracle Home에 설치할 수 있습니다.

3.1 OID 설치 파일 준비

1.
Oracle 웹사이트에서 다음 파일을 다운로드합니다:
12.2.1.3.0 버전: fmw_12.2.1.3.0_oid_linux64.bin
12.2.1.4.0 버전: fmw_12.2.1.4.0_oid_linux64.bin
2.
다운로드한 파일을 설치 서버의 적절한 위치로 복사합니다.
3.
파일에 실행 권한을 부여합니다:
chmod +x fmw_12.2.1.x.0_oid_linux64.bin
Bash
복사

3.2 설치 시작

다음 명령을 실행하여 OID 설치를 시작합니다:
./fmw_12.2.1.x.0_oid_linux64.bin
Bash
복사
OID 설치 파일 실행

3.3 설치 과정

OID 설치 마법사의 각 단계를 따라갑니다:
1.
중앙 인벤토리 설정 (Central Inventory Setup)
Inventory Directory: /u01/oracle/oraInventory 경로로 설정.
Operating System Group: oinstall 그룹을 선택.
해당 설정이 완료되면, 중앙 인벤토리 포인터 파일이 생성됩니다.
2.
환영 화면: '다음'을 클릭합니다.
3.
자동 업데이트: 'Skip Auto Updates' 옵션을 선택합니다.
4.
설치 위치:
Infrastructure를 설치한 동일한 Oracle Home을 선택합니다.
예: /u01/oracle/Middleware/OID_Home
5.
설치 유형:
Collocated Oracle Internet Directory Server를 선택하여 WebLogic 서버와 통합된 형태로 OID를 설치합니다. 이 옵션은 OID를 WebLogic 서버와 함께 관리할 수 있게 해줍니다.
6.
JDK 선택:
시스템에 설치된 JDK를 선택하거나 Oracle Home에 포함된 JDK를 사용합니다.
앞서 설치한 JDK의 경로를 지정하세요.
7.
사전 요구 사항 확인 (Prerequisite Checks)
운영 체제, 커널 매개 변수, 메모리 등 사전 요구 사항을 확인합니다.
모든 항목이 100% 완료되면 Next를 클릭하여 계속 진행합니다.
8.
설치 요약 (Installation Summary)
설치 요약 화면에서 설치 경로, 필요한 디스크 공간, 설치할 기능 세트를 확인할 수 있습니다.
필요한 기능이 올바르게 선택되었는지 확인한 후 Install 버튼을 클릭하여 설치를 시작합니다.
9.
설치 진행 (Installation Progress)
설치 진행 화면에서 준비, 복사, 라이브러리 생성, 설정 저장 등이 완료됩니다.
모든 항목이 성공적으로 완료되면 Next를 클릭하여 계속 진행합니다.
10.
설치 완료 (Installation Complete)
OID 설치가 완료되면 다음 단계로 넘어갑니다. 다음은 설치 완료 후 실행할 작업입니다:
1.
Repository Creation Utility를 사용하여 데이터베이스에 필요한 스키마를 생성.
2.
Configuration Wizard를 통해 도메인을 생성.
3.
Node ManagerDomain Server를 시작.
4.
WLST 명령을 실행하여 Oracle Internet Directory 도메인을 초기화.

4. 데이터베이스 스키마 생성 (RCU 사용)

OID는 여러 데이터베이스 스키마를 사용합니다. 이 스키마들은 Repository Creation Utility(RCU)를 사용하여 생성합니다.

4.1 RCU 실행 준비

RCU를 실행하기 전에 다음 사항을 확인하세요:
1.
데이터베이스가 실행 중이어야 합니다.
2.
데이터베이스 연결 정보(호스트, 포트, 서비스 이름)를 준비합니다.
3.
SYS 사용자의 비밀번호를 알고 있어야 합니다.

4.2 RCU 실행

다음 명령을 사용하여 RCU를 실행합니다:
$ORACLE_HOME/oracle_common/bin/rcu
Bash
복사
rcu 실행 위치

4.3 스키마 생성 과정

RCU 마법사의 각 단계를 따라갑니다:
1.
환영 화면: '다음'을 클릭합니다.
2.
작업 선택:
Create Repository 옵션을 선택하여 데이터베이스에 필요한 스키마를 생성합니다
'System Load and Product Load' 옵션을 선택합니다.
OID설치를 위한 RCU 실행 화면 - Create Repository 선택
3.
데이터베이스 연결 세부 정보:
데이터베이스 유형: Oracle Database
호스트 이름: 데이터베이스 서버의 호스트 이름 또는 IP 주소
포트: 데이터베이스 리스닝 포트 (기본값: 1521)
서비스 이름: 데이터베이스 서비스 이름
사용자 이름: SYS
비밀번호: SYS 사용자의 비밀번호
역할: SYSDBA
OID설치를 위한 RCU 실행 화면 - 데이터베이스 연결 설정
4.
구성 요소 선택:
Prefix 지정
'Oracle Internet Directory' 컴포넌트를 선택합니다.
이 옵션을 선택하면 필요한 다른 스키마들도 자동으로 선택됩니다.
OID설치를 위한 RCU 실행 화면 - 컴포넌트 선택 단계
5.
스키마 비밀번호 설정:
모든 스키마에 대한 비밀번호 설정
각 스키마에 대해 개별 비밀번호를 설정하거나, 모든 스키마에 동일한 비밀번호를 사용할 수 있습니다.
OID설치를 위한 RCU 실행 화면 - 스키마 접두사 및 비밀번호 설정 화면
6.
맵핑 선택: 기본 테이블스페이스 맵핑을 검토하고 필요한 경우 조정합니다.
OID설치를 위한 RCU 실행 화면 - 테이블스페이스 매핑
7.
생성 요약: 설정을 검토하고 '생성'을 클릭합니다.
OID설치를 위한 RCU 실행 화면 - 스키마 생성 요약
스키마 생성 프로세스가 완료될 때까지 기다립니다. 이 과정은 데이터베이스 성능과 생성할 스키마의 수에 따라몇 분 정도 걸릴 수 있습니다.

4.4 스키마 생성 완료 및 확인

1.
스키마 생성이 완료되면 '닫기' 버튼을 클릭하여 RCU를 종료합니다.
2.
스키마가 성공적으로 생성되었는지 확인하기 위해 SQL*Plus를 사용하여 데이터베이스에 연결하고 다음 쿼리를 실행합니다:
SELECT username FROM dba_users WHERE username LIKE 'OID%';
Bash
복사
이 쿼리는 OID 접두사로 시작하는 모든 사용자(스키마)를 표시하는 용도로 사용합니다.
OID 설치를 위한 RCU 실행 후 생성된 스키마 목록 확인 결과
만약 이 단계에서 문제가 발생한다면, $ORACLE_HOME/oracle_common/rcu/log 디렉토리에서 RCU 로그를 확인하세요.

5. WebLogic 도메인 구성

이제 OID를 호스팅할 WebLogic 도메인을 생성하고 구성합니다.

5.1 구성 마법사 실행 준비

구성 마법사를 실행하기 전에 다음 사항을 확인하세요:
1.
RCU로 생성한 스키마 정보(접두사, 비밀번호)를 준비합니다.
2.
데이터베이스 연결 정보를 준비합니다.
3.
도메인을 생성할 디렉토리 경로를 결정합니다.

5.2 구성 마법사 실행

다음 명령을 사용하여 구성 마법사를 실행합니다:
$ORACLE_HOME/oracle_common/common/bin/config.sh
Bash
복사
OID 구성 마법사 시작

5.3 도메인 생성 및 구성 과정

구성 마법사의 각 단계를 따라갑니다:
1.
환영 화면: '다음'을 클릭합니다.
2.
도메인 생성 옵션 선택:
'Create a new domain' 선택합니다.
3.
도메인 위치 지정:
도메인을 생성할 위치를 지정합니다.
예: /u01/oracle/config/domains/oid_domain
OID 도메인 생성 화면
4.
템플릿 선택:
'Oracle Internet Directory (Collocated)' 템플릿을 선택합니다.
이 템플릿은 OID에 필요한 모든 구성 요소를 자동으로 선택합니다.
Collocated OID 템플릿 선택 화면
5.
어플리케이션 위치
기본 설정 값 그대로 다음 단계로 이동
6.
관리자 계정 생성:
사용자 이름: weblogic (기본값)
비밀번호 설정: 강력한 비밀번호를 사용하세요.
관리자 계정 사용자 및 암호 지정
7.
도메인 모드 및 JDK 선택:
도메인 모드: Production 또는 Development 선택
JDK: 앞서 설치한 JDK 선택
도메인 유형 및 jdk 선택
8.
데이터베이스 구성:
벤더: Oracle
DBMS/Service: 데이터베이스 서비스 이름
호스트 이름: 데이터베이스 서버의 호스트 이름 또는 IP 주소
포트: 데이터베이스 리스닝 포트
스키마 소유자: RCU로 생성한 스키마 접두사_STB (예: OID_STB)
비밀번호: 스키마 비밀번호
데이터베이스 구성
9.
Get RCU Configuration 버튼 클릭
10.
구성요소 데이터소스 테스트:
모든 데이터소스를 선택하고 '모두 테스트' 클릭
모든 테스트가 성공해야 합니다.
11.
고급 구성 옵션 선택:
관리 서버
노드 관리자
토폴로지 이 옵션들을 선택합니다.
12.
관리 서버 구성:
이름: AdminServer (기본값)
리스닝 주소: 모든 주소를 설정하려면 빈칸으로 두거나, 특정 IP 주소 입력
리스닝 포트: 7001 (기본값) 또는 원하는 포트 번호
13.
노드 관리자 구성:
Per Domain Default Location 선택
사용자 이름: weblogic 또는 원하는 사용자 이름
비밀번호 설정
14.
Managed Server 구성
설치 중 WebLogic 관리 서버를 생성할 계획이 없다면, Next를 클릭하고 진행
OID 12c에는 WebLogic 관리 서버가 필요하지 않으며, Oracle Directory Services Manager(ODSM)는 Admin Server에 배포됨.
15.
Cluster 구성
Oracle Internet Directory에 해당되지 않으므로 이 단계는 Skip
16.
서버 템플릿 구성
Oracle Internet Directory에 해당되지 않으므로 이 단계는 Skip
17.
Coherence Clusters 구성
Oracle Internet Directory에 해당되지 않으므로 이 단계는 Skip
18.
머신 구성:
목록에 표시된 기본 머신 oidhost1을 선택하고, Node Manager의 수신 포트 번호에 따라 Listen Port 값을 적절하게 업데이트 하세요
포트: 5556 (노드 관리자 구성에서 설정한 포트와 동일)
Note: 기본 머신 이름(oidhost1)을 변경하면 안됩니다. 이후 후속 구성 단계에서 OID 인스턴스를 설정하기 위해 실행되는 WLST 명령어 oid_setup()이 이 이름을 기반으로 수행됩니다.
고가용성 환경을 구성할 계획이 있고, 대상 토폴로지에 필요한 머신 목록을 알고 있다면, 이 섹션의 지침을 따라 지금 모든 머신을 생성할 수 있습니다. 스케일 아웃 단계에 대한 자세한 내용은 다음 문서 참조하세요: Optional Scale Out Procedure in Oracle Fusion Middleware High Availability Guide.
19.
OID 머신에 서버 할당
Servers 창에서 AdminServeroidhost1에 할당
20.
Virtual Targets
You can skip this screen for Oracle Internet Directory configuration.
21.
Partitions
Click Next as this is not applicable to Oracle Internet Directory.
22.
배포 대상 할당:
OID 구성 요소가 oidhost1에 할당되어 있는지 확인합니다.
AdminServer도 oidhost1에 할당되어 있는지 확인합니다.
23.
서비스 대상 할당:
모든 서비스가 AdminServer와 oidhost1에 올바르게 할당되어 있는지 확인합니다.
24.
구성 요약:
모든 설정을 검토합니다.
변경이 필요한 경우 해당 섹션으로 돌아가 수정합니다.
25.
구성 생성:
'생성' 버튼을 클릭하여 도메인 구성을 시작합니다.
이 과정은 시스템 성능에 따라 10-20분 정도 소요될 수 있습니다.

5.4 도메인 생성 완료 및 확인

1.
구성이 완료되면 '완료' 버튼을 클릭하여 구성 마법사를 종료합니다.
2.
도메인이 성공적으로 생성되었는지 확인하기 위해 다음 단계를 수행합니다: a. 도메인 디렉토리로 이동:
cd /u01/oracle/config/domains/oid_domain
Bash
복사
b. 주요 구성 파일 확인:
ls -l config
Bash
복사
config 디렉토리 확인
이 명령은 config.xml, config.loc 등의 파일이 있는지 확인합니다. c. bin 디렉토리의 스크립트 확인:
ls -l bin
Bash
복사
도메인 디렉토리 구조
startWebLogic.sh, stopWebLogic.sh 등의 스크립트가 있어야 합니다.

6. 노드 매니저 및 관리 서버 시작

도메인 생성이 완료되면, 노드 매니저와 관리 서버를 시작해야 합니다.

6.1 노드 매니저 시작

1.
새 터미널 창을 엽니다.
2.
oracle 사용자로 전환합니다
su - oracle
Bash
복사
3.
도메인 환경 변수를 설정합니다
. /u01/oracle/config/domains/oid_domain/bin/setDomainEnv.sh
Bash
복사
4.
노드 매니저를 시작합니다
$DOMAIN_HOME/bin/startNodeManager.sh
Bash
복사
노드 매니저 실행
5.
노드 매니저가 성공적으로 시작되었는지 로그를 확인합니다.
6.
아래와 같이 시작 스크립트를 만들어서 활용하는 것이 편합니다.
#!/bin/bash DOMAIN_HOME=/u01/oracle/config/domains/oid_domain # 로그 파일 위치 설정 LOG_FILE="$DOMAIN_HOME/nodemanager_nohup.log" # Node Manager 시작 명령어 START_CMD="$DOMAIN_HOME/bin/startNodeManager.sh" # 현재 날짜와 시간을 로그에 기록 echo "Node Manager 시작 시간: $(date)" >> $LOG_FILE # Node Manager를 백그라운드에서 실행하고 로그 파일에 출력 리다이렉션 nohup $START_CMD >> $LOG_FILE 2>&1 & # 실행된 프로세스의 PID를 출력 echo "Node Manager가 백그라운드에서 시작되었습니다. PID: $!"
Bash
복사

6.2 관리 서버 시작

1.
또 다른 새 터미널 창을 엽니다.
2.
oracle 사용자로 전환합니다
su - oracle
Bash
복사
3.
도메인 환경 변수를 설정합니다
. /u01/oracle/config/domains/oid_domain/bin/setDomainEnv.sh
Bash
복사
4.
관리 서버를 시작합니다:
$DOMAIN_HOME/bin/startWebLogic.sh
Bash
복사
5.
프롬프트가 나타나면 WebLogic 관리자 계정(weblogic)의 비밀번호를 입력합니다.
6.
관리 서버가 성공적으로 시작되었는지 로그를 확인합니다.
관리 서버 실행 로그
마찬가지로, 스크립트를 실행하는 방식으로 운영하면 번거로운 일이 많이 줄어 듭니다.
#!/bin/bash DOMAIN_HOME=/u01/oracle/config/domains/oid_domain # 로그 파일 위치 설정 LOG_FILE="$DOMAIN_HOME/adminserver_nohup.log" # WebLogic 관리 서버 시작 명령어 START_CMD="$DOMAIN_HOME/bin/startWebLogic.sh" # 현재 날짜와 시간을 로그에 기록 echo "WebLogic 관리 서버 시작 시간: $(date)" >> $LOG_FILE # WebLogic 관리 서버를 백그라운드에서 실행하고 로그 파일에 출력 리다이렉션 nohup $START_CMD >> $LOG_FILE 2>&1 & # 실행된 프로세스의 PID를 출력 echo "WebLogic 관리 서버가 백그라운드에서 시작되었습니다. PID: $!"
Bash
복사

6.3 관리 콘솔 접속 확인

1.
웹 브라우저를 열고 다음 URL에 접속합니다:
http://[호스트이름]:7001/console
Bash
복사
여기서 [호스트이름]은 서버의 실제 호스트 이름이나 IP 주소로 바꿔주세요.
2.
WebLogic Server 관리 콘솔 로그인 화면이 나타나면, weblogic 사용자로 로그인합니다.
3.
관리 콘솔에 성공적으로 로그인되는지 확인합니다.
WebLogic 관리 콘솔 로그인 화면
WebLogic 관리 콘솔 메인 화면

7. OID 구성 및 검증

마지막으로, OID를 구성할 차례 입니다.

7.1 WLST 실행

1.
새 터미널 창을 엽니다.
2.
oracle 사용자로 전환합니다:
su - oracle
Shell
복사
3.
도메인 환경 변수를 설정합니다:
. /u01/oracle/config/domains/oid_domain/bin/setDomainEnv.sh
Shell
복사
4.
WebLogic Scripting Tool(WLST)을 실행합니다:
export ORACLE_HOME=/u01/oracle/Middleware/OID_Home $ORACLE_HOME/oracle_common/common/bin/wlst.sh
Shell
복사

7.2 관리 서버 연결

WLST 프롬프트에서 다음 명령을 실행하여 관리 서버에 연결합니다:
connect('weblogic', 'password', 't3://localhost:7001')
Shell
복사
'password'를 실제 WebLogic 관리자 비밀번호로 바꿔주세요.
‘localhost’는 도메인 구성시 지정했던 주소로 변경 지정해 주세요.

7.3 OID 설정

다음 명령으로 OID를 설정합니다:
oid_setup(orcladminPassword='password', odsPassword='password', realmDN='dc=example,dc=com')
Shell
복사
여기서:
'orcladminPassword'는 OID 관리자 계정의 비밀번호입니다.
'odsPassword'는 ODS (Oracle Directory Services) 스키마의 비밀번호입니다.
'realmDN'은 OID의 루트 DN입니다. 필요에 따라 변경하세요.
이 명령은 'oid1'이라는 이름의 OID 인스턴스를 생성하고 시작합니다.
OID 설정 명령 실행 결과

7.4 설치 확인

다음 WLST 명령들을 사용하여 설치를 확인합니다:
1.
OID 인스턴스 목록 확인:
oid_listInstances()
Python
복사
OID 인스턴스 목록 조회 결과
2.
OID 인스턴스 상태 확인:
oid_instanceStatus(instanceName='oid1')
Python
복사
OID 인스턴스 상태 조회 결과
3.
OID 속성 확인:
oid_getProperties(context='EM')
Python
복사

7.5 LDAP 연결 테스트

WLST를 종료하고, 다음 명령으로 LDAP 연결을 테스트합니다:
1.
비 SSL 포트 테스트:
$ORACLE_HOME/bin/ldapbind -h localhost -p 3060 -D cn=orcladmin -q
Shell
복사
OID 연결 테스트 - ldapbind 실행 결과 - Non-SSL 포트
2.
SSL 포트 테스트:
$ORACLE_HOME/bin/ldapbind -h localhost -p 3131 -D cn=orcladmin -q -U 1
Shell
복사
LDAP 연결 테스트 결과 - SSL 포트
두 명령 모두 실행 시 비밀번호를 입력하라는 프롬프트가 나타납니다. OID 관리자 비밀번호(orcladminPassword)를 입력하세요.

7.6 OID 제어 및 모니터링 유틸리티 (OIDCTL) 사용

OID 프로세스를 관리하고 모니터링하기 위해 OIDCTL 유틸리티를 사용할 수 있습니다:
1.
환경 변수 확인
a.
export ORACLE_INSTANCE=/u01/oracle/Middleware/OID_Home/ldap export INSTANCE_NAME=inst1 export COMPONENT_NAME=oid1 export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export TNS_ADMIN=$ORACLE_HOME/network/admin export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_SID=PDBORCL
Bash
복사
$ORACLE_HOME/network/admin
PDBORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = obitrn2)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdborcl) ) )
Plain Text
복사
2.
OIDMON 프로세스 시작:
$ORACLE_HOME/bin/oidmon start
Plain Text
복사
3.
OID 프로세스 시작 (중지한 경우):
$ORACLE_HOME/bin/oidctl connect=PDBORCL instance=1 name=oid1 server=oidldapd start
Shell
복사
oidmon start / oid process start result
4.
OID 프로세스 상태 확인:
$ORACLE_HOME/bin/oidctl connect=PDBORCL instance=1 name=oid1 server=oidldapd status
Shell
복사
oidctl status result
5.
OID 프로세스 중지 (필요한 경우):
$ORACLE_HOME/bin/oidctl connect=PDBORCL instance=1 name=oid1 server=oidldapd stop
Shell
복사

8. 설치 후 고려사항

OID 설치 및 구성이 완료되었습니다. 그러나 프로덕션 환경에서 OID를 안전하고 효율적으로 운영하기 위해서는 다음 사항들을 고려해야 합니다:

8.1 성능 튜닝

1.
하드웨어 리소스:
CPU, 메모리, 디스크 I/O 사용량을 모니터링하고 필요에 따라 리소스를 증설합니다.
특히 메모리는 OID 성능에 큰 영향을 미치므로, 충분한 메모리를 할당하세요.
2.
데이터베이스 튜닝:
OID 스키마에 대한 적절한 인덱싱을 확인합니다.
데이터베이스 파라미터(SGA, PGA 등)를 OID 워크로드에 맞게 조정합니다.
3.
OID 파라미터 조정: 이러한 파라미터는 OID 관리 도구나 LDAP 명령을 통해 조정할 수 있습니다.
orclmaxcc: 최대 동시 클라이언트 연결 수
orclserverprocs: OID 서버 프로세스 수
orcldebugflag: 디버그 레벨 (프로덕션에서는 최소화)

8.2 보안 강화

1.
SSL/TLS 구성:
모든 LDAP 통신을 암호화하기 위해 SSL/TLS를 구성합니다.
강력한 암호화 알고리즘을 사용하세요.
2.
접근 제어:
최소 권한 원칙을 적용하여 OID의 ACL(Access Control List)을 구성합니다.
관리자 접근을 필요한 최소한으로 제한합니다.
3.
암호 정책:
강력한 암호 정책을 적용합니다 (최소 길이, 복잡성 등).
정기적인 암호 변경을 강제합니다.
4.
감사 활성화:
OID의 감사 기능을 활성화하여 중요한 작업과 접근을 기록합니다.
정기적으로 감사 로그를 검토합니다.

8.3 백업 및 복구 전략

1.
정기적인 백업:
OID 데이터베이스의 전체 백업을 정기적으로 수행합니다.
LDIF 내보내기를 통해 디렉토리 데이터의 논리적 백업을 수행합니다.
2.
복구 절차 테스트:
정기적으로 복구 절차를 테스트하여 백업의 유효성을 확인합니다.
3.
재해 복구 계획:
재해 상황에 대비한 복구 계획을 수립하고 문서화합니다.
가능하다면 재해 복구 사이트를 구축하고 주기적으로 테스트합니다.

8.4 모니터링 및 로깅

1.
시스템 모니터링:
CPU, 메모리, 디스크 사용량 등 시스템 리소스를 지속적으로 모니터링합니다.
OID 프로세스의 상태와 성능을 모니터링합니다.
2.
로그 분석:
OID 로그를 정기적으로 검토하여 오류나 성능 이슈를 파악합니다.
로그 로테이션을 구성하여 디스크 공간을 관리합니다.
3.
알림 설정:
중요한 이벤트나 임계값 초과 시 관리자에게 알림이 가도록 설정합니다.

8.5 패치 및 업데이트

1.
보안 패치 적용:
Oracle에서 제공하는 보안 패치를 신속히 적용합니다.
패치 적용 전 반드시 테스트 환경에서 검증합니다.
2.
버전 업그레이드 계획:
OID의 주요 버전 업그레이드를 계획할 때는 충분한 테스트와 준비 시간을 할애합니다.
업그레이드로 인한 영향을 평가하고 문서화합니다.

8.6 확장성 고려

1.
레플리케이션 설정:
대규모 배포의 경우, OID 레플리케이션을 구성하여 부하 분산과 고가용성을 확보합니다.
마스터-슬레이브 또는 멀티마스터 레플리케이션 토폴로지를 고려합니다.
2.
로드 밸런싱:
여러 OID 인스턴스 간에 트래픽을 분산시키기 위해 로드 밸런서를 구성합니다.
세션 지속성(sticky session)을 고려하여 구성합니다.

8.7 통합 및 동기화

1.
Oracle Directory Integration Platform (DIP) 활용:
다른 디렉토리 서비스나 데이터베이스와 OID를 동기화하기 위해 DIP를 구성합니다.
동기화 규칙과 매핑을 신중히 설계합니다.
2.
애플리케이션 통합:
OID를 사용하는 애플리케이션들의 연결 방식을 최적화합니다.
연결 풀링, 페일오버 설정 등을 고려합니다.

9. 문제 해결 팁

OID 운영 중 발생할 수 있는 일반적인 문제와 해결 방법을 소개합니다:

9.1 연결 문제

1.
증상: LDAP 클라이언트가 OID에 연결할 수 없음 해결 방법:
네트워크 연결성 확인: ping 명령으로 서버 연결 확인
방화벽 설정 검토: OID 포트(3060, 3131)가 열려있는지 확인
OID 프로세스 상태 확인: oidctl status 명령 사용
리스닝 포트 확인: netstat -tlnp | grep oidldapd 명령 사용
2.
증상: SSL/TLS 연결 실패 해결 방법:
인증서 유효성 확인: openssl 명령어로 인증서 검증
SSL 구성 확인: OID 관리 도구에서 SSL 설정 검토
클라이언트의 신뢰 저장소 확인: 클라이언트가 OID의 인증서를 신뢰하는지 확인

9.2 성능 문제

1.
증상: LDAP 작업 응답 시간이 느림 해결 방법:
시스템 리소스 모니터링: top, vmstat 명령으로 CPU, 메모리 사용량 확인
데이터베이스 성능 확인: OID 데이터베이스의 대기 이벤트, I/O 통계 분석
OID 캐시 설정 검토: oidctl status 명령으로 캐시 사용량 확인
느린 LDAP 작업 로깅 활성화 및 분석
2.
증상: 특정 시간에 성능 저하 해결 방법:
해당 시간대의 로그 분석: 비정상적인 접근이나 대량 작업 확인
예약된 작업 검토: 백업, 동기화 등의 작업이 성능에 영향을 주는지 확인
리소스 사용량 추이 분석: 정기적인 성능 저하 패턴이 있는지 확인

9.3 데이터 문제

1.
증상: 데이터 불일치 또는 손상 해결 방법:
LDIF 내보내기/가져오기로 데이터 정합성 확인
OID 데이터베이스 무결성 검사 실행
레플리케이션 구성 시 데이터 일관성 확인
백업에서 특정 데이터 복원 고려
2.
증상: 스키마 관련 오류 해결 방법:
OID 스키마 확인: ldapsearch 명령으로 스키마 정의 검토
커스텀 스키마 변경사항 검토
스키마 캐시 새로고침: OID 서버 재시작 고려

9.4 관리 도구 문제

1.
증상: Oracle Directory Services Manager (ODSM) 접속 불가 해결 방법:
WebLogic 서버 상태 확인
ODSM 배포 상태 확인: WebLogic 콘솔에서 애플리케이션 상태 검토
브라우저 캐시 및 쿠키 삭제 후 재시도
2.
증상: 명령줄 도구 오류 해결 방법:
환경 변수 설정 확인: ORACLE_HOME, PATH
사용자 권한 확인: 적절한 OS 사용자로 실행 중인지 확인
도구 버전과 OID 버전 일치 여부 확인

9.5 로그 분석

문제 해결 시 다음 로그 파일들을 주의 깊게 분석하세요:
OID 서버 로그: $ORACLE_HOME/ldap/log/oid*.log
ODSM 로그: $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
WebLogic 서버 로그: $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.out
로그 레벨 조정:
$ORACLE_HOME/bin/ldapmodify -h localhost -p 3060 -D cn=orcladmin -q dn: cn=componentname,cn=osdldapd,cn=subconfigsubentry changetype: modify replace: orcldebuglevel orcldebuglevel: 256
Bash
복사
이 명령은 디버그 레벨을 높여 더 자세한 로그를 생성합니다. 문제 해결 후 원래 값으로 되돌리는 것을 잊지 마세요.

10. 모범 사례

OID를 효율적으로 운영하기 위한 몇 가지 모범 사례를 소개합니다:

10.1 보안 모범 사례

1.
최소 권한 원칙 적용:
사용자와 애플리케이션에 필요한 최소한의 권한만 부여합니다.
관리자 권한은 꼭 필요한 경우에만 제한적으로 사용합니다.
2.
강력한 인증 정책 구현:
복잡한 암호 정책을 적용합니다 (최소 길이, 복잡성 요구사항 등).
가능하면 다단계 인증을 구현합니다.
3.
정기적인 보안 감사 수행:
접근 로그를 주기적으로 검토합니다.
비정상적인 접근 패턴이나 실패한 로그인 시도를 모니터링합니다.
4.
데이터 암호화:
전송 중인 데이터는 SSL/TLS를 사용하여 암호화합니다.
중요한 속성 값은 저장 시 암호화를 고려합니다.

10.2 성능 최적화 모범 사례

1.
인덱싱 최적화:
자주 검색되는 속성에 대해 인덱스를 생성합니다.
불필요한 인덱스는 제거하여 쓰기 성능을 개선합니다.
2.
연결 풀링 사용:
애플리케이션에서 OID로의 연결에 연결 풀을 사용합니다.
연결 재사용으로 성능을 향상시킬 수 있습니다.
3.
캐시 튜닝:
엔트리 캐시와 DN 캐시 크기를 워크로드에 맞게 조정합니다.
캐시 적중률을 모니터링하고 최적화합니다.
4.
효율적인 검색 필터 사용:
애플리케이션에서 사용하는 LDAP 검색 필터를 최적화합니다.
가능한 한 범위를 좁히는 필터를 사용합니다.

10.3 가용성 모범 사례

1.
고가용성 구성:
OID 다중 인스턴스를 구성하여 단일 장애점을 제거합니다.
로드 밸런서를 사용하여 트래픽을 분산시킵니다.
2.
정기적인 백업:
전체 데이터베이스 백업과 LDIF 내보내기를 정기적으로 수행합니다.
백업 복원 절차를 정기적으로 테스트합니다.
3.
모니터링 및 경고 설정:
주요 성능 지표와 오류 상황에 대한 모니터링을 구현합니다.
임계값 초과 시 관리자에게 즉시 알림이 가도록 설정합니다.
4.
장애 조치 계획 수립:
다양한 장애 시나리오에 대한 대응 계획을 문서화합니다.
정기적으로 장애 조치 훈련을 수행합니다.

10.4 관리 모범 사례

1.
변경 관리 프로세스 수립:
모든 구성 변경 사항을 문서화합니다.
중요한 변경 사항은 검토 및 승인 프로세스를 거치도록 합니다.
2.
용량 계획:
정기적으로 리소스 사용량을 분석하고 향후 성장을 예측합니다.
필요에 따라 하드웨어 리소스를 선제적으로 확장합니다.
3.
문서화:
OID 구성, 커스터마이제이션, 운영 절차 등을 상세히 문서화합니다.
문서를 정기적으로 업데이트하고 팀 내에서 공유합니다.
4.
지식 공유 및 교육:
OID 관리 팀 내에서 정기적인 지식 공유 세션을 가집니다.
새로운 기능이나 모범 사례에 대한 교육을 제공합니다.

11. 결론 및 추가 리소스

이로써 Oracle Internet Directory(OID) 12c의 설치부터 구성, 그리고 운영에 이르는 전반적인 과정을 살펴보았습니다. OID는 강력하고 확장 가능한 디렉토리 서비스 솔루션이지만, 적절한 계획과 지속적인 관리가 필요합니다.
이 가이드에서 다룬 내용을 기반으로 OID를 구축하고 운영하면서, 여러분의 특정 환경과 요구사항에 맞게 조정해 나가시기 바랍니다. 보안, 성능, 가용성 등 다양한 측면을 균형있게 고려하여 안정적이고 효율적인 디렉토리 서비스를 제공할 수 있을 것입니다.
더 자세한 정보와 최신 업데이트를 위해 다음 리소스를 참조하세요:
OID 구현 과정에서 어려움을 겪거나 추가 지원이 필요한 경우, Oracle 공식 문서를 참조하거나 Oracle 기술 지원 센터에 문의하시기 바랍니다. 또한, 커뮤니티 포럼을 통해 다른 관리자들의 경험과 조언을 얻는 것도 큰 도움이 될 수 있습니다.
OID를 통해 안전하고 효율적인 디렉토리 서비스를 구축하시기 바랍니다. 이 가이드가 여러분의 OID 구현 및 관리에 도움이 되길 바라며, 성공적인 OID 운영을 기원합니다!

부록: 자주 묻는 질문 (FAQ)

1.
Q: OID와 Active Directory의 주요 차이점은 무엇인가요? A: OID는 Oracle 기반 LDAP 서버로, Oracle 제품군과의 통합이 뛰어나며 대규모 환경에 적합합니다. Active Directory는 Microsoft 환경에 최적화되어 있으며 Windows 도메인 관리 기능을 제공합니다.
2.
Q: OID를 클라우드 환경에 구축할 수 있나요? A: 네, Oracle Cloud Infrastructure나 다른 클라우드 플랫폼에 OID를 구축할 수 있습니다. 단, 네트워크 구성과 보안 설정에 주의를 기울여야 합니다.
3.
Q: OID의 라이선스 모델은 어떻게 되나요? A: OID는 일반적으로 사용자 수나 프로세서 수에 기반한 라이선스 모델을 가지고 있습니다. 정확한 라이선스 정보는 Oracle 영업 담당자에게 문의하시기 바랍니다.
4.
Q: OID의 확장성 한계는 어느 정도인가요? A: OID는 수백만 개의 엔트리와 수천 개의 동시 연결을 지원할 수 있습니다. 정확한 한계는 하드웨어 구성과 튜닝에 따라 다릅니다.
5.
Q: OID와 다른 LDAP 서버 간의 동기화가 가능한가요? A: 네, Oracle Directory Integration Platform (DIP)을 사용하여 OID와 다른 LDAP 서버 간의 동기화를 구현할 수 있습니다.
6.
Q: OID 업그레이드 과정은 어떻게 되나요? A: OID 업그레이드는 일반적으로 현재 버전에서 다음 주요 버전으로 단계적으로 이루어집니다. 자세한 업그레이드 절차는 Oracle 문서를 참조하세요.
7.
Q: OID에서 사용자 정의 속성을 추가할 수 있나요? A: 네, OID 스키마를 확장하여 사용자 정의 속성과 객체 클래스를 추가할 수 있습니다. 단, 신중하게 계획하고 테스트해야 합니다.
8.
Q: OID의 재해 복구 옵션에는 무엇이 있나요? A: 데이터베이스 백업, LDIF 내보내기, Oracle Data Guard를 사용한 스탠바이 구성 등 다양한 재해 복구 옵션이 있습니다.
9.
Q: OID에서 암호화된 속성을 사용할 수 있나요? A: 네, OID는 특정 속성의 암호화를 지원합니다. 이를 통해 중요한 정보를 더욱 안전하게 저장할 수 있습니다.
10.
Q: OID의 성능 문제를 해결하는 가장 좋은 방법은 무엇인가요? A: 인덱싱 최적화, 캐시 튜닝, 하드웨어 리소스 증설, 효율적인 검색 필터 사용 등이 성능 향상에 도움이 됩니다. 구체적인 상황에 따라 적절한 방법을 선택해야 합니다.
이 FAQ 섹션이 OID에 대한 추가적인 이해를 돕고 일반적인 궁금증을 해소하는 데 도움이 되길 바랍니다. OID 관리에 대해 더 깊이 있는 지식이 필요하다면, Oracle의 공식 문서와 교육 자료를 참조하시기 바랍니다.
이 포스팅이 안전하고 효율적인 Oracle Identity Management 환경을 구축하시는데 작게 나마 도움이 되길 바랍니다.