전체 글

'DBA 업무'와 '알게되는 정보'를 기록하는 공간
기존에 MsSQL 은 윈도우 쪽에만 설치가 가능하였으나, 요즘에 Linux 에도 설치가 가능하도록 바뀌었습니다. Linux 에 설치하는 방법입니다. 1. curl 명령어를 사용하여 패키지를 다운로드 합니다.# curl https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo -o /etc/yum.repos.d/mssql-server-2017.repo % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 232 100 232 0 0 527 0 --:--:-- --:--:-- --:--:-- 527# curl ht..
GOLDILOCKS 의 모든 작업들은 메모리 상에서 진행되며, INSTANCE 크기는 프로퍼티 파일에 지정된 프로퍼티에 의해 결정됩니다. INSTANCE 는 SSA 영역과 TABLESPACE 영역으로 나뉘어집니다. SSA 는 Shared Memory Static Area 의 약자이며, 프로세스간 공용으로 사용되는 정보를 담고있습니다.TABLESPACE 는 한개 이상의 데이터파일들로 구성되어 있으며, 객체들을 저장합니다. PSA 는 Private Static Area 의 약자이며, 각 세션마다 독립적으로 사용하는 힙 메모리 영역입니다.PSA 는 INSTANCE 의 크기에 영향을 미치지 않습니다.
· Linux/개념
RemoveIPC사용자가 로그아웃을 하였을 때, System V 와 POSIX IPC 객체를 제거하는 리눅스 프로퍼티입니다. 기존 커널은 RemoveIPC 가 no 로 설정되어 있어 사용자가 로그아웃해도 제거되지 않았으나,centos 기준 커널 3.0 이상에서 기본 속성값이 yes 로 변경되면서, 문제가 발생되고 있습니다. 대표적인 예로 GOLDILOCKS 의 세션접속이 불가능 해집니다. RemoveIPC 를 no 로 설정하는 방법 1. /etc/systemd/logind.conf 파일을 편집기로 엽니다.2. RemoveIPC 값을 no 로 변경합니다.3. system 설정값을 재시작(적용) 합니다.# vi /etc/systemd/logind.conf [Login] ... RemoveIPC=no # sy..
GOLDILOCKS 는 Shared-Nothing 구조의 완벽한 Scale-Out 이 가능한 클러스터 데이터베이스 입니다. 각 Node 별 다수개의 Member 를 구성할 수 있으며,각 Node 의 Member 들 끼리는 동일한 데이터를 가지고 있습니다. GOLDILOCKS Cluster 는 cdispatcher, cserver 의 추가 프로세스를 가지고 있습니다.cdispatcher 는 멤버, 노드 간 효율적인 통신을 위한 프로세스입니다.cserver 는 멤버, 노드 간 데이터의 저장 및 관리를 위한 프로세스입니다.
GOLDILOCKS 는 세션접속을 위해 DA 모드, CS 모드 를 제공합니다. DA ( = Direct Access ) 모드는 세션이 GOLDILOCKS INSTANCE 의 공유메모리에 직접 접근하여 세션의 요청을 처리하는 방식입니다.CS ( = Client Server ) 모드는 세션이 GOLDILOCKS 에서 제공하는 gserver 프로세스와 TCP 통신을 통해 사용자의 요청을 처리하는 방식입니다. CS 모드는 다시 DEDICATED, SHARED 모드로 나뉘어집니다.DEDICATED 모드는 하나의 세션에 대해 하나의 gserver 프로세스가 구동되어 세션의 요청을 처리하는 방식입니다.SHARED 모드는 gdispatcher 와 gserver 프로세스가 항상 구동되어 있으며, 다수의 세션에 대응하여 ..
GOLDILOCKS 는 데이터베이스를 관리하기 위한 프로세스 gmaster 가 있습니다.gmaster 는 내부적으로 여러개의 쓰레드로 구성되어 있습니다. 명칭 ( 단어 뒤 Thread 생략 ) 설명 Main gmaster 프로세스를 구동/종료 Log Archiving Redo Log File 이 변경될 시, 이전 Redo Log File 을 지정된 위치로 복사 Ager DROP 된 객체들이 사용하고 있던 자원을 정리 Page Flusher Checkpoint 발생 시, Dirty 된 페이지들을 디스크로 저장하기 위하여 IO Slave 에 작업을 배분하고 제어 Log Flusher Redo Log Buffer 에 쌓인 데이터를 Redo Log File 에 주기적으로 저장 Checkpoint 메모리 상의 변..
쿼리에 힌트를 부여하기 위해서는 SELECT 와 컬럼 사이에 /*+ HINT */ 를 작성해야 합니다. GOLDILOCKS 힌트는 5가지로 구분됩니다.- Access Path Hints- Join Order Hints- Join Operation Hints- Query Transformation Hints- Other Hints 대분류 힌트명과 사용법 설명 Access Path FULL (table_name) 테이블을 전체 스캔 INDEX( table_name [ , ] [ index_name [ [ , ] index_name ] ] ) 기술한 테이블에 대한 인덱스 스캔 NO_INDEX( table_name [ , ] [ index_name [ [ , ] index_name ] ] ) 기술한 테이블에 대..
JOIN 은 두 테이블의 데이터들을 하나의 결과 데이터로 결합하는 과정을 말합니다. JOIN 의 처리과정은 Tree 형태로 표현됩니다.Tree 에서 왼쪽에 놓여진 테이블을 Outer Node, 오른쪽에 놓여진 테이블을 Inner Node 라고 불립니다.일반적으로 Outer Node 의 데이터를 읽어 Inner Node 에서 조건에 일치하는 데이터를 읽어와 결합하는 형태로 수행됩니다. JOIN 대상의 테이블이 3개 이상이 되는 경우, 2개의 테이블을 먼저 Join 한 후 그 결과를 나머지 테이블에 다시 Join 하는 형태로 수행됩니다.먼저 Join 된 결과가 Outer Node 쪽인 경우 Left Deep Join Tree 라 불리며, Inner Node 쪽인 경우 Right Deep Join Tree 라..
GOLDILOCKS 는 사용자의 SQL 구문에 대해 가장 효율적으로 처리할 수 있는 실행 계획을 찾는 모듈인 QUERY OPTIMIZER 를 제공합니다.QUERY OPTIMIZER 는 Access Paths, Join Methods, Query Transformations, 통계정보등을 이용하여 다양한 형태의 PLAN 의 비용을 계산(Cost-Based Optimizer)한 뒤, 가장 적은 비용을 갖는 PLAN 을 선택합니다. Access Paths, Join Methods, Query Transformations, 통계정보 에 대해서 알아보겠습니다. Query Transformations조건 구문을 View 로 Push 하는 기능 혹은 SubQuery 를 Join 형태로 변환하는 기능을 수행합니다.Qu..
GOLDILOCKS 함수 형태 - SINGLE ROW FUNCTION- AGGEREGATE FUNCTION SINGLE ROW FUNCTION SINGLE ROW FUNCTION 각 ROW 마다 하나의 결과를 생성하는 함수이며 아래와 같이 세분화 됩니다. - NUMERIC FUNCTION- CHARACTER STRING FUNCTION RETURNING CHARACTER VALUES- CHARACTER STRING FUNCTION RETURNING NUMBER VALUES- DATETIME FUNCTION- GENERAL COMPARISON FUNCTION- CONVERSION FUNCTION- CONDITIONAL FUNCTION- NULL-RELATED FUNCTION- ROWID-RELATED FU..
꽁담
꽁담