신규 기능
본 절에서는 신규로 추가된 기능에 대해서 간략히 설명합니다.
DBMS 엔진
다음과 같은 기능들이 추가되었습니다.
Far Sync
Primary와 Standby 사이에서 Redo 전송을 중계하는 경량 인스턴스로, 데이터 파일이 존재하지 않아 컴퓨팅 자원 사용을 최소화
Primary DB 인근(동일 데이터센터 또는 근거리 네트워크)에 Far Sync 인스턴스를 배치하여 Redo 로그를 동기 방식(SYNC)으로 수신한 후, 이를 원격지 Standby DB로 비동기 방식(ASYNC) 전달
원격 Standby 구성 시 발생하는 네트워크 전송 지연(Latency)이 Primary DB 트랜잭션 성능에 미치는 영향을 근본적으로 차단
참고
자세한 내용은 "Tibero 관리자 안내서 - Tibero Standby Cluster" 참고합니다.
Buffer Manager(BMGR)
버퍼 캐시(Buffer Cache)에 가용한 Free Buffer를 지속적으로 확보하는 역할을 전담하는 백그라운드 스레드 추가
백그라운드에서 주기적으로, 혹은 사용자 세션으로부터 Free Buffer 요청을 받아 작업 진행
파라미터(USE_BMGR 기본값 N, BMGR_CNT) 제어 필요
Index Insert Hint
마지막에 키를 등록한 인덱스 리프 블록의 정보를 저장하여 다음 키 등록에 활용
다음 등록 키가 해당 범위에 포함될 경우 인덱스 검색 없이 바로 해당 블록에 키를 등록
파라미터(_TDI_INSERT_HINT_COUNT, 기본값 0) 제어 필요
인덱스 삽입 힌트 기능 활성화 및 트랜잭션당 최대 힌트의 개수를 지정하는 파라미터(0~255)
Auto Cleanout
트랜잭션 종료(Commit) 이후 빠른 클린아웃(Fast Cleanout) 대상에 포함되지 못해 지연된 클린아웃(Delayed Cleanout)으로 남을 수 있는 블록을 백그라운드에서 사전에 정리하는 기능
해당 데이터 블록을 최초로 읽는(SELECT 등) 순간 정리 비용을 줄이고, 대량 데이터 변경 후 조회 성능을 개선
파라미터(AUTO_CLEANOUT, 기본값 N) 제어 필요
Storage Option (INITIAL/MAXSIZE)
세그먼트 최초 생성 크기를 설정하거나, 최대 크기를 제한하는 옵션 추가
INITIAL : 최초 생성 크기를 지정하여 세그먼트를 생성
MAXSIZE : 세그먼트의 최대 크기(maximum size)를 지정
기존 제공하던 MAXEXTENTS 옵션 deprecated
변경 기능
본 절에서는 Tibero 7.2.6에 변경 또는 개선된 주요 기능에 대해서 간략히 설명합니다.
DBMS 엔진
다음과 같은 기능들이 개선되었습니다.
Hash Join 성능 개선
group prefetch 적용 및 Hash table 구조 개선하여 성능 개선
파라미터(ENABLE_HASH_JOIN_V3, 기본값 N) 제어 필요
SQL 단위로 OPT_PARAM 힌트를 사용하여 기능 적용 가능
Full Scan 성능개선(Table/Index)
TAC 상황에서 다중 블록 디스크 읽기 직전에 동기방식(SYNC)으로 클러스터 버퍼 캐시 상태 확인을 수행하였으나, 성능 개선을 위해 비동기적(ASYNC)으로 수행할 수 있도록 개선
클러스터 캐시 확인 작업을 중첩 실행하고, 확인 작업과 디스크 I/O 작업을 병행할 수 있어 전체 스캔 성능 향상
파라미터(_FSCAN_CHECK_CLUSTER_CACHE_ASYNC, 기본값 N) 제어 필요
SFC(Simple Filter Condition) 활용 개선
모든 조건이 SFC(비교 연산자 및 비교대상이 미리 계산이 가능한 값) 일 때만 적용되던 제약과 지원 타입·노드 제한을 확대해, 혼합 쿼리에서도 SFC 이점을 활용하도록 개선
파라미터(USE_NEW_SFC, 기본값 N) 제어 필요
Temp LOB Life Cycle 개선
쿼리 수행 과정에서 일시적으로 생성되는 LOB 데이터(Temp 세그먼트 저장 대상)에 대해 생성 주기(Life Cycle) 개선
데이터 최적의 유지 기간 및 불필요한 메모리 점유 개선
특정 시간 주기로 유효하지 않은 Temp 세그먼트에 존재하는 LOB 제거 개선
CM(Cluster Manager) 개선
Connection 이중화 및 재연결(Reconnect) 개선
Public 네트워크를 통해서도 CM간 Connection을 맺도록 개선
인터커넥트 연결이 비정상인 경우 Public 네트워크가 정상이라면 해당 네트워크를 통해 Down 알림를 보내주도록 메시지 전달 개선
클러스터 파일(cfile) 접근이 불가능하더라도 Public 네트워크을 통해 상태를 공유하여 재연결 하도록 개선
파라미터(CM_USE_PUBLIC_CONNECTION, 기본값 N) 제어 필요
Overhaul 기능 개선
DB간 연결 단절이 발생한 모든 케이스에 대해 Overhaul 수행되도록 개선 (Master - Slave, Slave - Slave)
Overhaul 수행 시 전체 CM 간 연결 상태 점검 후, 모두 정상일 때만 연결 복구 진행
통계정보 관리 개선
파티션 단위 통계정보 Lock 기능개선
참고
자세한 내용은 "Tibero tbPSM 참조 안내서 - DBMS_STATS (LOCK_PARTITION_STATS/UNLOCK_PARTITION_STATS)" 참고합니다.
파티션 테이블 관리개선
Autolist Partition
List 파티션에서 Insert 값에 따라 신규파티션 자동 생성 기능 개선
파라미터(ENABLE_FEATURE_AUTOLIST_PART, 기본값 N) 제어 필요
Update Indexes 개선
파티션 변경 DDL 수행 시 자동으로 로컬인덱스 리빌드 되도록 개선
Parameter
본 절에서는 Tibero 7.2.6에 변경, 추가 또는 삭제된 Parameter에 대해서 간략히 설명합니다.
Modified Parameter
다음 Parameter가 변경되었습니다.
Parameter name |
Default Value Before |
Default Value After |
설명 |
|---|---|---|---|
| ACF_CMPT_CNT | MAX(32, MIN(get_ncpu() * 3, 160)) | iparam_cmpt_cnt_as_default(IPARAM(_INC_CONN_PER_NODE), IPARAM(CPU_COUNT)) | ACSD(Active Cluster Service Daemon) 프로세스가 병렬로 사용하는 클러스터 메시지 처리 스레드 수를 지정 |
| ILOG_TOTAL_SIZE_LIMIT | ((WTHR_PROC_CNT + 1) * WTHR_PER_PROC + PEP_PROC_CNT * WTHR_PER_PEP + ACF_CMPT_CNT + 150L) * (uint64_t)(ILOG_FILE_SIZE) * 2 | 동일 | ILOG_DEST에 저장된 내부 로그 파일의 최대 총 크기를 지정(ACF_CMPT_CNT 파라미터영향을 받아서 기본값 변경) |
New Parameter
다음 Parameter가 추가되었습니다.
Parameter name |
Default Value |
설명 |
|---|---|---|
| AUTO_CLEANOUT | NO |
Auto Cleanout 기능 제어 |
| AUTO_CLEANOUT_INTERVAL | 100 |
Auto Cleanout 주기를 지정(단위 0.1초) |
| BMGR_CNT | TB_MAX( 1, TB_MIN(get_ncpu() / 4, 64)) |
BMGR 개수 설정 |
| ENABLE_FEATURE_AUTOLIST_PART | NO |
Autolist Partition 기능 제어 |
| ENABLE_HASH_JOIN_V3 | NO |
신규HASH JOIN 기능 제어 |
| FAR_SYNC_INIT_REDO_FROM_PRIMARY | NO |
컨트롤파일 재생성 후 첫 연결 시 Far Sync가 Primary 정보로 동기화를 시작할지 유무지정 |
| RMGR_IGNORE_CHECKSUM_ERROR | NO |
--no-IMAGE-logging 옵션으로 RMGR backup 도중에 block의 손상을 발견하더라도, CHECKSUM error로 backup을 실패시키지 않고 계속 진행할지 여부지정 |
| RMGR_IGNORE_UNEXPECTED_BLOCK_NUMBER | NO |
--skip-unused', '--incremental', 또는 'cumulative' 옵션을 사용하여 RMGR backup/recover를 수행 시, 디스크 장애 또는 _INIT_NON_REGULAR_DATAFILE_WITH_ZERO=N 설정으로 NULL block과 같은 DBA corrupt block이 발견되더라도 이를 무시하고 진행할지 여부지정 |
| SQL_TRACE_OMIT_SQL_INVOKED_PSM | NO |
sql에서 호출되는 psm을 sql trace에서 생략할지 여부지정 |
| USE_BMGR | NO |
Buffer Manager(BMGR) 기능 제어 |
| USE_NEW_SFC | NO |
SFC(simple filter condition) 기능 제어 |
Deleted Parameter
다음 Parameter가 삭제되었습니다.
Parameter name |
비고 |
|---|---|
| USE_STANDBY_REDO_LOG | deprecated (DDL 방식으로 추가하도록 변경) |
Static/Dynamic View
본 절에서는 Tibero 7.2.6에 변경, 추가 또는 삭제된 정적/동적 뷰 및 컬럼 정보에 대해서 나열합니다.
Modified View
다음 정보가 변경되었습니다.
View Name |
Column Name |
Type |
Length |
Precision |
Scale |
Nullable |
|---|---|---|---|---|---|---|
| DBA(ALL/USER)_TABLES | NEXT_EXTENT |
NUMBER -> VARCHAR |
256 |
- |
- |
Y -> Y |
| DBA(ALL/USER)_TBL_PARTITIONS | NEXT_EXTENT |
NUMBER -> VARCHAR |
256 |
- |
- |
Y -> Y |
| DBA(ALL/USER)_TBL_SUBPARTITIONS | NEXT_EXTENT |
NUMBER -> VARCHAR |
256 |
- |
- |
Y -> Y |
| DBA(ALL/USER)_INDEXES | NEXT_EXTENT |
NUMBER -> VARCHAR |
256 |
- |
- |
Y -> Y |
| DBA(ALL/USER)_IDX_PARTITIONS | NEXT_EXTENT |
NUMBER -> VARCHAR |
256 |
- |
- |
Y -> Y |
| DBA(ALL/USER)_IDX_SUBPARTITIONS | NEXT_EXTENT |
NUMBER -> VARCHAR |
256 |
- |
- |
Y -> Y |
New View
다음 정보(뷰 또는 컬럼)가 추가되었습니다.
View Name |
Column Name |
|---|---|
| V$HINT | NAME, CATEGORY, DESCRIPTION |
| V$STANDBY | FLUSHED_SEQ, FLUSHED_BLKNO, FLUSHED_TSN, FLUSHED_DATE, LOG_REPLICATION_LAG, DATA_REPLICATION_LAG, REMAINING_APPLY_TIME |
| V$STANDBY_DEST (GV$STANDBY_DEST) | SENT_TSN, SENT_DATE, ACKED_TSN, ACKED_DATE, RECOVERED_SEQ, RECOVERED_BLKNO, RECOVERED_TSN, RECOVERED_DATE |
| DBA(ALL/USER)_INDEXES | MAXSIZE |
| DBA(ALL/USER)_IDX_PARTITIONS | MAXSIZE |
| DBA(ALL/USER)_IDX_SUBPARTITIONS | INITIAL_EXTENT, MAXSIZE |
| DBA(ALL/USER)_LOBS | INITIAL_EXTENT, NEXT_EXTENT, MAXSIZE |
| DBA(ALL/USER)_LOB_PARTITIONS | INITIAL_EXTENT, MAXSIZE |
| DBA(ALL/USER)_LOB_SUBPARTITIONS | INITIAL_EXTENT, MAXSIZE |
| DBA(ALL/USER)_PART_INDEXES | DEF_INITIAL_EXTENT, DEF_MAXSIZE |
| DBA(ALL/USER)_PART_LOBS | DEF_INITIAL_EXTENT, DEF_MAXSIZE |
| DBA(ALL/USER)_PART_TABLES | DEF_INITIAL_EXTENT, DEF_MAXSIZE, AUTOLIST |
| DBA(ALL/USER)_SEGMENTS | MAXSIZE |
| DBA(ALL/USER)_TABLES | MAXSIZE |
| DBA(ALL/USER)_TBL_PARTITIONS | INITIAL_EXTENT, MAXSIZE |
| DBA(ALL/USER)_TBL_SUBPARTITIONS | MAXSIZE |
Deleted View
다음 정보가 삭제되었습니다.
View Name |
Column Name |
비고 |
|---|---|---|
| V$STANDBY | ACKED_SEQ, ACKED_BLKNO | 컬럼 삭제 |
| DBA(ALL/USER)_INDEXES | MIN_EXTENTS, MAX_EXTENTS | 컬럼 삭제 |
| DBA(ALL/USER)_IDX_PARTITIONS | MIN_EXTENTS, MAX_EXTENTS | 컬럼 삭제 |
| DBA(ALL/USER)_IDX_SUBPARTITIONS | MAX_EXTENTS | 컬럼 삭제 |
| DBA(ALL/USER)_LOBS | MAX_EXTENTS | 컬럼 삭제 |
| DBA(ALL/USER)_LOB_PARTITIONS | MAX_EXTENTS | 컬럼 삭제 |
| DBA(ALL/USER)_LOB_SUBPARTITIONS | MAX_EXTENTS | 컬럼 삭제 |
| DBA(ALL/USER)_PART_INDEXES | DEF_NEXT_EXTENT, DEF_MAX_EXTENTS | 컬럼 삭제 |
| DBA(ALL/USER)_PART_LOBS | DEF_NEXT_EXTENT, DEF_MAX_EXTENTS | 컬럼 삭제 |
| DBA(ALL/USER)_PART_TABLES | INITIAL_EXTENT, MIN_EXTENT, DEF_NEXT_EXTENT, DEF_MAX_EXTENTS | 컬럼 삭제 |
| DBA(ALL/USER)_SEGMENTS | MAX_EXTENTS | 컬럼 삭제 |
| DBA(ALL/USER)_TABLES | MIN_EXTENTS, MAX_EXTENTS | 컬럼 삭제 |
| DBA(ALL/USER)_TBL_PARTITIONS | MAX_EXTENTS | 컬럼 삭제 |
| DBA(ALL/USER)_TBL_SUBPARTITIONS | MIN_EXTENT, MAX_EXTENTS | 컬럼 삭제 |
Known Issue
본 절에서는 Tibero 7.2.6의 알려진 문제를 간략히 설명합니다.
tbrmgr에서 no-image-logging 모드 백업 시 인터널 에러 발생 현상
현상
tbrmgr backup --no-image-logging 모드로 백업중인 테이블스페이스에 대해서 외부(다른세션등)에서 end backup DDL 수행 시 인터널 에러 발생
우회 방안
백업 재시도 또는 외부에서 백업진행중인 테이블스페이스에 대해서 end backup DDL 수행 지양