DBA

개인 학습, 작업 기록용입니다. 올바르지 않은 정보가 있다면 댓글주시면 감사하겠습니다!

2025/02 7

[ORACLE] aws RDS Private DB 인스턴스 SQL*PLUS 연결 접속

Private subnet에 있는 rds에 접근 위해서는 같은 VPC내 퍼블릭망에 속한 ec2 서버 사용하여 연결. 해당 ec2 서버에 oracle client와 sql*plus를 설치하여 rds에 대한 sqlplus사용가능하다. ec2 : amazon linux --오라클 웹 브라우저에서 oracle-instantclient-basic / oracle-instantclient-sqlplus 버전과 OS에 맞게 URL복사https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html 1. EC2 인스턴스 소프트웨어 업데이트 $ sudo dnf update -y 2. 오라클 client, sqlplus .r..

DATABASE/Oracle 2025.02.14

[SQLP] SQL 분석도구

제 1절 예상 실행계획1. ORACLE가) Explain PlanSQL 수행 전 예상 실행 계획 확인10g 이전에는 plan_table 생성utlxpls.sql 또는 utlxplp.sql 오라클 제공 스크립트 사용explain plan for select ~ 나) AutoTraceset autotrace on : SQL을 실제 수행하고 그 결과와 함께 실행계획 및 실행통계를 출력한다.set autotrace on explain : SQL을 실제 수행하고 그 결과와 함께 실행계획을 출력한다.set autotrace on statistics : SQL을 실제 수행하고 그 결과와 함께 실행통계를 출력한다.set autotrace traceonly : SQL을 실제 수행하지만 그 결과는 출력하지 않고 실행계획과..

자격증/SQLP 2025.02.13

[MariaDB] binlog_format 에 따른 Binlog 확인하기

root@ip-1:/var/lib/mysql# pwd/var/lib/mysqlroot@ip-1:/var/lib/mysql# mysqlbinlog mysql-bin.000003 >> mariadb_query_log.txtroot@ip-1:/var/lib/mysql# cat mariadb_query_log.txt mysqlbinlog 사용하여 binlog파일을 txt 파일로 복제한다. 텍스트 파일로 빈로그 확인가능! test : mariadb 복제 환경에서 master에서 실행한 쿼리를 slave에서 어떻게 수행하는지 binlog로 확인        테이블은 int 컬럼하나있는 48건 데이터  binlog_format : Binlog를 저장하는 format 형식 지정, global, 세션마다 설정 가능  1..

카테고리 없음 2025.02.12

[SQLP] Hash Join 정리

해시 조인 해시 조인은 둘 중 작은 집합(Build input)을 읽어 Hash Area에 해시 테이블을 생성하고, 반대쪽 큰 집합(Probe input)을 읽어 해시 테이블을 담색하면서 조인하는 방식으로 소트머지조인과 NL조인이 효과적이지 못할 때 사용 1.    기본 메커니즘1) Build 단계 : 작은 쪽 테이블(Build Input)을 읽어 해시테이블(해시맵) 생성2) Probe 단계 : 큰 쪽 테이블(Probe Input)을 읽어 해시맵을 탐색하면서 조인 2.    플랜 읽는 법 3.    Hash 조인의 Build INPUT 처리1)    2개의 테이블 조인에서는 leading이나 ordered 힌트에 의해 먼저 읽는 첫번째 테이블이 BUILD input2)    Swap_join_inputs..

자격증/SQLP 2025.02.12

[SQLP] SQL 트레이스 CALL 통계 결과 분석( 핵심노트)

SQLP 핵심노트 2권 실전모의고사2 29번   1) 버퍼캐시히트율 = ( 1 - (disk / (query+current) )) * 100                      = ( 1 - (10000/(100000+0))) *100                                           =  90 % 2) 한번 실행할 때 평균 100건 출력      = rows / execute count  3) 한 번 Fecth 할 때 평균 100개 블록 읽음      = query / fetch count  4) Array(=fetch) size = rows / fetch count = 50000/1000 = 50 건씩 출력  5) SQL에 바인드변수 사용 유무 알 수 없음. ( 상수사용해도..

자격증/SQLP 2025.02.12

[SQLD] 오라클 정규표현식

sqlp 공부하다 2과목에서 헷갈려서 정리SELECT --regexp_substr(대상문자열, 정규식패턴, [문자열 시작위치],[패턴 일치 순번]) /* 뮨자열 찾기 */ REGEXP_SUBSTR('oracle database', 'oracle') AS reg1 , REGEXP_SUBSTR('oracle database', 'database') AS reg2 , REGEXP_SUBSTR('oracle database', 'sql') AS reg3 /*. 임의의 한문자 (.. 2개의 문자) */ , REGEXP_SUBSTR('oracle database', '.') AS reg4 , REGEXP_SUBSTR('oracle d..

자격증/SQLP 2025.02.10