전체 글 96

[book] PostgreSQL 9.6 성능 이야기 - vacuum

postgresql 중 vacuum 이란 것에 대해서 정리 vaccum 이란 불필요한 데이터를 정리하고 압축해서 디스크공간의 효율성을 높인다오래된 트랜잭션을 정리하는 작업도 수행Multi-Version Concurrency Control = 동시에 여러 개의 데이터 버전을 제공할수 있는 기법오라클의 MVCC와 postgresql MVCC의 차이특성PostgreSQLOracleMVCC 구현 방식같은 row의 여러 버전이 테이블에 함께 저장됨Dead tuple은 vacuum으로 정리Undo 세그먼트에 이전 버전 저장자동으로 관리됨공간 관리vacuum 작업 필요관리자의 주기적인 관리 필요테이블 bloat 발생 가능Undo 세그먼트 자동 관리별도 관리 작업 불필요테이블 크기 안정적동시성 처리읽기 작업이 쓰기를 ..

oracle 유용 명령어

oerr ora 03113 oerr tns 93321 변경 이력을 찾는 쿼리 select versions_startscn st_scn, versions_endscn endscn, versions_xid txid, versions_operation opt , 회원 from 회원 versions between scn minvalue and maxvalue where tel = ‘11’; db_recovery_file_dest 와 관련해서 에러나면 해당 쿼리로 원인,권장사항 찾을 수 있음 select object_type, message_type, message_level, reason, sugeested_action from dba_outstanding_alterts;

카테고리 없음 2024.10.28

mysql 모니터링 관련

- mysql 관련해서 핵심 모니터링 지표를 제시한다 - 보통 쿼리 응답시간이나 cpu 또는 메모리 관련된 지표들을 확인해 볼 수 있다.    -- CPU 사용률이 높은 쿼리 확인SELECT DIGEST_TEXT, COUNT_STAR, SUM_TIMER_WAIT/1000000000 as exec_time_ms, SUM_CPU_TIME/1000000000 as cpu_time_msFROM performance_schema.events_statements_summary_by_digestWHERE SUM_CPU_TIME > 0ORDER BY SUM_CPU_TIME DESCLIMIT 10;-- 메모리 사용량 확인SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool..

Mysql & Maria/admin 2024.10.24

PostgreSQL architecture (shared Memory)

Shared Memory (공유 메모리) ㄴ 디스크 I/O를 최소화하기 위해 사용되는 메모리 공간ㄴ PAGE SIZE 8K(Default)이다. 파라미터는 shared_buffersㄴ oracle 의 SGA와 유사 shared buffer = data : page (block)단위로 구성이 되고 기본이 8k 크기oracle의 buffer cache 와 유사하고 postgresql.conf 의 shared_buffers 파라미터 값으로 크기 조정 가능기본이 128MB 1GB이상의 RAM이 있는 서버에는 25%를 권장한다. ( shared_buffers = RAM * 0.25 )4GB RAM: 1GB (25%)8GB RAM: 2GB (25%)16GB RAM: 4GB (25%)32GB RAM: 8GB (25%..

oracle linux 7 + oracle 19c rac+asm DB 설치 시나리오

삽질을 한 8번 가까이 해서 설치만 몇번을 했는지..ㅋㅋ 조만간 동영상 녹화로 설치영상 업로드할예정 설치사항- Oracle virtual box - Oracle linux 7.6- Oracle Grid 19.3- Oracle Database 19.3 오라클 리눅스 설치파일은 http://edelivery.oracle.com/ 에서 다운로드 받음Oracle Linux Release 7 Update 6 for x86 (64 bit)(V980739-01).iso 서버 구성VMHost NameMemoryNet Adapter 1Net Adapter 2구성 방법RAC1rac18GB어댑터에브리지호스트 전용 어댑터리눅스 설치RAC2rac28GB어댑터에브리지호스트 전용 어댑터RAC1 복제- net adapter 2 는 ..

오라클/설치 2024.10.15

percona toolkit 설치

기존 레포지토리 정리 및 재설치# 기존 percona 레포지토리 제거sudo rpm -e percona-release# yum 캐시 정리sudo yum clean all# percona 레포지토리 다시 설치sudo yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm Percona 레포지토리 활성화 확인 및 설정# 저장소 상태 확인sudo percona-release show# Percona Tools 저장소 활성화sudo percona-release enable-only tools release# yum 캐시 업데이트sudo yum clean allsudo yum makecache 레포지토리 설정 파일 확인# 레포지토..

Mysql & Maria/admin 2024.09.14

centos 7, mysql 5.7 설치

VMware에 5.7 mysql 설치 후 8.0 으로 upgrade 하는 시나리오에 대해 포스팅하려고한다 일단은 OS 설치는 되어있다고 전제하에 mysql 만 설치하는 걸로 - centOS- mysql 5.7 서버별 호스트 변경 hostnamectl set-hostname server1 1. GPG Key 다운로드## GPG Key 다운로드rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 2. wget 설치## wget 설치yum install -y wget 3. MySQL5.7 다운로드## MySQL5.7 다운로드wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 4..

Mysql & Maria/admin 2024.09.14

Optimizer_switch- Rowid 필터링 최적화

제한 - 파티션 테이블에서는 지원 불가- 기본값 on , 다이나믹 적용 가능,  글로벌, 세션레벨 적용가능 (optimizer_switch rowid_filter의 변수) - rowid 필터링은 desc 인덱스 스캔과 같이 사용할 수 없음 ( 옵티마이저가 order by ~ desc 쿼리를 실행하면 rowid 가 비활성화됨)  Rowid 필터링의 대상 사용 사례 테이블은 인덱스 IDX1에 대한 참조 액세스를 사용합니다. 다른 인덱스 IDX2에는 상당히 제한적인 범위 조건자가 있습니다.위의 경우 아래 방식으로 유리합니다.  인덱스 IDX2에 대해 인덱스 스캔을 수행하고, 인덱스 레코드의 rowid를 필터링할 수 있는 데이터 구조($FILTER라고 부르겠습니다)에 수집합니다. IDX1에 대해 ref 접근을 ..

Mysql & Maria/admin 2024.09.11

MySQL의 복제 지연을 줄이기 위한 전략

복제지연은 대량의 쓰기 작업이 발생했을 때 가장 많이 발생합니다. 덩치가 큰 테이블의 인덱스를 생성하거나 DDL작업이 발생할 때도 복제지연이 발생할 수 있습니다. 복제 지연에 영향을 주는 파라미터 값들MySQL의 InnoDB 스토리지 엔진은 디스크 I/O 작업을 관리하기 위해 다양한 파라미터를 제공하는데, 그 중 하나가 innodb_io_capacity입니다. 이 파라미터는 InnoDB가 내부 작업(특히 버퍼 풀에서 디스크로의 플러시 작업)을 처리할 때 사용할 수 있는 I/O 작업의 최대 수를 설정합니다. 이 설정은 복제지연(replication lag)에 직접적인 영향을 미칠 수 있습니다. 이번 포스트에서는 innodb_io_capacity가 복제지연에 미치는 영향을 살펴보겠습니다.innodb_io_c..

Mysql & Maria/admin 2024.08.27