▶PG_DUMP 유틸리티 장점 : 특정 데이터베이스를 선택하여 백업 및 복구 할 수 있음, 테이블의 읽기 엑세스 권한 필요 ※ 데이터베이스 전체를 백업하는 경우 슈퍼유저(postgre)로 해야합니다. Dump는 SQL, File 형태로 백업 받을 수 있으며, PG_RESTORE 유틸리티를 이용하여 복원 가능. ▶ test data insert (kim사용자로 test 데이터베이스) postgres@jh-post002:/home/postgres# psql -h 192.168.1.11 -U kim -d test; test=> CREATE TABLE t AS SELECT gs as idx, '테스트 문자열' || gs AS test_string, md5(random()::text) AS random_strin..
▶ 데이터 입력 postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 | repmgr | repmgr | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 | template0 | postgres | UTF8 | ko_KR.UTF-8 | ko_KR.UTF-8 | =c/postgres + | | | | | postgres=CTc/post..
wal 아카이빙 장점 : 1. 백업 크기는 백업 빈도에 따라 선형적으로 증가하지 않음(각 WAL 파일이 정확히 16MB이지만 대부분 비어 있 는 경우 몇 KB로 압축할 수 있음). Postgres 문서에서는 1분에 한 번 빈도를 제안하여 백업을 훨씬 더 자주 수 행가능. 2. WAL 아카이빙은 특정 시점 복구 기능을 제공. 단점 : 1. WAL 아카이브에서 복구하는 것은 파일 시스템 백업에서 복구하는 것보다 느림. WAL 아카이브는 마지막 기 본 백업 이후로 가져와서 재생해야 하지만 파일 시스템 백업은 가장 최근 체크포인트에서 재생되는 즉시 실 행 할 준비됨(기본적으로 체크포인트는 최소 5분마다 수행되지만 발생할 수 있음. 트래픽이 많은 데이터베이 스에서 더 자주함) 2. WAL 파일은 제한된 간격으로만..
mysql에서 사용되는 성능관련 파라미터 요약 정리를 해보았습니다. ## System variables 동적으로 Set문을 사용하여 설정할 수 있는 파라미터 sort_buffer_size 파일 정렬 버퍼의 크기 제어함. 변수를 높게 설정하고 행 정렬이 필요한 여러 연결이 있는 경우 메모리가 많이 사용됨. 이 값을 너무 낮게 설정해도 디스크 다이브를 수행하여 데이터가 무작위로 검색되기 때문에 더 느릴 수 있음. 쿼리 수정하는 것이 가장 좋으며, Redis와 같은 쿼리 캐싱을 처리하는 도구를 사용하는 것이 효율적. mysql> show variables like 'sort_buffer_size'; +------------------+--------+ | Variable_name | Value | +-----..
안녕하세요 이번글에서는 mariadb에서 spider엔진을 이용하여 데이터노드에 데이터를 분산하여 입력하는 테스트를 해보겠습니다. 기존의 MySQL의 샤딩은 DB단에서 구현하지 않고, DB 앞단에서 구현을 합니다. Spider 엔진이란 Spider 스토리지 엔진은 샤딩 기능이 내장 된 스토리지 엔진입니다. 파티셔닝 및 xa 트랜잭션을 지원하며 다른 MariaDB 인스턴스의 테이블을 마치 동일한 인스턴스에있는 것처럼 처리 할 수 있습니다. Remote 테이블은 스파이더 엔진이 아닌 MariaDB가 지원하는 모든 스토리지 엔진을 사용할 수 있습니다. 스파이더 엔진을 통한 마스터 노드와 스파이더 노드들의 연결은 Local MariaDB 노드에서 Remote MariaDB노드로 연결설정을 통하여 완성됩니다 Ma..
현재 MHA구성으로 manager서버 / master(node1) / slave(node2) 구조입니다. 다운타임을 최소화하여 새로운 노드로 이관을 하며 기존 노드를 뺄 예정이기 때문에 new-node를 node2에 slave로 붙여 chain 구성 후 이관해볼 생각입니다. 전체 순서 new-node를 node2의 slave로 replication 구성 master 노드 제거 -> failover되며 node2가 master로 승격 mha manager에 new-node정보 추가 및 failover 스크립트 수정 mha 재시작 node2 제거 -> failover되며 new-node가 master로 승격 결과 확인 (new-node에 vip가 붙으며 role이 master이면 성공) 테스트 환경 host..
안녕하세요 이번글에서는 statspack report를 뽑은 txt파일을 보기 편하도록 그래프로 출력하여 분석하겠습니다. Report 출력 ■ statspack report 출력 SQL> @?/rdbms/admin/spreport ■ Git & Python install [root@localhost ~]# yum -y install git [root@localhost ~]# git clone https://github.com/ora600pl/statspack_scripts.git [root@localhost ~]# sudo yum install -y epel-release [root@localhost ~]# sudo yum install -y https://repo.ius.io/ius-release-el..
Statspack Job 스크립트 수정 및 생성에 이어 snapshot 관리 manual을 포스팅하도록 하겠습니다. 사전 구성 part1 URL : https://jhdatabase.tistory.com/48 [Oracle - Statspack manual / Job 생성] part 1 안녕하세요 이번글에서는 oracle db 성능 분석을 위해 라이센스가 standard edition인 고객사에서 AWR report 사용 불가로 statspack 사용하게되는데 snapshot 주기 및 설정 방법을 포스팅 하도록 하겠습니다. S jhdatabase.tistory.com Snapshot 삭제(delete) SQL> show user; USER is "PERFSTAT" SQL> @?/rdbms/admin/sp..
안녕하세요 이번글에서는 oracle db 성능 분석을 위해 라이센스가 standard edition인 고객사에서 AWR report 사용 불가로 statspack 사용하게되는데 snapshot 주기 및 설정 방법을 포스팅 하도록 하겠습니다. Statspack이란 Oracle DB내에서 특정 시간대의 데이터베이스에 대한 성능과 관련 데이터를 수집하여 database에 저장하여 두고 이로 부터 성능 분석 report를 생성해 내는 script들로 구성이 되어 있습니다. - 한 시점의 성능 data들은 snapshot이라고 불려집니다. - Statspack report는 두 시점의 snapshots들로부터 얻어집니다. 사전 확인 ## 추출한 Report에 시간 정보 추가 SQL> show parameter t..
oracle에 붙어있던 session을 kill했을때 상태가 killed로 남는 경우가 있습니다. -- session 종료 시, immedaite 옵션을 주지 않아 transaction 종료되었지만, session은 client에서 추가적인 action이 수행되지 않음 으로 STATUS가 KILLED로 남습니다. ■ session 확인 SQL> select username, sid, serial#, status from v$session where username='KIM'; USERNAME SID SERIAL# STATUS ------------------------------ ---------- ---------- -------- KIM 1531 63390 INACTIVE 정상적인 경우 ■ sessi..