분류 전체보기 102

[PostgreSQL] PostgreSQL standby recovery script

// postgreSQL 이중화 도중 다운된 노드 recovery script (docker에서 사용 시) // get_primary_ip.sh (현재 동작하고 있는 primary의 ip를 가져오는 스크립트) # get_primary_ip.sh sudo -u postgres psql -p 54321 -t -A -F ' ' -n -c 'show pool_nodes;' | grep primary | awk '{print $2}' // create_recovery.sh (recovery.conf 를 찍어낼 스크립트) # create_recovery.sh HOST_ADDR=`sh /usr/pgsql-10/share/get_primary_ip.sh` echo -e "standby_mode=on primary_co..

PostgreSQL 2021.02.08

[Oracle] 커널 세마포어와 Oracle DB의 관계

// kernel Semaphore 파라미터 // 세마포어는 여러 프로세스가 공유 자원(메모리 같은?)를 사용하기위해 프로세스의 접근을 직렬화 시켜주는 수단. // 왼쪽 부터 SEMMSL, SEMMNS, SEMOPM, SEMMNI sysctl -a | grep kernel.sem kernel.sem = 250 32000 100 128 SEMMSL: 배열당 최대 세마포어 수 (max semaphores per array) SEMMNS: 시스템 전체 최대 세마포어 수 (max semaphores system wide) SEMOPM : 세마포어 호출당 최대 operation 수 (max ops per semop call) SEMMNI: 최대 배열 수(max number of arrays) // kernel s..

Oracle 2021.02.04

[PostgreSQL] PostgreSQL docker를 이용한 replication

// docker를 이용한 PostgreSQL replication // OS release : centos 7 (3.10.0-1127.el7.x86_64) // docker 설치 [root@test]$ yum install docker -y [root@test]$ systemctl enable docker [root@test]$ systemctl start docker // pgpool 설치 (failover 및 failback에 사용되는 패키지) [root@test]$ yum install -y https://www.pgpool.net/yum/rpms/4.2/redhat/rhel-7-x86_64/pgpool-II-pg10-4.2.1-1pgdg.rhel7.x86_64.rpm [root@test]$ yu..

PostgreSQL 2021.01.22

[Oracle] Oracle logminer (로그마이너)

// Oracle 로그마이너 SQL > @redo     GROUP# MEMBER                                                MB        SEQ STATUS ---------- --------------------------------------------- ---------- ---------- ----------------          1 +DATA/RMANDB/ONLINELOG/redo1_a.log                    50          4 CURRENT          1 +DATA/RMANDB/ONLINELOG/redo1_b.log                    50          4 CURRENT          2 +DA..

Oracle 2021.01.13

[PostgreSQL] PostgreSQL Parameter

PostgreSQL (v.10.15) 파라미터 # 통계 - track_activities (Default : on) 각 세션에서 현재 실행 중인 명령의 실행이 시작될 때 해당 명령에 대한 정보 수집을 활성화한다. 슈퍼유저 및 리포트되는 세션의 소유자에게만 표시됨. 슈퍼유저만 이 설정을 변경할 수 있다. - track_activity_query_size (Default : 1024) 각각의 활성 세션에 대해 현재 실행 중인 명령을 추적하기 위해 pg_stat_activity.query 필드에 예약된 바이트 수를 지정한다. 이 매개 변수는 서버 시작 시에만 설정 가능하다. - track_counts (Default : on) 데이터베이스 작업에 대한 통계 수집을 활성화한다. 슈퍼유저만 이 설정을 변경할 수 ..

PostgreSQL 2021.01.11

[DA/튜닝] PostgreSQL 튜닝 관련 Parameter

PostgreSQL (v.10.15) 파라미터 # 쿼리 플랜 방법 설정 변수 - enable_bitmapscan (Default : on) 쿼리 플래너의 bitmap-scan plan types 사용을 활성화 또는 비활성화한다. - enable_gathermerge (Default : on) 쿼리 플래너의 gather merge plan types 사용을 활성화 또는 비활성화한다. - enable_hashagg (Default : on) 쿼리 플래너의 hashed aggregation plan types 사용을 활성화 또는 비활성화한다. - enable_hashjoin (Default : on) 쿼리 플래너의 hash-join plan types 사용을 활성화 또는 비활성화한다. - enable_inde..

DA/튜닝 2021.01.08

[OS/Linux] watchdog & kworker 프로세스에 의해 CPU stuck 현상

watchdog이란? Watchdog이란 주어진 시간에 특정 일이 발생하는지 감시하는 기능입니다. 기본적인 기능은 일정한 시간을 설정해 놓고 그 시간을 감소시키면서 설정된 시간이 0이 되기 전까지 시간을 재설정을 하지 않으면 System Reset이 되는 것입니다. 그렇기 때문에 Watchdog 타이머 값을 계속 재설정 하는 것을 포함하여 정해진 시간내에 실행되는지 감사하는 기능입니다. 따라서 정상적인 동작을 하는 상황에서는 Watchdog은 발생하지 않으며 비정상적인 상황에서 Watchdog이 발생되는 것입니다. watchdog 비활성화 sysctl kernel.nmi_watchdog=0 # 아래 명령어를 통해 비활성화 상태 확인 cat /proc/sys/kernel/nmi_watchdog kworke..

OS/Linux 2020.12.24