local_dining
디비 카페 - 데이터 전문가로 가는 길 [ DEVCAFE.co.kr ]
오라클 DB
DBA 오브젝트 관리(테이블/컬럼/인덱스/뷰/....)
- 테이블/컬럼 CRUD
- 테이블 생성/변경/삭제
- 테이블 생성
- 파티션 테이블 CRUD
- UNUSABLE 파티션 테이블 입력 테스트
- 파티션 테이블의 파티션 범위 보기
- 일반 테이블을 파티션 테이블로 변경하기
- INSERT 테이블
- UPDATE 테이블
- ALTER 테이블/컬럼
- MERGE 테이블
- 전체 테이블 추출쿼리
- 오라클 DDL 생성 스트립트
- 테이블 생성일자 보기
- 테이블의 크기 및 블록 보기
- 테이블의 스키마 조회
- 사용자 테이블/컬럼 전체 조회 (html)
- 컬럼 추가/삭제/변경
- 컬럼 추가
- 컬럼 변경
- 컬럼 삭제
- PK/FK 제약조건(CONSTRAINT)
- PK 생성 과 삭제
- 테이블의 PK를 구성하는 컬럼 조회
- 제약조건(CONSTRAINT) 보기
- PRIMARY KEY 재생성 방법
- FK 인덱스
- FK 조회
- FK로 참조되는 테이블
- PRIMARY KEY를 REFERENCE 하는 FOREIGN KEY 찾기
- LOB (CLOB) 처리
- LOB 사이즈 조회
- LOB 테이블 컬럼 변경
- LOB 입력
- 기존 LOB을 SECUREFILE로 변환하기
- 인덱스
- 인덱스 생성
- 인덱스명 변경
- 인덱스 삭제
- 인덱스 추출쿼리
- INDEX 보기
- 전체 INDEX 보기
- 특정 테이블의 인덱스 확인
- 인덱스에 대한 컬럼 조회
- 중복인덱스 체크
- Index가 없는 Table 조회
- 파티션 테이블 로컬인덱스 생성
- 뷰(View)
- DBLINK
- 시퀀스(Sequence) 관리
- 시퀀스 생성
- 시퀀스 수정
- 트리거 CRUD
- 오라클 / Unix FAQ
SQL 명령어
- 효율적인 SQL 작성 방법
- 사용금지 및 제한 해야하는 SQL
데이터 추가/변경/병합
- INSERT
- UPDATE
- MERGE
데이터 삭제
- TRUNCATE
- 테이블 DROP 프로시져
문자열 변환
- TRANSLATE
계층 쿼리
- CONNECT BY
정규식 쿼리
- 오라클 정규식 사용법
- REGEXP_REPLACE
- REGEXP_SUBSTR
- REGEXP_LIKE
XML 쿼리
- 오라클 XML 쿼리(테이블 건수 빠르게 조회)
조인(join)
- NL 조인
- HASH 조인
- 실행계획 읽는 순서
- 조인시 성능 튜닝 요소
- LATERAL 조인(12C)
- CROSS APPLY Join
- OUTER APPLY Join
SQL 함수
함수
- LNNVL
- NVL 과 NVL2
- COALESCE
- CONCAT
- DISTINCT
- LISTAGG
- TRANSLATE
- XMLAGG
그룹 함수
- ROLLUP
- GROUPING SETS
- 피봇(PIVOT)
- 언피봇(UNPIVOT)
- OVER
- ROWS UNBOUNDED PRECEDING
- ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
- WINDOW 물리적 범위
- WINDOW 논리적 범위
- CUME_DIST
- DENSE_RANK
- FIRST_VALUE
- LAG
- LAST_VALUE
- LEAD
- NTH_VALUE
- NTILE
- PERCENT_RANK
- RANK
- ROW_NUMBER
- ROW_NUMBER vs. RANK
- COUNT
- SUM
- LAG 함수와 LEAD 함수
- 분석함수의 활용
- 1:M 관계의 조인에서 부모테이블이 기준집합
- 집계 연산
PL/SQL
- PL/SQL
- 프로시져 기본
- 문자열 함수
- PL/SQL
- 연산자
- 타입
- 함수/프로시져(Stored logic)
- 함수
- 프로시져
- 익명 블럭
- 파라미터 전달
- 테이블 함수
- 흐름제어 관리
- Conditional Operators
- Example
- If/then/else
- Arrays
함수/프로시져/트리거 오브젝트 추출 쿼리
- 함수 추출쿼리
- 프로시져 추출쿼리
- 트리거 추출쿼리
사용자 관리
- 사용자 생성/삭제 관리
- 사용자 롤 생성 / 관리
- 사용자 권한 관리
- 사용자 권한 관리 프로시져
- 사용자 패스워드 갱신
- 프로파일 관리
- 세션 사용자/프로그램 접속제어 트리거
오라클 ASM 관리
- ASM 관리
- ASM Disk 그룹 조회
- ASM Disk 조회
- ASM File 조회
- Disk 그룹/패스 조회
- 테이블 스페이스생성
- 테이블 스페이스 정보 조회 SQL
오라클 RAC 관리
- RAC 관리
- RAC 시작/종료
- RAC 리스너 관리
- RAC 아카이브모드 변경 절차
- RAC Wait Event
- RAC 체크 스크립트
파라미터 관리
- 오라클 파라미터
- 오라클 히든 파라미터
- 오라클 Language 설정
저장공간/용량 관리
- 테이블스페이스
- 테이블 스페이스
- 테이블 스페이스 CRUD
- 테이블스페이스별 파일 목록 보기
- 테이블스페이스별 정보 보기
- 테이블스페이스별 사용하는 파일의 크기 합 보기
- 테이블스페이스별 디스크 사용량 보기
- 테이블스페이스의 테이블 명 보기
- 공간의 90% 이상을 사용하고 있는 Tablespace
- Object별 테이블스페이스 및 데이터파일
- Tablespace별 Table, Index 개수
- 파일위치별 테이블스페이스
- 현재 Extension 횟수가 MaxExtents의 80% 이상인 경우
- 테이블의 익스텐트 정보 조회
- UNDO_REDO
- 템프 테이블스페이스
- 템프테이블
- LOGGING VS. NOLOOGING
DB 관리 SQL
- 트랜잭션(TRANSACTION)
- ROLLBACK SEGMENT의 사용상황 보기
- 작업 중인 데이터베이스 트랜잭션 조회
- 세션(SESSION)
- DBUser 별로 Session 정보를 조회
- Active Session 중 Idle Time이 긴 작업
- 1시간 이상 유휴 상태인 세션
- Session별 사용 명령어
- 해당 테이블의 세션을 제거하는 쿼리
- 사용자 session 중에서 2시간 이상 idle 상태가 지속되는 session을 kill
- 프로세스(PROCESS)
- Oracle Process의 정보
- 오브젝트에 접속되어 있는 프로그램 조회
- 연결되어 있는 OS 사용자 및 프로그램 조회
- 오브젝트 관리
- 딕셔너리/뷰 정보 조회
- 사용자별 오브젝트 수
- 상호 DB간에 컬럼 이름 비교
- 동일한 자료 삭제
- System 테이블스페이스에 비시스템 세그먼트 조회
- 인덱스의 Delete Space 조회
- 다중 UPDATE 쿼리
- VIEW
- View의 정의 내역 보기
- DBLINK
- DB Link 보기
- PL/SQL
- 패키지 검색 1 - 특정 오라클 사용자 중에서 패키지 소스와 일치하는 텍스트를 조회
- 특정 사용자의 패키지 내에서 주석처리가 되지 않은 항목을 조회
- 오라클 즉문즉답 FAQ
DB 모니터링 조회
- ORACLE 모니터링
- 주요 항목별 모니터링
- 세션 모니터링
- SQL 모니터링
- SQL 과 커서 모니터링
- 락 모니터링
- 프로세스 모니터링
- 부하 발생 모니터링
- I/O 부하 모니터링
- 테이블스페이스 모니터링
- CPU/메모리/사양 모니터링
- INDEX 정보 모니터링
- ASH를 이용한 모니터링
- AWR을 이용한 모니터링
- sqlplus 서버 콘솔용 모니터링
- 현재 세션 모니터링
- 현재 실행중인 SQL 조회
- SQL 실행 계획 확인
- [테이블스페이스 모니터링
- 템프 테이블스페이스 조회
- 롤백 세그먼트 조회
- 모니터링용 sql 반복 실행 쉘스크립트
- 락 조회
- LOCK 걸린 개체 확인 및 LOCK 해제
- 락 발생 사용자 및 OBJECT 조회 + 어떤 sql 를 실행중하여 lock 을 걸고 있는지 확인
- 락 트리 형태 로 보기
- 테이블 별 LOCK 확인
- Lock을 잡고있는 세션과 기다리는 세션 조회
- 작업 중인 데이터베이스 트랜잭션 조회
- 열려 있는 커서 조회
- 잠금 발생 유형 조회
- 잠금 상태 오브젝트 조회
- 잠금 SQL 구문 조회
- 해당 테이블의 세션을 제거하는 쿼리 KILL / DISCONNECT
- Blocking Lock Session 확인
- 세션(SESSION)
- DBUser 별로 Session 정보를 조회
- Active Session 중 Idle Time이 긴 작업
- 1시간 이상 유휴 상태인 세션
- Session별 사용 명령어
- 해당 테이블의 세션을 제거하는 쿼리
- 사용자 session 중에서 2시간 이상 idle 상태가 지속되는 session을 kill
- 프로세스(PROCESS)
- Oracle Process의 정보
- 오브젝트에 접속되어 있는 프로그램 조회
- 연결되어 있는 OS 사용자 및 프로그램 조회
- DB 부하 모니터링
- CPU를 많이 사용하는 세션의 식별
- 롤백 세그먼트 경합 조회
- Disk Read 가 많은 SQL문 찾기
- 오래도록 수행되는 Full Table Scan를 모니터링
- CPU를 많이 사용하는 세션의 식별(SQL TEXT 조회)
- 현재 세션에서 10초이상 걸리는 쿼리 조회 (SELECT절)
- 현재 세션에서 PGA, UGA, CPU 사용량 세션별로 조회하는 쿼리
- 병렬처리,5초이상 걸리는작업 조회
- Rollback Segment를 사용하고 있는 SQL문 조회
- 대기(WAIT) 이벤트
- Wait event 포퍼먼스 뷰
- Oracle Wait Event 모니터링
- Wait 이벤트 해결방안
- 사용자 작업 정보 추적
- 오브젝트 DDL 트리거
- 오브젝트 CRUD 추적(로그마이너)
ORACLE 아키텍처
- 오라클 아키텍처
- 데이터베이스
- 클라이언트 어플리케이션
- 서버 프로세스
- 데이터 파일
- 리두 로그(REDO)
- 서버파라미터
- 컨트롤 파일
- 메모리관리
- 메모리 관리방식
- 백그라운드 프로세스
- 로그파일
- 데이터 딕셔너리 뷰
- 스키마 오브젝트 와 데이터 저장방식
- 테이블
- 테이블 UPDATE 처리과정
- 데이터 타입
- 인덱스 구조
- 작업 스케쥴링
- 리스너 관리
ORACLE 프로시져/패키지/함수 개발
- 패키지
- 프로시져
- 프로시져 샘플
- ORACLE 프로시져
- ORACLE 프로시져 추출쿼리
- 오라클 프로시져 함수 목록
- 오라클 테이블 복사 프로시져
- 오라클 FK 생성 프로시져
- 함수
오라클 튜닝
- 조인별 튜닝
- NL 조인
- 서브쿼리 튜닝
- JPPD (Join Predicate PushDown)
- NL조인 PREFETCH
- NL조인 Batching
- AWR(Automatic Workload Repository)
- AWR 관련 뷰
- 일별 성능문제 SQL 목록
- ASH(Active Session History)
- TOP 이벤트
- TOP SQL
- TOP 세션
- IO가 많이 사용하는 쿼리
- 튜닝대상 모니터링
- CPU를 많이 사용하는 세션의 식별
- Disk Read 가 많은 SQL문 찾기
- Rollback Segment를 사용하고 있는 SQL문 조회
- 오래도록 수행되는 Full Table Scan를 모니터링
- CPU를 많이 사용하는 세션의 식별(SQL TEXT 조회)
- 현재 세션에서 10초이상 걸리는 쿼리 조회 (SELECT절)
- 현재 세션에서 PGA, UGA, CPU 사용량 세션별로 조회하는 쿼리
- 병렬처리,5초이상 IO발생쿼리 모니터링
- 오라클 통계정보
- 오라클 히스토그램
- 오라클 바인드피크
- SPM(SQL Plan Management)
- 오라클 플랜 정보
- SQL PLAN 확인
- 인덱스 생성시 플랜 확인
- 오라클 플랜 수집 프로그램
- 병렬 튜닝 방법
- 오라클 튜닝 어드바이져
데이터 이관/전환
- 데이터펌프(DataPump) 사용법
- Oracle 데이터펌프
- DATAPUMP IMPORT API
- DATAPUMP EXPORT API
- 파일 복사
- DB LINK를 이용한 파일 복사
오라클 추천 도서
- 데이터 모델링
- 김기창의 데이터 모델링 강의
- 성능 튜닝
- 오라클 성능 고도화 원리와 해법 1
- 오라클 성능 고도화 원리와 해법 2
- 비용기반의 오라클 원리
- Optimizing oracle optimizer
- 성능 진단/트러블 슈팅
- 오라클 성능 트러블슈팅의 기초
- 전문가를 위한 트러블슈팅 오라클 퍼포먼스
- 백업/복구
- 원리부터 실전까지 오라클 백업과 복구(실전)
- DBA 운영
- 오라클 코어
- 오라클 관리 실무
오라클 툴
SQL PLUS
- SQL PLUS 사용법
토드
- 토드 &문자 이스케이프 처리
- 토드 단축키
- 토드 멀티바이트 에러 조치
- 토드 사용자 단축키
오렌지
- 오렌지 툴 사용법
- 오렌지 단축키
DB 프로젝트 방법론
DBA
- DB구축
- SGA/PGA 설정
- 히든 파라미터
- 파라메터 설정
- 오라클 11g 파라미터(aws)
- 오라클 12c 파라미터(aws)
- 오라클 초기화 파라미터
- 오라클 12C 파라미터(권고)
- 테이블스페이스 용량 조회
- 테이블스페이스별 오브젝트 사이즈
- 테이블스페이스별 사용현황
- 템프 테이블스페이스 사용률 조회
- 오브젝트(테이블,인덱스,시노님,뷰..) 생성/관리
- 오라클 DDL 생성/감시
- 테이블 관리
- 테이블 변경 신청서 양식
- 인덱스 관리
- 인덱스 신청서 양식
- 시노님 관리
- 시노님 신청서 양식
- 권한 관리
- 권한 신청서 양식
- 시퀀스 관리
- 프로시져/함수 관리
- 개인정보 암호화/마스킹 처리
- 모니터링(락,세션,부하)
- ORACLE 락 확인/처리
- ORACLE 모니터링
- 스케줄 관리
- 오라클 스케줄러
- 데이터 이관
- 오라클 데이터펌프(impdp/expdp) 작업절차
- Oracle 데이터펌프
- 백업/복구
- 장애 복구 방안
- 장애 유형별 복구 절차
- 오라클 rman 복구
- 오라클 rman 복구 시나리오
- 오라클 데이터 복구
- 오라클 복구 RMAN 무정지 복구
- 산출물 작성
- 데이터베이스 설계서
- 데이터베이스 사용 설명서
- 테이블 변경 신청서
DB 모델링/DA
- 모델링 요구사항 분석 방법
- 모델링 정보 요구 검증 방법
- 개념 데이터 모델링
- 논리 데이터 모델링
- 표준 모델링 작성 가이드
- 메타웍스(MetaWork) 엔터티
- ERD 사용법
- ERWIN 사용팁
- Erwin 컬럼순서 논리/물리 일치 방법
- Erwin SQL 생성스크립트
- Erwin 테이블 Forward 설정
- AM PRO 사용법
DB 튜닝
- 퍼포먼스란 ?
- 오라클 퍼포먼스 튜닝
- 서버 튜닝 대상
- SGA/PGA 튜닝
- 파라미터 튜닝
- 파라미터 란?
- 오라클 바인드피크
- 오라클 12C 파라미터(권고)
- 주요파라미터 확인
- 오라클 12c 히든 파라미터
- 로그버퍼 튜닝
- Library cache 튜닝
- Lock 튜닝
- 네트워크 성능 튜닝
- 테이블 하이워터마크 조회/조치
- Shrink 세그먼트
- SQL 튜닝 대상
- 오라클 힌트 전체
- 인덱스
- RANGE SCAN
- 클러스터링 팩터
- 엑세스 VS 필터 조건
- 인덱스 콤비네이션
- 인덱스 조인
- 인덱스 콤바인
- 인덱스 필터링
- 조인
- NL 조인
- HASH 조인
- JPPD
- 조인순서의 중요성
- 서브쿼리
- 부분처리
- 중복데이터 반복 처리
- 실행 계획 분리
- PGA 튜닝
- 기타 응용 튜닝
- 하드파싱(leteral,리터럴) 찾기
- CPU를 과다사용 세션 조회
- 대량 Disk Read SQL 조회
- 오래수행되는 FULL SCAN TABLE
- CPU 과다사용 SQL 조회
- 현재 세션에서 10초이상 SQL
- 현재세션에서 PGA,UGA,CPU사용조회
- 병렬처리,5초이상 IO발생쿼리 모니터링
- 총 CPU Time 대비 SQL Parsing Time
- 롤백 세그먼트 경합 조회
- Buffer Cache Hit Ratio
- Library Cache Hit Rati
- Data Dictionary Cache Hit Ratio
- Log file sync 대기 조회
- 다이니믹 SQL 바인드 변수 처리
- SQL PLAN 사용법
- XPLAN
- XPLAN#DBMS_XPLAN.DISPLAY_CURSOR
- 플랜조회시 유저변경 SQL
- 오라클 SQL 수집 프로그램
- 오라클 플랜수집 / 성능 진단 프로그램
- v$sql_plan이용 플랜 보기
- 튜닝대상 테이블 실제 건수 조회
- AWR 이용 튜닝
- ORACLE_모니터링#AWR을 이용한 literal SQL 추출 방법
- ORACLE_모니터링#AWR SQL ordered BY Elapsed Time
- ORACLE_모니터링#AWR SQL ordered BY CPU Time
- ORACLE_모니터링#AWR SQL ordered BY USER I/O Wait Time
- ORACLE_모니터링#AWR SQL ordered BY Gets
- ORACLE_모니터링#AWR SQL ordered BY READS
- ORACLE_모니터링#AWR SQL ordered BY Sharable Memory
- ORACLE_모니터링#AWR SQL ordered BY VERSION COUNT
- ASH 이용 튜닝
- AWR을 이용한 모니터링
- 특정 Session이 가장 많이 수행 된 SQL과 수행 점유율(수행 횟수)
- 특정 구간 이벤트 별 대기 시간
- 특정 구간 CPU 점유율 순 - TOP SQL
- 특정 구간 CPU 점유율 순 - TOP SESSION
- 특정시간대 수행이력
- 튜닝 관련 뷰
- 오라클 통계정보
- 오라클 히스토그램
- 엑세스 VS FILTER 비교
- ORACLE_모니터링#중복 인덱스 찾기
- 튜닝 사례
- 뷰머징 - push predicate
DB 진단
- 파라미터 진단
- 디스크 진단
- 네트워크 진단
- SQL 진단
- WAIT EVENT 진단
- Wait event
- ALERT LOG 진단
- 오라클 alert log
데이터 전환 이행
- 전환 전략 수립 #
- 데이터 이행 DDL 작업절차
- 데이터 전환 시나리오
데이터 품질(DQ) 진단
- 컬럼속성 불일치 분석현황
- 행정표준용어사용현황
- 행정표준코드사용
- 표준도메인준수
- 표준용어준수
- 미사용테이블현황
- 미사용컬럼현황
- 중복테이블현황
- 기본키미정의테이블현황
- 값진단_코드도메인
- DQ_도메인별_리포트_출력
- PDQ_05_C_진단대상_테이블컬럼정보
- P_DIAG_COLUMN_CODE
- P_DIAG_COLUMN_DTM
- P_DIAG_COLUMN_EAN
- P_DIAG_COLUMN_MONEY
- P_DIAG_COLUMN_NAME
- P_DIAG_COLUMN_NNULL
- P_DIAG_COLUMN_NUMBER
- P_DIAG_COLUMN_PATTERN
- P_DIAG_COLUMN_RATIO
- P_DIAG_COLUMN_YN
- P_DIAG_COLUMN_YYYYMM
- P_DIAG_COLUMN_YYYYMMDD
- P_DIAG_PROC_LOG
- P_TABLE_ROWS
- P_UNUSED_COLUMNS_CALL_NEW
- P_UNUSED_COLUMNS_NEW
- WAA_COL_TOT
- WDQ_HAN_CHK
- 표준코드_사전
- 한글값진단
데이터 웨어하우스/DW
튜닝
조인
조인 개념 이해
- NL 조인
- HASH 조인
- SORT MERGE 조인
조인별 튜닝 방법
- 조인별 튜닝 포인트
- NL조인 Prefetch
- NL조인 Batching
- 서브쿼리 튜닝
- 스칼라 서브쿼리 조인의 장단점
- 필터 오퍼레이션 No_unnest
- FILTER 서브쿼리 튜닝
- 서브쿼리 Unnesting
- 서브쿼리 Pushing
- 뷰와 조인
- 조인조건 Pushdown
- Lateral 조인
- Lateral 조인 상세히 보기
- Lateral Outer 조인
- Outer Apply 조인
- Cross Apply 조
- 조인 순서 테스트
- 조인 순서 제어하기
실행계획
- ALL_ROWS
- AND_EQUAL
- APPEND
- CACHE
- CHOOSE
- CLUSTER
- CURSOR_SHARING_EXACT
- DRIVING_SITE
- DYNAMIC_SAMPLING
- EXPAND_GSET_TO_UNION
- FIRST_ROWS
- FULL
- HASH
- HASH_AJ
- INDEX
- INDEX_ASC
- INDEX_COMBINE
- INDEX_DESC
- INDEX_FFS
- INDEX_JOIN
- INDEX_SS
- INDEX_SS_ASC
- INDEX_SS_DESC
- LEADING_HINT
- MERGE
- MERGE_AJ
- MERGE_SJ
- NL_AJ
- NL_SJ
- NOAPPEND
- NOCACHE
- NO_FACT
- NO_INDEX
- NO_MERGE
- NOPARALLEL
- NOPARALLEL_INDEX
- NO_PUSH_PRED
- NO_PUSH_SUBQ
- NO_QUERY_TRANSFORMATION
- NO_REWRITE
- ORDERED
- ORDERED_PREDICATE
- OPT_PARAM
- PARALLEL
- PARALLEL_INDEX
- PQ_DISTRIBUTE
- PUSH_PRED
- PUSH_SUBQ
- PULL_PRED
- REWRITE
- ROW_ID
- RULE
- UNNEST
- NO_UNNEST
- USE_CONCAT
- NO_EXPAND
- USE_HASH
- USE_MERGE
- USE_NL
병렬 쿼리 튜닝
- 병렬 쿼리 튜닝
- 병렬 쿼리 모니터링
인덱스 튜닝
- JPPD (Join Predicate PushDown)
- EARLIER Filter 서브쿼리(NO_UNNEST + PUSH_SUBQ)
- 서브쿼리 Unnesting
- 뷰 머징
SQL 튜닝 노하우
- Library cache 튜닝
- 분석 함수 튜닝
- 튜닝 쿼리 변형
- DBLINK 튜닝
OS/유틸
UNIX/LINUX
유닉스 쉘
- 유닉스 쉘 기본
- awk 명령어
- sed 명령어
우분투
- 우분투_업데이트
- DISPLAY_변수
- HOSTNAME_변수
- 1일이상 파일삭제
윈도우
윈도우 단축키
https://blogs.technet.microsoft.com/koreapartner/2009/03/15/windows-7-6/
크롤링
셀레니엄
<headertabs />