ts-sunje의 등록된 링크

 ts-sunje로 등록된 네이버 블로그 포스트 수는 58건입니다.

2023년 기술본부 송년회 [내부링크]

여의도 어딘가에서 모였습니다. 맛있게(?) 먹고 한컷 남겨보았습니다. 그러고는 어딘가에서 즐기다 귀가~

기술본부 일상 [내부링크]

기술본부 3팀분들. 즐거운건가?!

환경변수 설정 [내부링크]

환경변수 시스템에서 사용되는 값으로, 응용 프로그램이 동작할 때 특정 값을 참조할 수 있도록 하는 변수입니다. 환경 변수는 시스템에 로그인 한 세션이나 시스템 전체에 사용되며, 키와 값의 쌍으로 정의됩니다. PATH 디렉터리 경로의 목록을 의미합니다. 사용자가 전체 경로를 지정하지 않고 명령을 입력하면 이 목록을 확인하여 해당 명령어가 경로에 속하는지를 확인합니다. 따라서, PATH에 프로그램 실행 경로를 설정하면 명렁어 실행 시 경로를 따로 입력하지 않아도 PATH에 있는 디렉토리에서 실행파일을 찾아 실행합니다. echo $PATH 명령어로 PATH만 확인 가능합니다. $ echo $PATH 환경변수의 적용방법 Goldilocks DBMS의 환경변수를 예로 들어 설명합니다. Goldilocks DBMS는 운영을 위해 "Home 디렉토리"와 "Data 디렉토리"를 저장해야 합니다. 이를 위해 "GOLDILOCKS_HOME" 및 "GOLDILOCKS_DATA" 라는 환경변수를 약속하고

netstat [내부링크]

netstat network statistics의 줄임말로 네트워크의 상태를 모니터링 하기 위해 사용합니다. netstat 명령어 사용법에 대해 알아보겠습니다. netstat <옵션> 옵션 내용 -a 모든 포트 목록을 출력합니다. -l Active한 Listen 목록을 출력합니다. -t TCP 프로토콜 정보들을 출력합니다. -u UDP 프로토콜 정보들을 출력합니다. -c 현재 실행 명령어를 매 초마다 실행합니다. -s 네트워크 통계를 모니터링 할 수 있습니다. -r 라우팅 정보를 출력합니다. -n 포트나 주소형식을 숫자로 표현합니다. -p 해당 프로세스가 사용하고 있는 프로그램 정보를 출력합니다. STATE 값 내용 LISTEN 포트가 열려있어 연결을 대기하는 상태 ESTABLISHED 서로 연결 되어있는 상태 CLOSE_WAIT 원격의 요청을 받고 연결 종료를 기다리는 상태 TIME_WAIT 이미 연결이 종료 되었거나 다음 연결을 기다리는 상태 CLOSED 완전히 연결이 끊어진 상

sar [내부링크]

sar System Activity Report 약자로 옵션에 따라 저장된 특정시점 및 현재의 시스템 상황을 확인할 수 있습니다. sar는 다양한 정보를 제공하기 때문에 많은 옵션을 가지고 있습니다. sar <옵션> 옵션 내용 default 오늘 사용한 CPU 사용률에 대해 출력합니다 [간격] [횟수] 초당 몇번을 출력할 지에 대해 설정합니다. -r 과거 메모리 사용률을 출력합니다. -f 특정 날짜의 CPU 사용률에 대해 출력합니다. -s [시작시간] -e [종료시간] 시작시간과 종료시간을 지정하여 CPU 사용률에 대해 출력합니다. -b I/O와 transfer의 통계를 백분율로 출력합니다. -q 실행 대기 큐에 있는 프로세스를 출력합니다. -w 스왑 발생 상황을 확인합니다. -P [PID] 해당 프로세스에 대한 CPU 사용률에 대해 출력합니다. sar (오늘 사용한 CPU 사용률에 대해 출력합니다.) $ sar Linux 3.10.0-1127.18.2.el7.x86_64 (tech

2024년 기술본부 신년 회식 [내부링크]

2024년 신년을 기념해서 기술본부에서 회식을 진행했습니다! Previous image Next image 1차로 맛있는 고기를 먹고 2차로 볼링을 치러 갔습니다! 연습 게임 후 실력을 나눠서 아이스크림 내기를 진행했는데요, 결과는 ~~ 1등 : 슬 없는 1팀 (특 : 3팀 문님이 다 함) 2등 : 은 없는 콜럼버스팀 꼴등 : 문 없는 3팀 개인별 순위 == 상위 라인 == 1등 : 문 2등 : 성 3등 : 원 == 중간 라인 == 4등 : 수 5등 : 슬 6등 : 보 == 하위 라인 == 7등 : 지 8등 : 은 9등 : 영 으로 ^^ (feat. 결과를 받아들이지 못하는 팀원들..) 그리고 다음날 게임에서 꼴등한 팀의 꽃미남 안보님이 쏘는 아이스크림 사진으로 마무리 !

Goldilocks Sharding Table 생성 가이드 [내부링크]

Goldilocks Sharding Table 생성가이드 기술 문서 입니다. 첨부파일 GOLDILOCKS SHARDING TABLE 생성가이드.pdf 파일 다운로드

2024년 기술 본부 일상 (상반기) [내부링크]

벌써 2024년도 반이 지나가고 있는데요 ~ 오랜만에 기술 본부 일상 포스팅 시작합니다~!! 겨울은 다 지나갔구나~ 했는데 눈이 소복하게 쌓였어요! 내년에나 쓸 수 있을 줄 알았던 아보카도 메이커를 올해 사용할 수 있었답니다! 회사 앞에서 만들어서 쪼로록 쌓아두니 지나가는 분들마다 이거 뭐냐고 물어보시더라구요 ㅎㅎ 이 친구들은 바로 용맹한 아보카도랍니다.. 그리고 용감한 아보카도들은 이 날 저녁에...... 이렇게 추운 겨울이 지나가고 이제 살살 산책할만한 날씨가 되어서 점심 먹고 한강까지 산책을 했답니다~! 회사 앞에 이렇게 좋은 곳이 있는데 자주 못 왔던게 너무 속상하네요 c 이제 날도 좋아졌으니 자주자주 산책하는 걸로! 날이 풀리면서 기술 본부의 본부장님께서 1달 간 리프레쉬 휴가를 다녀오시는데요, 그간의 노고에 감사하며 잘 쉬다 오시라고 특별 회식을 준비했습니다! 회사 근처의 오마카세 집을 예약했는데 딱 저희끼리 사용할 수 있도록 홀 전체를 대관해주셨더라구요 ㅎㅎ 너무나도 맛

5. Cyclone 운영하기 [내부링크]

5-1. 운영하기 CYCLONE은 GOLDILOCKS의 D/A 또는 C/S 환경에서 운영할 수 있다. 운영 환경에 따라 다음과 같이 CONFIG 파일 또는 ODBC.INI의 PROTOCOL 설정을 사용해야 한다. CONFIG 설정은 ODBC.INI 설정보다 우선한다. 설정 구분 PROTOCOL=DA D/A 환경에서 사용된다. (Default) PROTOCOL=TCP C/S 환경에서 사용된다. 운영 중에 수행되는 내용은 trace log를 통해 볼 수 있다. 구분 파일 Cyclone Master $GOLDILOCKS_DATA/trc/cyclone_master.trc Cyclone Slave $GOLDILOCKS_DATA/trc/cyclone_slave.trc GOLDILOCKS 접속 정책 CYCLONE에서 GOLDILOCKS에 접속하는 정책이다. GOLDILOCKS에 접속하는 기능은 두 가지가 있다. 하나는 CYCLONE에서 local GOLDILOCKS에 접속하는 기능이고 다른 하나

NUMA BALANCING [내부링크]

더 많은 CPU core와 메모리가 필요해지면서 CPU와 메모리를 결합하여 1개의 보드(socket)에 구성하고 이것을 다시 N개를 서버에 장착하여 사용하는 환경을 보통 NUMA Architecture라고 부릅니다. 출처:나무위키 이런 구성은 Node-0 에서 수행 중인 Process가 Node-1의 memory에 접근해야 할 경우 성능지연이 발생할 가능성을 갖고 있습니다. 이런 문제를 최소화시키기 위해 OS는 다음의 전략을 채택합니다. Local에서 수행 중인 Task를 Remote node로 이동시키는 방식 Remote Node의 메모리를 Local Node로 copy하는 방식 OS는 이런 전략의 판단을 위해 주기적으로 PTE에 Page를 unmap시켜서 fault가 나도록 유도하기도 합니다. 아래는 /proc/vmstat이 보여주는 정보입니다. numa_pte_updates 8845709780 numa_huge_pte_updates 47556 numa_hint_faults 82

[LOG FLUSHER] disable logging - blocked lfsn [내부링크]

운영 중에 system.trc에 다음의 로그가 출현할 수 있습니다. [2023-09-06 11:23:54.139945 INSTANCE(GOLDILOCKS) THREAD(328,140578787055424)] [INFORMATION] [LOG FLUSHER] disable logging - blocked lfsn(1) .... 생략 [2023-09-06 11:23:54.995416 INSTANCE(GOLDILOCKS) THREAD(51612,140706733610752)] [INFORMATION] [ARCHIVING] enable logging - blocked lfsn(1), inactivated lfsn(4) 해당 메시지는 Log Flusher가 Redo Logfile을 Archving하는 과정에서 다음 사용 가능한 로그파일을 준비해야 하는데 이때 충분한 로그 그룹이 준비 되지 않아 일시적으로 Logging과정을 멈춘다는 의미입니다. 이로 인해 트랜잭션들은 logging이 가능해질

Linux Huge Page 설정 [내부링크]

OS는 Process에 메모리를 할당할 때 가상의 연속적인 공간으로 주소를 부여합니다. 따라서, 가상의 메모리와 실제 물리메모리의 주소가 맵핑되도록 정보를 관리할 필요가 있어 PTE(Page Table Entry)라는 공간에 가상주소(A)->물리메모리(A`)라는 정보를 맵핑합니다. 대용량 메모리를 사용하는 경우 PTE가 Process 별로 커질 수 있기 때문에 Huge Page개념이 등장합니다. Linux의 경우 메모리Page의 관리 크기는 4K입니다. 이를 일반적으로 2M 단위로 크게 하여 PTE의 사용량을 줄이게 됩니다. [ari@tech4 logs]$ cat /proc/meminfo MemTotal: 65888008 kB MemFree: 18541888 kB MemAvailable: 46570848 kB Buffers: 264 kB Cached: 33864916 kB << .... 생략 >> PageTables: 246128 kB * 위의 예시는 시스템 내에 PTE(PageTa

Goldilocks property 가이드 [내부링크]

Goldilocks 21.1.29 기준 DB server property 가이드 문서 입니다 첨부파일 Goldilocks_Property_21c.1.29.pdf 파일 다운로드

Goldilocks PHP 연동 가이드 [내부링크]

Goldilocks 버전에 따라 연동 방법이 다르다. 사용 goldilocks 버전이 21c.1.29이하 이거나 22.1.2 이하일 경우 아래 첨부된 파일이 필요하다. 첨부파일 GOLDILOCKS_PHP_연동.pdf 파일 다운로드 첨부파일 pdo_goldilocks.tar.gz 파일 다운로드 첨부파일 libgdlcs.so 파일 다운로드 첨부파일 sample.tar.gz 파일 다운로드

GOLDILOCKS Embedded SQL [내부링크]

Embedded SQL 이란? Embedded SQL은 응용 프로그램 속에 내장해서 사용하는 SQL이며, 내장 SQL이라고 부르기도 합니다. 응용 프로그램 내에서 데이터를 정의하거나 질의하는 SQL문장을 내포하여 사용합니다. Embedded SQL을 사용하는 이유는 인자/절차가 복잡한 ODBC API를 이용하여 데이터 베이스 기능을 직접 호출하는 것보다 쉽게 데이터 베이스 연동 프로그램을 작성할 수 있기 때문입니다. Embedded SQL 생성 과정 Embedde SQL 실행 과정 1) 사용자가 Embedded SQL을 사용하여 코드를 작성 2) precompiler(gpec)를 통하여 C/C++ 소스 코드를 생성 3) C/C++ compiler를 이용하여 object code로 컴파일 4) GOLDILOCKS에서 제공하는 embedded SQL library와 함께 응용 프로그램 생성 Embedded SQL 사용 예제 Embedded SQL은 다음과 같이 사용합니다. 하단에 Emb

crontab [내부링크]

crontab 이란? 리눅스에서 특정한 시간에 어떤 작업을 수행하기 위해 스케줄링하는 기능이다. crontab 사용법 명령어 $ crontab [옵션] [파일명] # crontab 작성 $ crontab -e # crontab 작업 리스트 보기 $ crontab -l # crontab 모든 작업 삭제 $ crontab -r # root 사용자가 특정 사용자의 crontab 파일을 다룰 때 사용 $ crontab -u crontab 작성 # 기본 작성 예시 * * * * * /home/user/test.sh # 매분 test.sh 을 실행 $ * * * * * /home/user/test.sh # 매일 23시 30분에 실행 $ 30 23 * * * /home/user/test.sh # 매주 일요일 22시 45분에 실행 $ 45 22 * * 0 /home/user/test.sh # 매월 1일 8시 33분에 실행 $ 8 33 1 * * /home/user/test.sh # cat /

scp [내부링크]

scp 이란? secure copy의 줄임말로 ssh를 이용하여 네트워크로 연결된 호스트간에 파일을 주고받는 명령어이다. 원격지에 있는 파일과 디렉터리를 보내거나 가져올 때 사용하는 파일 전송 프로토콜이다. Local → Remote 단일 파일 전송 scp [옵션] [파일명] [원격지_id]@[원격지_ip]:[받는 위치] $ scp test.sh [email protected]:/test $ scp test1.txt [email protected]:/home/user [email protected]'s password: test1.txt 100% 14 10.1KB/s 00:00 복수 파일 전송 scp [옵션] [파일명 1] [파일명 2] [원격지_id]@[원격지_ip]:[받는 위치] $ scp test.sh test2.sh [email protected]:/test 여러파일을 포함한 디렉토리 전송 scp [옵션] [디렉터리 이름] [원격지_id]@[원격지_ip

sftp [내부링크]

sftp 이란? SSH 파일 전송 프로토콜(SSH File Transfer Protocol) 이다. 암호화된 SSH 전송을 통해 파일에 액세스, 관리 및 전송하는데 사용되는 보안 파일 프로토콜이다. 기본 포트 번호는 22이다. 파일 전송하려면 원격 시스템에 대한 쓰기 권한이 있어야 한다. sftp 사용법 연결 $ sftp [원격지_id]@[원격지_ip] #포트 변경 시 $ sftp -P [포트번호] [원격지_id]@[원격지_ip] Local → Remote 업로드 #파일 업로드 $ put [파일명] #디렉토리 업로드 $ put -r [디렉토리명] #업로드한 파일을 다른 이름으로 저장 $ put [파일명] [새로운파일명] sftp> put goldilocks-server-21c.21.1.6-linux-x86_64.tar.gz Uploading goldilocks-server-21c.21.1.6-linux-x86_64.tar.gz to /home/user/goldilocks-server

상황별 top 사용법 [내부링크]

'top'은 시스템 리소스 모니터링 도구로, CPU 및 메모리 사용량, 프로세스 목록 등을 실시간으로 확인할 수 있습니다. 옵션 없이 입력하면 interval 간격(기본 3초)으로 화면을 갱신하며 CPU 사용률 순으로 정보를 보여줍니다. 도움말 확인 "man top" 명령어를 입력하거나, 'top' 실행 후 "h" 키를 눌러 도움말을 확인합니다. 초 단위로 확인 실행 전 옵션 : "-n [숫자]" 실행 후 옵션 : "d/s" CPU 및 Memory 통계 기본 모양 변경 "t" 키 : CPU 통계 변경/제거 "m" 키 : 메모리 통계 변경/제거 CPU core별 사용률 확인 "숫자 1" 키 CPU 많이 사용하는 프로세스 종료 CPU 사용률 순으로 정렬(기본값) : "shift + p" PID 확인 프로세스 종료 "k" 키를 누르고 PID 를 입력합니다. signal을 입력하여 프로세스를 종료합니다. Memory 많이 사용하는 프로세스 확인 "shift + m" 특정 프로세스의 스레드

2023년 기술본부 워크샵 [내부링크]

물속에 저분들은 누굴까요?? 사진은 있는데 누가 누구인지는??

Goldilocks SpringBoot(Hibernate) 연동 가이드 [내부링크]

Spring boot 와 maven, Hibernate를 사용한 구축환경에서 JDBC를 사용하여 Goldilocks DB를 연결하는 가이드 문서입니다 첨부파일 GOLDILOCKS_SpringBoot_Hibernate_연동.pdf 파일 다운로드

Goldilocks 전자정부프레임워크(eGov) 연동가이드 [내부링크]

Goldilocks JDBC Driver를 이용해서 Goldilocks 와 전자정부프레임워크를 연동하는 가이드 문서입니다. 첨부파일 GOLDILOCKS_전자정부프레임워크(eGov)_연동.pdf 파일 다운로드

Spring Cloud 마이크로서비스 애플리케이션 [내부링크]

Microservice 와 Spring Cloud 소개 본문은 인프런 교육 영상 中 이도원 엔지니어님의 "Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)" 강의 기반 내용 정리 이며, 사용된 이미지의 출처는 해당 교육 영상의 이미지임을 밝힙니다. Spring Cloud Spring - java 의 웹 프레임워크 프레임워크 어떠한 목적을 달성하기 위한 구조 클래스, 라이브러리, 리포지토리의 집합 - JSP, mybatis, jpa 등 java를 쉽게 사용하기 위한 오픈소스 웹 프레임워크 Spring Cloud - MSA 시스템 개발/배포/운영을 지원하는 Spring 기반 개발 도구 및 프레임워크 History of IT System 1960~1980s : Fragile, Cowboys Mainframe, Hardware 하드웨어 중심(사양,성격)에 맞춰 서비스 구성, 고가 서비스 기능 수정 및 변경 어려움, 깨지기 쉬운 시스템 Fragile : 부서지기 쉬운 19

pidstat [내부링크]

pidstat은 linux상에서 io정보에 대해 추적하는 유틸리티이다. 다음과 같이 설치가 가능하다. [root@lim272-22c-g2 ~]# yum install pidstat 다음과 같은 예제를 통해 IO를 일으키는 process 및 상태를 확인할 수 있다. [root@lim272-22c-g2 ~]# pidstat -U lim272 2 Linux 3.10.0-1160.45.1.el7.x86_64 (lim272-22c-g2.novalocal) 06/23/2023 _x86_64_ (16 CPU) 05:39:25 AM USER PID %usr %system %guest %CPU CPU Command 05:39:27 AM lim272 20125 1.48 0.00 0.00 1.48 3 gsql 05:39:27 AM lim272 20127 4.93 0.99 0.00 5.91 1 gmaster 05:39:27 AM lim272 20171 91.13 27.09 0.00 118.23 3 cdi

ethtool [내부링크]

ethtool은 기본적인 nic 정보를 획득하는데 사용할 수 있는 유틸리티이다. 사용은 다음과 같다. [root@tech10 ~]# ifconfig -a docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0 inet6 fe80::42:bff:fea0:d120 prefixlen 64 scopeid 0x20<link> ether 02:42:0b:a0:d1:20 txqueuelen 0 (Ethernet) RX packets 168145 bytes 8961221 (8.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 302403 bytes 602790541 (574.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens6f0: flags

iostat과 disk device 매칭 [내부링크]

iostat -x 로 조회한 결과는 다음과 같다. [lim272@tech10 ~]$ iostat -x 2 Linux 3.10.0-1160.el7.x86_64 (tech10) 2023년 06월 23일 _x86_64_ (48 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 3.08 0.00 0.86 0.34 0.00 95.72 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 1.18 0.13 53.17 20.40 7709.96 2388.51 274.52 0.65 8.90 12.61 35.45 0.72 5.29 dm-0 0.00 0.00 0.06 1.79 8.03 35.21 46.72 0.05 28.94 28.70 28.95 2.70 0.50 dm-1 0.00 0.00 0.00 0.00 0.00 0.00 47.27

vgdisplay [내부링크]

disk volumn group에 대한 정보를 출력한다. [root@tech10 ~]# vgdisplay -v --- Volume group --- VG Name cl System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 7 VG Access read/write VG Status resizable MAX LV 0 Cur LV 3 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size <928.50 GiB PE Size 4.00 MiB Total PE 237695 Alloc PE / Size 237695 / <928.50 GiB Free PE / Size 0 / 0 VG UUID DlN9CS-fPiz-Wqim-Qsq3-9Bja-bFJK-S0Zqw6 --- Logical volume --- LV Path /dev/cl/swap LV Name swap VG Name cl LV UUID YHjRPm-SJvm-Il

disk sector size 확인방법 [내부링크]

fdisk 를 이용하여 확인한다. [root@tech10 ~]# fdisk -l WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion. Disk /dev/sda: 999.1 GB, 999116767232 bytes, 1951399936 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: gpt Disk identifier: 4F4178D9-0542-443D-8E96-E15006927A23 # Start End Size Type Name 1 2048 2099199 1G EFI System EFI

linux blocks [내부링크]

Linux는 각종 정보 확인에서 blocks의 의미를 다르게 해석해야 할 경우들이 있어 정리한다. blocks란 자원 리소스를 byte단위로 관리하지 않고 임의의 특정크기 단위로 관리하는데 그 단위를 의미한다. * Disk Block Size는 아래와 같이 확인할 수 있다. [root@tech10 ~]# dd if=/dev/sda1 of=/dev/null count=1 1+0 records in 1+0 records out 512 bytes (512 B) copied, 0.0024359 s, 210 kB/s * kernel, vmstat에서는 1K를 1개의 Block으로 간주한다. * File System에서는 아래의 명령을 통해 확인할 수 있다. [root@tech10 ~]# stat -f . File: "." ID: fd0000000000 Namelen: 255 Type: xfs Block size: 4096 Fundamental block size: 4096 Blocks: To

3. Cyclone 준비사항 [내부링크]

3-1. 준비사항 원본 GOLDILOCKS에서는 GOLDILOCKS 준비사항과 사용자 등록 및 권한 설정을 모두 수행해야 한다. 원격 GOLDILOCKS에서는 사용자 등록 및 권한 설정만 수행하면 된다. GOLDILOCKS 준비사항 CYCLONE을 이용한 이중화를 시작하기 전에 GOLDILOCKS에는 다음과 같은 사항이 설정되어 있어야 한다. SUPPLEMENTAL LOGGING SUPPLEMENTAL LOGGING은 CYCLONE의 이중화를 위해 redo log file에 부가 정보를 함께 저장한다. 이미 운영 중인 데이터베이스의 해당 설정을 변경하려면 데이터베이스를 다시 시작해야 하는데 특정 테이블에만 SUPPLEMENTAL LOGGING을 설정할 경우에는 데이터베이스를 다시 시작할 필요가 없다. 데이터베이스에 SUPPLEMENTAL LOGGING 설정 GOLDILOCKS의 프로퍼티로 SUPPLEMENTAL LOGGING을 설정할 경우, 모든 테이블에 대해SUPPLEMENTAL

4. Cyclone 환경설정 [내부링크]

4-1. 환경설정 환경설정 파일 CYCLONE을 실행할 때 환경 설정 파일을 사용하여 운영에 필요한 정보와 옵션을 설정할 수 있다. --conf 옵션을 사용하여 특정 환경설정 파일을 설정하지 않을 경우, $GOLDILOCKS_DATA/conf 디렉토리에서 특정 파일을 읽어들인다. Master로 동작할 경우에는 cyclone.master.conf 파일을 읽고 slave로 동작할 경우에는 cyclone.slave.conf 파일을 읽는다. 이름 설명 적용 범위 COMM_CHUNK_COUNT 통신에 사용될 BUFFER의 크기를 설정한다. Master/ slave DSN Data Source Name을 설정한다. Master/ slave GROUP_NAME 그룹 이름을 설정한다. Master/ slave HOST_IP GOLDILOCKS가 운영 중인 host IP address를 설정한다. Master/ slave HOST_EXTERNAL_IP cyclone master가 보는 slave G

GOLDILOCKS memory property [내부링크]

GOLDILOCKS DATABASE에서 memory와 연관된 property 입니다. 1. USE_LARGE_PAGES 많은 프로세스가 shared memory에 접근하게 될 경우 PageTables memory를 비효율적으로 많이 사용할 수 있어 메모리 사용량이 늘어날 수 있습니다. 해당 현상을 해소하기 위해 hugepage를 사용하며 Linux 상의 hugepage를 사용하도록 설정했다면, DB에서 USE_LARGE_PAGES 프로퍼티를 사용하여 hugepage를 사용하게 됩니다. 항목 설명 이름 USE_LARGE_PAGES 요약 use large pages 적용 단계 NOMOUNT 이상 session dependency ALTER SESSION : FALSE ALTER SYSTEM : IMMEDIATE MIN 0 (default) MAX 2 ※ 1 또는 2를 사용하게 될 경우 Linux 커널 2.6.32~573 이상에서만 사용할 수 있습니다. USE_LARGE_PAGES 값을

GOLDILOCKS 유용한 property [내부링크]

GOLDILOCKS DATABASE에서 유용하게 쓰이는 property 입니다. 1. DDL_AUTOCOMMIT autocommit이 적용되지 않는 DDL에 대한 autocommit 여부를 설정합니다. autocommit 적용 시 rollback 되지 않습니다. DDL 구문 중 autocommit이 적용되는 여부는 아래와 같이 V$SQL_COMMAND 뷰를 사용하여 조회 가능합니다. gSQL> SELECT COMMAND, AUTO_COMMIT FROM V$SQL_COMMAND WHERE is_ddl = 'YES'; 항목 설명 이름 DDL_AUTOCOMMIT 요약 DDL auto commit (type : boolean) 적용 단계 NOMOUNT 이상 session dependency ALTER SESSION : TRUE ALTER SYSTEM : IMMEDIATE MIN 0 (default, rollback을 수행하여 table 생성/변경 철회 가능) MAX 1 2. TRACE_DD

GOLDILOCKS resource property [내부링크]

GOLDILOCKS DATABASE에서 resource와 연관된 property입니다. 1. CLIENT_MAX_COUNT 접속할 수 있는 client 세션의 최대 갯수를 설정합니다. 설정한 갯수를 초과하여 접속할 경우 아래와 같은 에러 메시지가 출력됩니다. ERR-HY000(11019): Insufficient resource : exceeded maximum number of session environments 항목 설명 이름 CLIENT_MAX_COUNT 요약 maximum session count 적용 단계 NONE session dependency ALTER SESSION : FALSE ALTER SYSTEM : FALSE MIN 12 MAX 65535 default 128 2. PROCESS_MAX_COUNT 데이터베이스에서 사용할 수 있는 최대 프로세스 갯수를 지정합니다. ※ 시스템 프로세스 생성 C/S dedicated 모드로 접속할 때마다 프로세스가 생성됩니다. C

NetVault 연동가이드 [내부링크]

NetVault 연동 가이드입니다 첨부파일 GOLDILOCKS_NetVault_연동.pdf 파일 다운로드

Cyclone 이용하여 Goldilocks to Oracle CDC 이중화 구성하기 [내부링크]

goldilocks CDC 이중화 툴인 Cyclone을 이용하여, Goldilocks 와 Oracle 을 연결합니다 Goldilocks 에서 Oracle 단방향으로만 이중화가 가능합니다 cyclone 구성 관련한 자세한 내용은 'Golidlocks 사용자 메뉴얼' 을 참고해주세요 첨부파일 GOLDILOCKS_TO_ORACLE(WITH CYCLONE).pdf 파일 다운로드

Goldilocks "View" 설명 문서 [내부링크]

goldilocks 운영자가 알아두면 좋을 view 설명문서입니다 성능관련 view, 자주쓰는 view 및 모니터링 쿼리들이 기술되어있습니다. 첨부파일 Goldilocks_view_21c.pdf 파일 다운로드

Goldilocks 패치 가이드 [내부링크]

Standalone, Cluster 패치 방법이 기술되어있는 문서입니다 Major,Minor,Patch 버전에 따른 패치방법이 분리되어 있으며 cluster rolling patch 방법이 있습니다. 첨부파일 GOLDILOCKS_PATCH.pdf 파일 다운로드

Goldilocks 마이그레이션 가이드 [내부링크]

Goldilocks Migration 가이드 문서입니다 Goldilocks 스키마 및 데이터 Export/Import 방법에 대해 기술되어있습니다. 첨부파일 GOLDILOCKS_MIGRATION.pdf 파일 다운로드

22c Manual(ko) [내부링크]

https://drive.google.com/file/d/1Iz8p7TEH7oV4bv37yaEG2vr4_aTCJQz8/view?usp=share_link GOLDILOCKS 22c.1 User Manual (ko).pdf GOLDILOCKS 22c.1 User Manual (ko).pdf Sign In drive.google.com

Goldilocks Table Lock 대응 매뉴얼 [내부링크]

Goldilocks 사용중 Table Lock 현상이 발생했을 경우 참고 가능한 문서입니다. 첨부파일 GOLDILOCKS_TABLE_LOCK_상황_대응_매뉴얼.pdf 파일 다운로드

Goldilocks Tablespace 작업가이드 문서 [내부링크]

Goldilocks Tablespace 추가/삭제 등의 설명이 기술된 문서입니다 첨부파일 GOLDILOCKS_TABLESPACE_작업가이드.pdf 파일 다운로드

Goldilocks DB 생성(gcreatedb) 및 구동(startup) [내부링크]

[설치 단계] "OS설정" -> "패키지파일 압축 해제"-> "경로설정" -> "라이센스 설정"-> "bash_profile"->"프로퍼티 설정" -> "gcreatedb DB 생성" -> "구동 startup"-> ["CLUSTER 연결"] -> "스키마 생성" -> "listener 구동" 1. DB 생성 gcreatedb 구문으로 Goldilocks DB를 생성한다 $GOLDILOCKS_HOME/bin/gcreatedb 실행파일을 사용한다 ≫ gcreatedb 생성 단계에서 프로퍼티 설정을 할 수 있지만, 관리용이를 위해 서버프로퍼티 파일에 기술하는것을 권고 [standalone] # gcreatedb [cluster] # gcreatedb --cluster 2. DB 구동 # gsql sys gliese --as sysdba gSQL> STARTUP -> 바로 local open 단계로 [ 3단계의 startup phase ] startup phase 설명 nomount GO

2. Cyclone to otherDBMS [내부링크]

CYCLONE slave가 target database를 GOLDILOCKS가 아닌 다른 DBMS로 연동할 때 source database인 GOLDILOCKS 테이블의 column 데이터 타입이 다른 DBMS 테이블의 column 데이터 타입과 정상적으로 매핑되어야 데이터 손실이나 오류를 방지할 수 있다. Oracle, MySQL, DB2, Tibero 와 연동할 수 있다. 다른 DBMS와 연동할 경우 SYNC 기능과 허용 가능한 DDL 처리 기능을 사용할 수 없다. 2-1. Data Type 호환성 Oracle 연동 datatype GOLDILOCKS Oracle 호환 가능 여부 Boolean X 해당 데이터 타입이 없다. NATIVE_SMALLINT NUMBER(5) - NATIVE_INTEGER NUMBER(10) - NATIVE_BIGINT NUMBER(19) - NATIVE_REAL BINARY_FLOAT - NATIVE_DOUBLE BINARY_DOUBLE - FLOAT

Goldilocks Cluster 연결 (global open/ add cluster member ) [내부링크]

[설치 단계] "OS설정" -> "패키지파일 압축 해제"-> "경로설정" -> "라이센스 설정"-> "bash_profile"->"프로퍼티 설정" -> "gcreatedb DB 생성" -> "구동 startup"-> ["CLUSTER 연결"] -> "스키마 생성" -> "listener 구동" goldilocks cluster 구성을 위해 global open 과 cluster group 생성 및 member 추가 단계가 필요하다 기존 Goldilocks cluster 에 Group 또는 멤버를 추가할 경우도 동일한 절차이다 1. Global OPEN global open 이란? 각 cluster member 간의 cluster session을 연결하고 sharding 정보와 group coordinator(=group master 개념)을 선정후 , 사용자의 서비스 접속을 기다림 첫 구성시 모든 노드는 GLOBAL OPEN 상태여야한다 $ gsql sys gliese --as sy

Goldilocks 스키마생성 및 listener 구동 [내부링크]

[설치 단계] "OS설정" -> "패키지파일 압축 해제"-> "경로설정" -> "라이센스 설정"-> "bash_profile"->"프로퍼티 설정" -> "gcreatedb DB 생성" -> "구동 startup"-> ["CLUSTER 연결"] -> "스키마 생성" -> "listener 구동" 1. 스키마 생성 ※하나의 cluster member 에서 수행하면 된다. (다른 cluster member들은 자동 생성됨) Standalone 과 Cluster의 스키마 디렉토리가 다르다 [Standalone] $ gsql sys gliese --as sysdba -i $GOLDILOCKS_HOME/admin/standalone/DictionarySchema.sql $ gsql sys gliese --as sysdba -i $GOLDILOCKS_HOME/admin/standalone/InformationSchema.sql $ gsql sys gliese --as sysdba -i $GOLD

Goldilocks Windows Client 설치 파일 링크 [내부링크]

Goldilocks Windows Client 설치 파일입니다. 아래 링크(Google Drive)를 통해 다운로드 받으실 수 있습니다. 해당 링크에는 20c.1.26, 21c.1,23, 22c.1.1 버전의 Windows Client 설치 파일이 있습니다. 사용하시는 Windows 환경의 x86, x64 버전을 확인하시어 사용하시면 됩니다. https://drive.google.com/drive/folders/1CidJw4a6agbu8wcnEnq-5nA2A0sTIM2S?usp=sharing Goldilocks Windows Client Package - Google Drive You are using an unsupported browser. If you see some unexpected behavior, you may want to use a supported browser instead. Learn more Files goldilocks-client-20c.20.1.26-wi

gloader/gloadernet 소개 및 사용법 + 효과적인 Import 처리에 필요한 Argument 정리 [내부링크]

gloader/gloadernet은 GOLDILOCKS 내에 존재하는 데이터를 테이블 단위로 다운로드 또는 업로드 할 수 있는 유틸리티입니다. gloader는 D/A(Direct Attach) 환경에서 사용하며, DB가 설치된 장비에서만 사용할 수 있습니다. gloadernet은 C/S(Client/Server) 환경에서 사용하며, DB에 접속할 수 있다면 외부에서 사용할 수 있습니다. 아래 그림은 gloader/gloadernet 운영 시의 간단한 관계도입니다. gloader/gloadernet environment 데이터를 업로드하려면 control file과 datafile이 필요하고 업로드 결과로써 log file이 생성됩니다. 데이터를 다운로드하려면 control file이 필요하고 다운로드 결과로써 datafile과 log file, bad file이 생성됩니다. Control File 데이터 업로드/다운로드 시 모두 필요한 Control File에 대해서 알아보겠습니다.

GOLDILOCKS property 구성 [내부링크]

GOLDILOCKS Property 파일의 위치는 ${GOLDILOCKS_DATA}/conf/goldilocks.property.conf 위치합니다. 기본 Property로도 DB Instance 를 생성 및 운영할 수 있습니다. 각 Property의 설정 값은 DB를 생성한 이후 변경 불가한 경우와 구동 단계별 변경이 가능한 것으로 분류할 수 있습니다. 각 구동 단계의 의미는 다음과 같습니다. 구동단계 요약 IDLE Instance가 구동이 되지 않은 상태, NOMOUNT gmaster만 구동된 상태 MOUNT DB 내의 control file을 인식하고 있는 상태 (GLOBAL) OPEN DB 내의 모든 데이터 파일이 로딩되어 사용자에게 서비스를 제공할 수 있는 상태 Property 파일내에는 아래의 예시와 같은 주석(#)이하에 나열된 각 Section별로 변경 가부 여부를 표시하고 있습니다. 각각의 설명은 아래와 같습니다. DB를 생성한 이후에는 변경 불가한 Property는

GOLDILOCKS timeout property [내부링크]

GOLDILOCKS DATABASE 운영 중 많이 사용되는 timeout property 입니다. 1 . QUERY_TIMEOUT 세션에서 받은 명령어를 처리할 수 있는 최대 시간을 지정하며 해당 시간 초과 시 아래와 같은 TIMEOUT 에러가 발생됩니다. ERR-HYT00(13039): Exceeded maximum query time 항목 설명 이름 QUERY_TIMEOUT 요약 query timeout (단위 : s) 적용 단계 NOMOUNT 이상 session dependency ALTER SESSION : TRUE ALTER SYSTEM : IMMEDIATE MIN 0 (default, 무한 대기, TIMEOUT 에러 발생 X) MAX 10000000 2. IDLE_TIMEOUT C/S 모드로 사용하는 세션에서 아무 작업도 수행하지 않는 시간(idle time)을 설정하며 해당 idle time 초과 시 아리와 같은 에러가 발생됩니다. ERR-08S01(11141): Com

Instance 개념 [내부링크]

Goldilocks Lite는 1개 이상의 Instance 라는 객체를 생성하고 사용해야 합니다. Instance는 DBMS에서 보면 일종의 Schema path 개념과도 유사한데 여기에 Undo/Redo Logging영역과 트랜잭션/세션을 관리하는 영역을 미리 확보한 공간입니다. Instance는 다음과 같이 생성할 수 있습니다. [lim272@tech10 4th_iter]$ dbmMetaManager *********************************************************** * Copyright 2010 SUNJESOFT Inc. All rights reserved. * Version (Debug 3.1-3.1.2 revision(5327)) * warning : open file limit 10240 is too low. : recommended 65536 or higher ***************************************

ODBC DSN 접속 설정 [내부링크]

Goldilocks Cluster 접속을 위한 odbc.ini 환경의 접속정보 설정을 설명합니다. [G1N1] HOST = 100.0.0.11 PORT = 22581 PROTOCOL = TCP CS_MODE = DEDICATED ALTERNATE_SERVERS=(HOST=100.0.0.12:PORT=22581,HOST=100.0.0.11:PORT=22581) FAILOVER_TYPE=SESSION #CONNECTION_RETRY_DELAY=3 #CONNECTION_RETRY_COUNT=3 #FAILOVER_ROUTING_POLICY = 1 LOGIN_TIMEOUT=3 위는 odbc.ini 파일의 설정예시입니다. 해당 파일은 $HOME/.odbc.ini 파일로 저장하여 사용합니다. "[G1N1]" 의미는 1개의 Section을 의미하며 접속할 서버가 여러 대라면 아래와 같이 여러 개의 구분된 Section으로 기술할 수 있습니다. [G1N1] HOST = 100.0.0.11 PORT

Goldilocks 설치를 위한 OS 설정 [내부링크]

[설치 단계] "OS설정" -> "패키지파일 압축 해제"-> "경로설정" -> "라이센스 설정"-> "bash_profile"->"프로퍼티 설정" -> "gcreatedb DB 생성" -> "구동 startup"-> ["CLUSTER 연결"] -> "스키마 생성" -> "listener 구동" Goldilocks 사용 가능한 OS는 'LINUX , HP-UX , AIX ' 가 있다 ※CentOS 8, RHEL 8 이상에서는 사용자가 'libnsl'을 추가로 설치해야한다 OS 설정을 위해 root 권한이 필요하다 시스템 요구사항 disk : 최소 2G 이상 mem : 최소 2G 이상 구성을 위한 체크사항 방화벽 해제 여부 cpu 성능 최적화 1. 커널 설정 1-1. 공유메모리 및 세마포어 설정 # vi /etc/sysctl.conf ... kernel.shmmax = 4294967296 kernel.shmmni = 4096 kernel.shmall = 1048576 kernel.sem

What is Goldilocks Lite? [내부링크]

Goldilocks Lite는 Shared Memory를 DBMS처럼 쓸 수 있도록 사용자에게 제공되는 Library입니다. 따라서, Daemon도 없지만 library내에 데이터를 처리하기 위한 동시성 제어를 기본으로 제공하고 있습니다. 또한, 설정에 따라서 WAL(Write Ahead Logging)이라든지 데이터파일 저장이라든지 DBMS와 유사한 수준의 안정성도 제공되고 있습니다. 위의 그림은 Goldilocks Lite의 기본적인 운용구조를 도식화 한 그림입니다. Application들은 Library를 Link하여 Direct-Attached 방식으로 Shared memory의 데이터에 접근이 가능해집니다. 또한, 이러한 연산들은 Library를 통해 메모리에 로깅까지 수행이 됩니다. 데이터 처리를 위한 Daemon이 없지만 안정성이나 외부 연계등을 위한 프로세스들의 역할은 다음과 같습니다. Process Name Description dbmListener 원격지에서 접속하

GLOBAL CONNECTION [내부링크]

Global Connection은 App가 트랜잭션을 수행할 때 Locality 를 높히기 위한 방안으로 제공됩니다. Cluster를 구성하는 모든 노드에 연결을 맺은 후 App가 접근하는 레코드의 Master Server로 접근하거나 또는 여러 노드에 분산하여 성능을 높히는 기능을 제공합니다. Cluster내에는 Shard Table에 대한 Update-Master node가 존재합니다. 즉, 변경이 발생하면 Table의 Update-Master로 질의가 전송되어 수행된 결과를 다른 멤버들이 수신하여 이를 반영한 후 App로 응답이 갑니다. 따라서, Update-Master로 접속한 App가 아닐 경우 Update-Master로 전송하는 네트워크 비용이 추가로 발생합니다. 이러한 성능비용을 제거하기 위해 App단에서 모든 노드에 연결된 상태에서 Shard Key에 따라 적절한 Update-Master로 질의를 바로 전송하여 네트워크 비용을 감쇄시키는 방식이 Global Connec

1. Cyclone Concept [내부링크]

1-1. 개요 및 정의 데이터베이스 이중화 (replication)는 데이터를 효율적이고 일관되게 분배하여 원본 데이터베이스 (local database)에서 장애가 발생할 경우, 원격 데이터베이스 (remote database)를 사용하여 데이터를 복구하여 지속적으로 서비스를 유지할 수 있도록 한다. 또한 동일한 데이터를 가지는 여러 개의 데이터베이스를 구축하기 위해서도 이중화가 사용된다. GOLDILOCKS의 이중화는 Change Data Capture (CDC) 방식을 사용하는 툴인 CYCLONE을 지원한다. • Change Data Capture (CDC) - 데이터베이스 운영 중에 생성되는 리두 로그 (redo log)를 캡처하고 분석하여 이중화를 수행하는 방식이다. - 데이터베이스에 갱신된 내용이 redo log file에 저장되고 난 이후에 CYCLONE이 처리할 수 있기 때문에 비동기 (asynchronous) 방식만 지원한다. Cyclone 은 cyclone mast

Sharding Table [내부링크]

Sharding은 일종의 Partition과 유사합니다. 하지만 분명한 다름이 존재합니다. Partition은 동일한 저장소내에 분리하는 방식입니다. Sharding은 아예 물리적인 서버 자체를 분산시키는 개념입니다. 둘다 목적은 관리와 성능이 목적이죠. 판매테이블을 만든다면 이를 하나의 통 테이블로 만든다면 특정 조건의 데이터를 접근하기 위해 항상 모든 key를 검색해봐야겠지만 파티션으로 분리한다면 예를 들어, 년도를 기준으로 2020년, 2021년, 2022년 이렇게 분리한다면 조건에 따라서는 접근하는 비용이 상당히 줄어들게 됩니다. Sharding은 아래 그림과 같이 2020년은 G1에, 2021년은 G2에, 2022년 G3로 분리/배치하는 형태입니다. Partition과 다르게 분리적으로 분산되어 있다보니 처리량의 증가를 꾀할 수 있습니다. 아울러 Goldilocks Cluster는 데이터가 증가한다면 G4, G5, G6 와 같이 서버를 추가하면서 데이터를 더 세분화하여 분산

Cluster 간 데이터 동기화 [내부링크]

Goldilocks Cluster내의 그룹과 멤버라는 개념을 소개했었는데요. 그룹은 동일한 데이터를 가지고 있는 멤버들의 집합을 의미합니다. 그렇다면 그룹내의 데이터는 어떻게 동기화가 가능할까요? 위 그림은 Group#1에 2개의 Member#1, Member#2 가 구성된 그림입니다. Goldilocks Cluster내에는 그룹내에 1개의 Coordinator라는 개념의 역할을 담당하는 멤버가 존재합니다. 또한, Update-Master라는 개념도 존재하는데 이는 테이블을 생성할 때 그룹을 구성하는 멤버중 1개가 선정됩니다. Update-Master는 Cluster내에 먼저 참여한 멤버가 선정되며 이는 고정이지만 Coordinator는 멤버노드가 내려가거나 올라오면서 위치가 변경될 수 있습니다. Update-Master개념은 그룹내의 변경연산이 발생할 경우 처리되는 노드입니다. Coordinator개념은 Commit 처리에 대한 역할을 담당하는 노드입니다. 이는 다음과 같이 확인이