본문 바로가기

전체 글

(88)
Oracle RDS Redo Log 관리 -- Redo Log Size 조회 (MB 단위) SELECT GROUP#, BYTES/1024/1024, STATUS FROM V$LOG; -- Redo Log 생성 (크기 byte 단위, 여기선 1GB) begin rdsadmin.rdsadmin_util.add_logfile(bytes => 1073741824); rdsadmin.rdsadmin_util.add_logfile(bytes => 1073741824); rdsadmin.rdsadmin_util.add_logfile(bytes => 1073741824); rdsadmin.rdsadmin_util.add_logfile(bytes => 1073741824); rdsadmin.rdsadmin_util.add_logfile(bytes => 1073..
Oracle RDS File Download Query -- 디렉토리 생성 BEGIN rdsadmin.rdsadmin_util.create_directory(p_directory_name=> 'dir_migration_s3'); END; / -- S3로 부터 파일 다운로드 SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3( p_bucket_name => '버킷 명', p_s3_prefix => '경로/파일명', p_directory_name => 'DIR_MIGRATION_S3') AS TASK_ID FROM DUAL; -- 다운로드 결과 조회 SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1633604568760-2543.lo..
오라클 Object 확인 쿼리 SELECT Owner, SUM("Tab") AS Tab, SUM("Ind") AS Ind, SUM("Syn") AS Syn, SUM("Seq") AS Seq, SUM("View") AS "View", SUM("Pkg") AS Pkg, SUM("Pkg Bds") AS "Pkg-BDs", SUM("Pro") AS "Proc", SUM("Fun") AS "Func", SUM("Trg") AS "Trg", SUM("Type") AS "Type", SUM("LOB") AS "LOB", SUM("DBLK") AS "DBLK" FROM ( SELECT Owner, COUNT(*) AS "Tab", 0 AS "Ind", 0 AS "Syn", 0 AS "Seq", 0 AS "View", 0 AS "Pkg", 0 AS ..
PostgreSQL slow query – Cloudwatch 연동 RDS의 데이터베이스 옵션에서 Cloudwatch Logs로 보낼 수 있도록 설정.
Elastic Search - Cloudwatch 연동 연동을 위한 Elasticsearch 도메인 생성 AWS Console에서 ElasticSearch Service에 접속 후 도메인 생성 IP로 접근 하기 위한 퍼블릭 액세스 설정 및 접근 허용 생성 후 로드가 되고 난 후의 Elasticsearch의 모습 엔드포인트 및 Kibana 연동도 자동으로 되는 것을 알 수 있다. 지난 번 생성한 로그 그룹에서 Elasticsearch 구독 필터 생성 로그 그룹 → 우측 상단 작업 → 구독 필터 → Elasticsearch 구독 필터 생성 설정을 완료한 후 구독 필터가 생성된 모습 생성된 스트림을 Lambda에서 확인할 수 있다. 가서 소스 코드 변경. 소스 코드는 아래와 같이 입력한다. 아래 소스는 node.js 기반으로 log 및 slowquery을 추출해주..
PostgreSQL – Grafana 연동 설치하기 전 git, make, go 패키지 설치 # yum install git # yum install make # yum install go git에서 postgres_exporter 가져옴 # git clone https://github.com/prometheus-community/postgres_exporter.git 폴더로 이동 후 빌드 # cd postgres_exporter # make build 데이터 소스 환경 변수 설정 및 실행 # export DATA_SOURCE_NAME=postgresql://어드민계정:어드민비밀번호@RDS_ENDPOINT:5432/접속DB?sslmode=disable # . /postgres_exporter Prometheus에 pgexporter Job 등록 ..
Grafana & Prometheus (그라파나, 프로메테우스) Grafana 시계열 매트릭 데이터를 시각화 하는데 가장 최적화된 대시보드를 제공해주는 오픈소스 툴킷이다. 다양한 DB를 연결하여 DB의 데이터를 가져와 시각화 할 수 있다. 그래프를 그리는 방법도 간단히 마우스 클릭으로 완료할 수 있다. 시계열 매트릭 데이터 수집에 강한 모습을 보이는 만큼, 활용하는 부분도 서버 리소스의 매트릭 정보나 로그 같은 데이터를 시각화는 데 많이 사용한다. 시각화한 그래프에서 특정 수치 이상으로 값이 치솟을 때(예를 들어 CPU 사용량 80% 이상) 알림을 전달받을 수 있는 기능도 제공한다. 이러한 기능은 인프라 운영 관점에서 굉장히 중요한 기능이라고 할 수 있다. 그리고 오픈소스 툴킷인 만큼, 커뮤니티도 많이 활성화 되어있는데, 일반 사용자들이 만들어놓은 대시보드를 impo..
PostgreSQL 파티션 PostgreSQL 파티션 ▪ 상속 (Inherits)을 이용해서 파티션을 구현함 ▪ 인덱스 정보는 상속되지 않음 ▪ Trigger를 이용해서 파티션 Pruning을 처리함 ▪ 파티션 생성 시에 CHECK 조건을 이용함 ▪ Range, List 파티션을 제공함 ▪ Global Index는 제공하지 않음 ▪ 입력 조건에 맞는 파티션만 액세스하는 것을 ‘파티션 Pruning’이라고 한다. ▪ 이를 위해서는 constraint_exclusion 파라미터를 ‘on’ 또는 ‘partition’으로 설정해야 한다. (기본 설정값: partition) ▪ CHECK 조건을 입력하면 정상적으로 파티션 Pruning이 수행된다. 서브 파티션을 이용한 튜닝 방안 ▪ 1차 파티션을 통해 IO 범위를 줄인 후에도 여전히 IO..