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 |