반응형

전체 글 63

PMM 클라이언트 설치 방법

PMM 클라이언트 파일 다운로드 및 등록 방법 pmm clinet download 경로 https://www.percona.com/downloads pmm2-client-2.16.0.tar.gz ## MySQL서버 접속후 pmn유저로 OS 유저 생성 (유저명 : pmm) # pmm유저로 설치파일 서버에 업로드 pmm2-client-2.16.0.tar.gz # pmn유저로 압축해제 tar zxvf pmm2-client-2.16.0.tar.gz # pmm os유저의 PATH에 추가 # root 로 설치 할 경우 기본적으로 설치되는 경로가 존재한다. (/root 경로에 자동 설치됨) # root 유저가 아닌 pmm 유저(일반유저)의 경우 아래와 같이 profile 에 경로를 직접 잡아줘야한다. mkdir /h..

Percona/PMM 2023.09.07

Grafana Loki

Grafana 6.0 이상 버전에는 Grafana Loki에 대한 지원이 내장되어 있습니다. * LogQL 기능을 활용 하려면 Grafana 6.3 또는 최신 버전을 사용하십시오 . Grafana 인스턴스에 로그인합니다. Grafana를 처음 실행하는 경우 사용자 이름과 암호는 모두 기본적으로 admin. Grafana 에서 왼쪽 사이드바에 있는 톱니바퀴 아이콘을 통해 Configuration> 로 이동합니다.Data Sources 큰 + Add data source버튼을 클릭합니다. 목록에서 Loki를 선택합니다. http URL 필드는 Loki 서버의 주소여야 합니다. 예를 들어 로컬로 실행하거나 포트 매핑을 사용하는 Docker와 함께 실행하는 경우 주소는 http://localhost:3100. ..

Percona/Grafana 2023.08.18

Percona 설치 및 환경 구성

작업 구분 server / client 계정 작업 내용 / 명령어 비고 / 캡쳐 방화벽 오픈 - oracle linux용 yum, docker 등 필요 방화벽 오픈 방화벽 정보는 방화벽 워크시트 참조 docker 설치 centos / rhel docker.repo 다운로드 server root - centos일 경우 cd /etc/yum.repos.d wget https://download.docker.com/linux/centos/docker-ce.repo '- rhel일 경우 cd /etc/yum.repos.d wget https://download.docker.com/linux/rhel/docker-ce.repo repolist 확인 server root yum repolist all | grep ..

Percona 2023.08.18

INDEX RANGE SCAN 과 FULL TABLE SCAN

INDEX RANGE SCAN 과 FULL TABLE SCAN : FULL TABLE SCAN은 테이블의 블록들을 DB_FILE_MULTIBLOCK_READ_COUNT 파라메터에 지정된 개수 단위로 읽음 : INDEX RANGE SCAN은 블록 단위로 읽음 : 그렇다면 언제나 FULL TABLE SCAN이 유리한 것인가? 그렇지 않다. 예를 들어, DB_FILE_MULTIBLOCK_READ_COUNT가 16이라고 가정하고, 16개의 블록을 읽어야 한다면 INDEX SCAN과 같은 Single Block I/O는 총 16회, FULL TABLE SCAN과 같은 Multi Block I/O는 1회 소요 하지만, Single Block I/O의 1회당 소요 시간과 Multi Block I/O의 1회당 소요 시..

Oracle/튜닝 2022.02.16

클러스터링 팩터(CLUSTERING FACTOR)

클러스터링 팩터(CLUSTERING FACTOR) : 인덱스에 저장된 순서와 테이블에 저장된 데이터의 저장 순서가 얼마나 일치하는지를 나타내는 값 : 최대값은 인덱스에 저장된 항목의 개수 : 최소값은 테이블 블록의 개수 클러스터링 팩터가 좋은 경우 : 인덱스의 정렬 순서와 테이블에 저장된 행의 저장 순서가 일치하는 경우 클러스터링 팩터가 나쁜 경우 : 인덱스의 정렬 순서와 테이블에 저장된 행의 저장 순서가 일치되지 않는 경우 ex) 클러스터링 팩터가 좋은 경우, 읽게 되는 블록수 확인 CREATE TABLE CUST_GOOD_CF AS SELECT * FROM CUSTOMERS ORDER BY CNAME; CREATE INDEX CUST_GOOD_CF_IDX ON CUST_GOOD_CF(CNAME); S..

Oracle/튜닝 2022.02.16

INDEX 컬럼 가공

INDEX 컬럼 가공 : 인덱스가 정의된 컬럼을 가공하면 인덱스를 활용 할 수 없음 1. 명시적 형변환 : 사용자가 고의적으로 컬럼을 변형 2. 암시적 형변환 : 문자를 숫자나 날짜로 변환 [실습:명시적 형변환] SELECT /*+ gather_plan_statistics INDEX(products PRODUCTS_PRICE_IDX)*/ * FROM products WHERE price BETWEEN 3350 AND 4500; CREATE INDEX PRODUCTS_PRICE_IDX ON PRODUCTS(PRICE); SQL_ID 1q4y0g7cm79ph, child number 0 ------------------------------------- SELECT /*+ gather_plan_statist..

Oracle/튜닝 2022.02.11

INDEX RANGE SCAN(MIN/MAX)

INDEX RANGE SCAN(MIN/MAX) - RANGE SCAN 을 통해 MIN/MAX 값만 읽는 Operationn 해당 Operation 테스트를 위해 아래와 같이 결합인덱스를 생성한다. CREATE INDEX PRODUCTS_IDX ON PRODUCTS(PSIZE, PRICE); [결합 인덱스 구조] PSIZE, PRICE 컬럼 순으로 정렬되어 인덱스의 리프 블록에 저장된다. 리프 블록을 다음과 같이 간략하게 표시 : PSIZE, PRICE, ROWID 순으로 정렬 [인덱스 리프블록] PSIZE='XL'인 PRICE 최대값 PSIZE PRICE ROWID PSIZE PRICE ROWID PSIZE PRICE ROWID PSIZE PRICE ROWID 2XL 1200 3XL 1450 L 1160..

Oracle/튜닝 2022.02.11

INDEX RANGE SCAN DESCENDING

INDEX RANGE SCAN DESCENDING : INDEX RANGE SCAN에서는 조건절의 범위를 검색 할 때, 기본적으로 최소 경계값부터 검색을 시작하여 최대 경계값에서 검색을 종료 : 만약, 최대 경계값에서 검색을 시작하여 최소 경계값에서 검색을 종료해야하는 경우에 사용 [INDEX RANGE SCAN DESCENDING B-Tree 구조] [실습] SELECT /*+ INDEX_DESC(products products_price_idx) */ * FROM products WHERE price BETWEEN 3350 AND 4500; * 힌트 설명 1) INDEX_DESC : 인덱스를 내림차순으로 검색 2) INDEX_ASC, INDEX : 인덱스를 오름차순으로 검색 select * from ..

Oracle/튜닝 2022.02.10

INDEX RANGE SCAN

INDEX RANGE SCAN : INDEX UNIQUE SCAN을 제외한 모든 INDEX SCAN은 INDEX RANGE SCAN 이다. : 고유 인덱스가 정의된 컬럼이 조건절에서 '=' 비교 연산자를 제외한 모든 연산자로 비교되는 경우 : 비고유 인덱스가 정의된 컬럼이 조건절에 기술되는 경우 [INDEX RANGE SCAN B-Tree 구조] [실습] SELECT /*+ gather_plan_statistics */ * FROM products WHERE PRICE BETWEEN 3350 AND 4500; select * from table(dbms_xplan.display_cursor(null,null,'TYPICAL ALLSTATS LAST')); [PLAN] SQL_ID 8ssw9b2n9hmsx..

Oracle/튜닝 2022.02.10

INDEX UNIQUE SCAN

INDEX UNIQUE SCAN : 고유 인덱스가 정의된 컬럼이 조건절에서 '=' 로 비교되는 경우 그 외의 경우는 전부 INDEX RANGE SCAN 발생 [실습] SELECT /*+ gather_plan_statistics */ * FROM products WHERE prodno = 11000; -- PRODUCTS_PK : PRODNO select * from table(dbms_xplan.display_cursor(null,null,'TYPICAL ALLSTATS LAST')); [PLAN] SQL_ID g2gb0h3jzw95t, child number 0 ------------------------------------- SELECT /*+ gather_plan_statistics */ * FR..

Oracle/튜닝 2022.02.10
반응형