Failed to add a pair in a DD object search key map.
6009: Failed to add a pair in a DD object search key map. Cause: An internal error occurred during adding a pair in a DD object search key map. Action: Contact the technical support team.
티베로 데이터베이스 엔진 내부에서 데이터 딕셔너리 객체의 검색 키 맵에 값을 추가하려다 발생한 내부 오류

 

■ 데이터 딕셔너리와 키 맵 이해

티베로에서 데이터 딕셔너리 구조

  • 테이블, 뷰, 인덱스 등의 객체 정의
  • 사용자 계정 및 권한 정보
  • 제약 조건과 같은 데이터 무결성 규칙
  • 데이터베이스 전반의 구성 파라미터

>> DD 객체 검색 키 맵은 이러한 메타데이터 객체들을 빠르게 검색하기 위한 내부 맵 구조

 

 

이 오류의 근본적인 해결책은 tibero technet에서 확인 시 shm 사이즈를 늘려라 라는 말이 나온다.

 

관련하여 설정은 아래 링크를 참고 하자.

Tibero JDBC-3002:Out of memory (unable to allocate 304 bytes of shared pool memory) :: 제고

 

Tibero JDBC-3002:Out of memory (unable to allocate 304 bytes of shared pool memory)

org.springframework.jdbc.UncategorizedSQLException: ### Error querying database. Cause: java.sql.SQLException: JDBC-3002:Out of memory (unable to allocate 304 bytes of shared pool memory). ### The error may exist in file 개발자를 통해 장애 신고

nwxgt.tistory.com

 

즉 결국 AMM 문제라는거였다. 

SGA(System Global Area): 모든 서버 프로세스가 공유하는 메모리 영역으로, 데이터 딕셔너리 캐시, 데이터 버퍼 캐시, 공유 풀 등을 포함합니다.
데이터 딕셔너리 캐시: 시스템 테이블의 정보를 메모리에 캐싱하여 빠른 액세스를 제공하며, 이 캐시가 손상되면 6009와 같은 오류가 발생할 수 있음.

 

우선적으로 tibero.tip 내 TOTAL_SHM_SIZE =3G / MEMORY_TARGET=6G 로 재 설정하였고,

좀더 모니터링 해봐야할듯 싶다.


 

이 오류의 당장 해결책은 Tibero 데이터베이스 서버의 재기동밖에 없다.

 

■ Window 재기동 절차

1. 관리자 권한(Administrator)로 명령 프롬프트를 실행한다.

2. C:\Users\Administrator\Desktop\tbdown.lnk 경로에서 tbdown.bat 실행

* 참고로 tbdown.lnk는 C:\TamxData\tibero6\bin\tbdown.bat 경로에 있다. lnk를 못찾겠다면 해당 경로를 참고

 

3. tbdown.lnk를 실행하여 Tibero 인스턴스 종료

C:\Users\Administrator\Desktop>tbdown.lnk
sess: 75 user: TEST_1
sess: 76 user: TEST_2
sess: 77 user: TEST_3
sess: 78 user: TEST_4
sess: 79 user: TEST_5
sess: 80 user: TEST_6
There are active session(s).
 1. [W]ait until sessions are closed.
 2. Shutdown [I]mmediately.
 3. [Q]uit without shutting down.
Select action. (Default: 1): 2
Tibero instance terminated (IMMEDIATE mode).

* 활성 세션이 있는경우 즉시 종료 옵션(2번)을 선택하자

 

4. tbboot.lnk를 실행하여 Tibero 인스턴스 시작

C:\Users\Administrator\Desktop>tbboot.lnk
Tibero 6 TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Tibero instance started up (NORMAL mode).

■ Linux 재기동 절차

 

1. Tibero 계정으로 로그인

[tibero@server ~/bin]$ls
alterdd.sh           libtbOCI_info.exe  prof                        svr_env.sh           tbcmbin    tblistener    update
base_env.sh          libtboci.dll       psmjavac                    svr_rename.sh        tbcmobs    tbnetbench
cm_res_exec.sh       libtboci.lib       sm_sysmon_disk_io.sh        sysalloc_summary.sh  tbctl      tbprobe
cmrctl               libtbom.dll        sm_sysmon_disk_state.sh     tb_cert_manager      tbdown     tbprof
crfconf              libtbom.lib        sm_sysmon_network_io.sh     tb_create_db.sh      tbinfo     tbsvr
dbctl_for_cm.sh      libtbom_lite.dll   sm_sysmon_network_state.sh  tbboot               tbiobench  tbupdater
internal_svr_env.sh  libtbom_lite.lib   sm_sysmon_ps.sh             tbcm                 tbiv       tbwallet_gen

 

2. Tibero 셧다운 및 기동

[tibero@server ~/bin]$ tbdown

[tibero@server ~/bin]$ tbboot

 

'IT > DB' 카테고리의 다른 글

Tibero DB 백업 및 이관(Migration)  (0) 2025.03.08
Oracle TableSpace 의미와 용량 증설  (0) 2025.03.05
WAS-DB/DBMS간 Time 이슈(CURRENT_TIMESTAMP)  (0) 2025.03.05
Oracle 서비스 중지  (0) 2025.03.05
MS Server 재기동(2017)  (0) 2025.03.05

+ Recent posts