본문 바로가기

전체 글42

Tibero 동기종간 테이블 구성 확인하기 Tibero DB를 운영하다보면, 동기종간 (HA 또는 TAC) 방식으로 전환되는 경우가 존재합니다.이번에 다뤄볼 내용은 대량의 테이블을 이관시, 테이블과 컬럼타입(길이)이 일치하는지 조회 하는 스크립트입니다. 해당 내용은 이기종DB 확인은 어렵습니다. 스크립트 기반이다보니, 동기종(Tibero) 기준으로 작성하였습니다. 또한 컬럼 타입도 DB에 따라 조금씩 상이하므로, DB 자체 스크립트보단 별도 스크립트를 사용하여야합니다.동기종(Tibero) 간 데이터 일치 여부 스크립트는 추후 추가적으로 작성하고, 먼저 테이블 및 컬럼 일치 여부만 다뤄볼 예정입니다. 연계나 외부에서 입력받는 데이터 일 경우 데이터 타입과 길이가 상당히 중요하므로 (약속된 컬럼 명칭, 컬럼 타입 및 컬럼 길이) DB이관 및 동기종 .. 2026. 3. 19.
Tibero 테이블 용량 조회하기 Tibero DB를 운영하다보면 스토리지가 결국 가득차게 되는데, 어떤 테이블이 용량이 가장 많고 또는 어떤 테이블에는 데이터가 없는지 간략하게 조회 할 수 있는 스크립트를 공유하고자 합니다. SELECT OWNER AS USER_SCHEMA, SEGMENT_NAME AS TABLE_NM, SEGMENT_TYPE AS SEG_TY, ROUND(bytes / 1024 / 1024, 2) AS SIZE_MBFROM DBA_SEGMENTSWHERE OWNER = 'NONI'AND TABLESPACE_NAME = 'TS_NONI_DEV_DAT'AND SEGMENT_NAME LIKE '%TBL_BLDG%'ORDER BY SIZE_MB DESC;Tibero DB 운영 시 테이블별로 용량 사용량이 어떻게 되는지 조.. 2026. 3. 18.
Tibero LOB Segment 조회 스크립트 아래 스크립트는 BLOB, CLOB 등의 데이터 타입의 세그먼트 크기를 조회하는 스크립트입니다. SELECT L.OWNER, L.TABLE_NAME, L.COLUMN_NAME, L.SEGMENT_NAME, L.INDEX_NAME, L.TABLESPACE_NAME, S.BYTES, ROUND(bytes / 1024 / 1024, 2) AS SIZE_MBFROM DBA_LOBS LLEFT JOIN DBA_SEGMENTS S ON L.SEGMENT_NAME = S.SEGMENT_NAMEWHERE S.SEGMENT_TYPE = 'LOB'ORDER BY SIZE_MB DESC;Tibero DB를 운영하다보면 스토리지 관리도 중요한데, 정리 우선순위로는 불필요한 테이블을 정리하는것이고, 그 뒤로는 LOB Seg.. 2026. 3. 18.
PowerShell을 이용하여, 하위 디렉토리의 파일 용량 한번에 보기 Windows OS를 사용하다보면, 스토리지가 가득 차서, PC 정리가 필요할때가 존재합니다. 이럴때는 오래된 작업 파일들을 먼저 찾거나, 또는 가장 크기가 큰 파일 먼저 정리 대상이 되는데 오래된 작업 파일은 쉽게 조회 할 수 있지만, 하위 디렉토리안에 들어있는 파일명칭과 파일크기별로 한줄에 보기 어렵기 때문에, 간단하게 각 파일별로 용량을 같이 조회 할 수 있는 스크립트 입니다. Get-ChildItem "C:\Users\Mayersong\Desktop\작업폴더" -Recurse -File |Sort-Object Length -Descending |Select-Object FullName, @{Name="SizeMB";Expression={[math]::Round($_.Length/1MB,2)}} |.. 2026. 3. 18.
Tibero PURGE (휴지통)에 대한 간단 설명 Tibero DB를 사용하다보면, 가끔씩 마주칠수 있는 테이블이 존재한다. 예를 들면 " NONI_BLDG.TN_BLDG_SECT_5179 " 테이블을 방금 전에 DROP 하였다고 가정하자. 그러면 실제 해당 스키마(noni_bldg)의 테이블 목록을 살펴보면_NONI_BLDG_TBL3606900; 라는 뒤에 이상한 숫자들이 붙는 테이블이 생길 수 있다. 해당 테이블들은 Tibero DB 입장에서 임시 휴지통과 같은 개념과 같다. 실제로 테이블을 DROP 하였지만, DB입장에서는 휴지통이라는 임시에 보관하고 있는 셈이다. RECYCLEBIN 파라미터가 OFF로 되어있지만 임시 테이블(PURGE)를 쌓지 않는다. 만약 쌓여있는 상태라면 실제로 데이터 용량도 그대로 차지하고있으므로, 용량을 확보하려면 별도 .. 2026. 3. 17.
Tibero 사용자 계정 만료시 조치 방안 Tibero DB를 사용하다보면 다양한 계정을 생성하여 운영 할 수 있다. 그러니 기본 Default 값으로 운영하다보면 180일이 지난 후면 패스워드 만료를 보게된다. 만약 해당 DB가 실제 서비스 중인 대상이라면, 더더욱 조심스럽기 마련이다. 먼저 SELECT *FROM DBA_USERS;위 해당 쿼리로 USER 정보를 조회한 후 만료 여부도 확인이 가능하다. 만약 급한대로라면 기존 사용중인 패스워드를 그대로 입력하는 방법도 존재한다. ALTER USER NONI_BLDG IDENTIFIED BY abcd123!@; 위 스크립트 내용은 NONI_BLDG 라는 사용자의 패스워드를abcd123!@로 변경한다는 뜻이다. 기존 사용하던 패스워드를 그대로 입력하여도 무방하다. 단, profile을 수정하지 .. 2026. 3. 17.
Linux 기반 쓰레드 덤프하기 linux 기반의 OS에서 특정 프로세스의 자원 사용률을 보려면 별도 heap dump 또는 thread dump 진행하여 분석하곤합니다. top 또는 topas 같은 실시간성 모니터링도 존재하지만, 해당 프로세스의 점유율에 대해 추출하는 방식입니다. jstack -l PID번호 >> jstack.tdump위 코드 블럭과 같이 jstack 을 이용하여 특정 PID의 쓰레드 정보를 조회 할 수 있습니다. 2026. 3. 10.
Tibero 통계 수집 관련 이번에는 통계 수집 관련하여 내용을 간략하게 작성하려고 합니다./* 대상 테이블의 60퍼센트의 데이터 통계 수집 방법 */EXEC DBMS_STATS.GATHER_TABLE_STATS('유저명', '테이블명',NULL, 60, cascade_indexes=> TRUE);/* 대상 테이블의 특정 파티션만 통계 수집 방법 */EXEC DBMS_STATS.GATHER_TABLE_STATS('유저명', '테이블명','파티션명', estimate_percent => 0, method_opt => 'FOR ALL COLUMNS SIZE 1', degree=> 8, granularity => 'PARTITION', cascade_indexes => TRUE);/* 대상 테이블의 연관된 (TABLE 및 INDEX 등 .. 2026. 3. 10.
MERGE INTO 사용으로 INSERT, UPDATE 하기 이번에는 쿼리 세션 하나로 UPDATE 와 INSERT를 동시에 작업할 수 있는MERGE INTO 구문의 쿼리를 안내하려고합니다. MERGE INTO NONI.HOUSE_BLDG_PRICE REIFUSING NONI.TEMP_MERGE_HOUSE_BLDG_PRICE ORIGIN ON (ORIGIN.CRTR_YEAR = REIF.CRTR_YEAR AND ORIGIN.CRTR_MM = REIF.CRTR_MM AND ORIGIN.PC_SN = REIF.PC_SN AND ORIGIN.LAND_SGG_CD = REIF.LAND_SGG_CD ORIGIN.CRTR_YEAR = 2025 ) WHEN MATCHED THEN UPDATE SET REIF.PRICE = ORIGIN.PRICE, REIF.BLDG_AR.. 2026. 3. 5.
이엠텍 지포스 RTX 5060 Ti MIRACLE WHITE D7 16GB 구매후기 내돈내산으로는 처음 올리는 그래픽카드 후기. 컴퓨터 부품 및 가전제품 부품은 배송 중에 파손으로 걱정이 좀 있는데, 일단 이번 구매는 걱정을 좀 덜했다. 기존 사용하던 그래픽카드가 3060이였는데 2년도 안되어 냉납증상이 발현했다. 냉납증상은 아래와 같다... 위같은 증상들이 발현되다가, 한동안 잠잠해져서 그냥 저냥 쓰는중이였다. 이상하게 냉납증상인데 6개월동안 또 멀쩡.. (흠.. 소프트웨어 충돌일수도...) 이런 증상들도 보이고, 앞으로 그래픽카드의 가격이 어떻게 예측하기 어렵기 때문에 구매를 결정. 지금도 쓸만한 3060이지만 추후 본체 업그레이드를 고려해서 최상위 보급 그래픽카드를 구매했다. 선정기준은1. 5060TI 을 가장 먼저 선택했고,2. VRAM은 8GB도 충분하지만, 여러 작업 .. 2026. 2. 27.