Oracle Internet Directory – LDAP 67 | ModifyDN 오류 | OU 이동 실패 – 실전 트러블슈팅 가이드

ldap-67-modifydn-aci-oid-dip-guide
OID · DIP 실전

Oracle Internet Directory - LDAP 67(ModifyDN 오류) · OU 이동 실패 · ACI 권한 오류까지 -
“복붙” 처방 플레이북 + 해석 가이드

OID × DIP · 현장 솔루션

LDAP 67(ModifyDN) / OU 이동 실패 / ACI 오류 — 왜 터지고, 어떻게 바로잡나



Oracle Internet Directory(OID) 및 Oracle Directory Integration Platform(ODIP) 운영 환경에서 자주 마주치는 이슈를 모아 원인 → 처방 → 해석까지 한 번에 정리했습니다. 이 글만 따라가면 권한(ACI) 정밀 설정, DIT 표준화, LACN↔USN 정합을 수치로 통제하며 재발을 막을 수 있습니다.

이 글은 이런 분들이 읽으면 좋아요

  • DIP AD→OID 동기화에서 67/권한/OU 이동 이슈가 반복되는 운영자
  • 운영 중 빨리 복구하고, 다시 안 터지게 기준이 필요한 팀
  • 프로파일·매핑·DIT·ACI를 한 번에 정비하려는 분

이 글에서 바로 얻을 수 있어요

  • 복붙 가능한 LDIF·명령·체크리스트
  • ACI 최소/충분 권한 정확한 조합
  • LACN↔USN 갭을 수치로 잡는 방법

이렇게 읽으면 더 빠릅니다

  • #스키마 → #SSL → #ACI → #DIT 순으로 사전 체크
  • 실행은 Disable → 변경 → 검증 → Enable
  • 스모크 3건 + 수치 게이트로 승인/중단 결정
🔗
배경 이해(USN 갭) 포스트부터 확인하면 흐름이 깔끔합니다. USN 동기화 갭 가이드 열기
🧭
현장 기본 원칙Disable → 변경 → 검증 → Enable
재기동 순서: Admin → Node Manager → OPMN(OID) → wls_ods1/2(DIP) (정지 시 역순)
🧩

1) 증상 & 원인 패턴 (왜 터질까?)

용도

장애 상황에서 빠르게 “종류”를 분류합니다. 67(ModifyDN), ACI 부족, SSL 신뢰, LACN/USN 불일치 중 무엇인지 1차 판단.

목적

원인 가설을 3~4개로 좁혀 불필요한 재시도를 막고, 처방 섹션으로 바로 점프.

해석 방법

로그의 에러코드/키워드(67, proxy, SSL, USN)를 증상→처방 표에 매핑합니다.

  • LDAP 67 → 일반 modify로 RDN을 바꿈. modrdn 필요.
  • OU 이동 실패 → 새 부모 add / 기존 부모 delete 권한 부족.
  • ACI 부족add/delete/write/read/search/compare/browse/proxy 세트 중 누락.
  • SSL/TLS 미스 → 포트·모드·신뢰서버 불일치. DIP=SSL_ENCRYPT, OID=SSL 포트(4141).
  • LACN/USN 갭 → DIP가 놓친 변경이 있어 rewind 판단 필요.
  • EM Agent TZ → 주로 가시성 문제. 동작엔 제한적이나 운영에선 정합 권장.
🧪

2) 사전 점검 (스키마 · SSL · 프로파일 사전체크)

용도

변경 전 실패 리스크를 초기 제거. 스키마/SSL/프로파일을 선제 확인.

목적

운영 창구 열리기 전에 구조/연결/설정 3요소 통과로 “실패 원인 불명” 방지.

해석 방법

각 테스트의 성공/에러 메시지를 기록, 에러는 해당 처방 섹션으로 즉시 루프백.

스키마 존재

orclADUser/Group/Object가 없으면 AD ↔ OID 매핑 중 속성이 실패합니다.

ldapsearch -h <OID_HOST> -p 389 -D "cn=orcladmin" -w '<PW>' \
-b "cn=subschema" -s base "(objectClass=*)" \
"orclADUser" "orclADGroup" "orclADObject"

해석: 누락 시 스키마 등록 필요(제품 버전/패치 준수).

SSL/TLS 신뢰체인

  • DIP→OID: 4141 & SSL_ENCRYPT
  • OID 인증서를 DIP keystore/cacerts에 신뢰로 등록

프로파일 사전체크

# Map Rule 문법
manageSyncProfiles validateMapRules -p <ProfileName>

# 연결 테스트
manageSyncProfiles testProfile -p <ProfileName>

해석: validate는 문법/매핑 구조, testProfile은 연결성·권한 힌트를 줍니다.

⚠️
공백/탭/줄바꿈으로 파싱 실패 많습니다. 업로드 전 “보이는 공백” 켠 에디터로 확인하세요.
🛡️

3) ACI(권한) 즉시 처방 — Rename/이동 안전권한

용도

RDN 변경/부모 이동에서 권한 부족을 한 번에 해소.

목적

LDAP 67/50/65류 오류의 재발 방지. DIP Agents 그룹 최소 권한 보장.

해석 방법

orclACI 검색 시 group DN·권한 키워드가 기대값(아래 표)과 일치하는지 확인.

상황필요 권한적용 위치
RDN 변경(동일 부모)엔트리 RDN write + 부모 browse[proxy]대상 엔트리 & 해당 부모
부모 컨테이너 이동새 부모 add, 기존 부모 delete, 엔트리 RDN write, 부모들 browse[proxy]기존/새 부모 컨테이너 + 엔트리

LDIF — Entry/Attr 권한 부여

dn: <대상_컨테이너_DN>
changetype: modify
add: orclACI
orclACI: access to entry by group="cn=odisgroup,cn=DIPAdmins,cn=Directory\20Integration\20Platform,cn=Products,cn=OracleContext" (browse,proxy)
-
add: orclACI
orclACI: access to attr=(*) by group="cn=odisgroup,cn=DIPAdmins,cn=Directory\20Integration\20Platform,cn=Products,cn=OracleContext" (read,search,compare,write)

해석: INVALID ACI면 공백 이스케이프(\20)를 점검.

적용 확인

ldapsearch -h <OID_HOST> -p 389 -D "cn=orcladmin" -w '<PW>' \
-b "<대상_컨테이너_DN>" -s base "(objectClass=*)" orclACI

해석: 출력에 group DN(browse,proxy), (read,search,compare,write)가 보여야 정상.

🧱

4) DIT 구조 정비 + 역LDIF(롤백)

ℹ️
DIT(Directory Information Tree)는 디렉터리의 계층 구조입니다. OU/컨테이너 경로가 표준과 다르면 Rename/이동/매핑이 꼬입니다.

용도

누락된 ou=yourdomain.com 같은 레벨을 보강하고, 레거시 서브트리를 표준 경로로 정렬.

목적

DIP DomainRules와 물리 경로 일치 → 신규/변경 정확히 반영.

해석 방법

이동 전/후 DN 매핑표(건수·샘플DN)로 검증. 실패 시 역LDIF 즉시 복구.

누락 OU 생성

dn: ou=yourdomain.com,cn=Users,dc=serv,dc=nossys,dc=net
objectClass: top
objectClass: organizationalUnit
ou: yourdomain.com

서브트리 이동 (modrdn)

dn: ou=CLGX,cn=Users,dc=serv,dc=nossys,dc=net
changetype: modrdn
newrdn: ou=CLGX
deleteoldrdn: 0
newsuperior: ou=yourdomain.com,cn=Users,dc=serv,dc=nossys,dc=net

역LDIF (즉시 롤백용)

dn: ou=CLGX,ou=yourdomain.com,cn=Users,dc=serv,dc=nossys,dc=net
changetype: modrdn
newrdn: ou=CLGX
deleteoldrdn: 0
newsuperior: cn=Users,dc=serv,dc=nossys,dc=net
📝
반드시 정방향/역방향 LDIF 쌍 + 매핑표를 세트로 보관하세요.
🗺️

5) DIP DomainRules & 매핑 반영 (사전체크 포함)

용도

AD 도메인 베이스를 OID의 정확한 컨테이너로 매핑.

목적

신규 계정이 표준 경로(예: ou=yourdomain.com → ou=CLGX)에 생성되도록 보장.

해석 방법

validateMapRules는 문법, testProfile은 연결/권한/경로 확인.

도메인 매핑(예시)

# dc=infosolco,dc=net → ou=yourdomain.com,cn=Users,...
DomainRules:
  dc=infosolco,dc=net : ou=yourdomain.com,cn=Users,dc=serv,dc=nossys,dc=net

업로드 전 사전체크

manageSyncProfiles validateMapRules -p <ProfileName>
manageSyncProfiles testProfile -p <ProfileName>

해석: 실패하면 공백·탭부터 의심, ACI/SSL 섹션으로 루프백.

📈

6) LACN ↔ AD USN 정합 (Go/No-Go 게이트)

용도

동기화가 얼마나 뒤처졌는지 수치 판단, rewind 필요성 결정.

목적

중복/누락 없이 안전 회수를 위해 증분 범위 명확화.

해석 방법

LACN이 AD highestCommittedUSN보다 낮으면 갭. 청크 단위로만 낮춰 재수집.

양쪽 수치 확인

# AD high watermark
repadmin /showrepl <DC-NAME>

# OID Profile 메트릭
ldapsearch -D "cn=orcladmin" -w '<PW>' \
-b "orclodipagentname=<Profile>,cn=ODIP Agents,cn=Directory Integration Platform,cn=Products,cn=OracleContext" \
-s base "(objectClass=*)" \
orclOdipConDirLastAppliedChgNum orclOdipProfileMetric

해석: failure_count 증가 시 구조/권한 문제. rewind 전에 섹션 2·3·4 재확인.

갭 있으면: 단계적 rewind

# 큰 폭 조정 금지 → 안전 청크(예: 5,000,000)씩 낮추고 증분 실행/검증 반복
# 변경 전 Profile 백업 필수
주의: 근거 없는 rewind는 중복/누락 유발. 반드시 갭 근거 확보 후 시행.
🚀

7) 실행 순서 & 스모크 (성공/중단 기준 수치화)

용도

운영 반영을 체크리스트로 실행, 결과를 수치로 확인.

목적

감이 아니라 정량 근거로 승인/중단 결정.

해석 방법

failure_count=0, LDAP 50/65/67 없음, LACN 상승, 3건 스모크 T+30분 내 완료면 Go.

실행 순서(클러스터 동일)

  1. Disable 대상 프로파일(양 노드 동일)
  2. DIT 보강/이동 + ACI 반영
  3. DomainRules/맵 반영 → validate/testProfile
  4. LACN↔USN 갭 확인(필요시 rewind)
  5. 필요 시 통제 재기동: Admin → Node Manager → OPMN(OID) → wls_ods1/2(DIP)
  6. Enable + 수동 1회 증분 실행

스모크(즉시 3건)

  • 신규 사용자 → 표준 OU에 생성
  • UPN/mail 변경 → 속성 반영
  • Rename(ModifyDN) 또는 부모 이동 → 성공

성공/중단 기준 (해석)

  • failure_count = 0 유지 → 매핑/권한/연결 OK
  • LDAP 50/65/67 없음 → 권한/ModifyDN 처리 OK
  • LACN이 AD high watermark 방향으로 지속 상승 → 누락 회수 중
  • 3건 스모크 T+30분 내 완료 → 운영 수용 가능

중단(Abort) & 롤백 트리거

# 롤백 단위 요약
1) 프로파일/맵: 이전 버전 복구
2) ACI: 이전 값 복구
3) DIT: 역LDIF(modrdn reverse) 적용
4) 서비스: 필요 시 WLS/OID 재기동
5) DB/시스템(최후): RMAN/Datapump 또는 스냅샷 복원
📡

8) 모니터링 & EM Agent (TZ 정합)

용도

EM 콘솔 상태 그린 확보, 알람/스케줄 가시성 정상화.

목적

초동대응 시간을 줄이기 위한 관측성 확보.

해석 방법

TZ 어긋나면 시각 불일치. TZ 재설정 후 secure/restart로 고정.

# 시간대 정합
emctl resetTZ agent

# 상태/보안 재확립(환경별 상이)
emctl stop agent
emctl secure agent
emctl start agent

해석: DIP 동작엔 직접 영향이 없을 수도 있으나, 운영 의사결정(알람/타임라인)에 중요 — 정합화 권장.

9) 바로 쓰는 검사표 (체크리스트)

항목내용상태
스키마orclADUser/Group/Object 존재
SSL/TLSDIP→OID 4141, SSL_ENCRYPT, 신뢰체인 OK
프로파일validateMapRules / testProfile 성공
ACIRDN write, 부모 browse(+proxy), 이동 시 add/delete
DIT누락 OU 생성, 이동 전/후 매핑표·역LDIF 준비
LACN/USN갭 확인, 필요 시 단계적 rewind 계획
EM AgentTZ 정합 및 상태 그린
스모크신규/속성/이동 T+30분 내 성공

* 표를 복사해 팀 공용 체크리스트로 쓰세요.

🏁
현장 한 줄 요약: 권한(ACI)을 정확히, DIT를 표준화, LACN↔USN을 수치로 통제. 절차는 단순합니다. Disable → 변경 → 검증 → Enable만 지키면 됩니다.
위로 스크롤