본문 바로가기

RDBMS

(27)
[오라클] I/O SQL튜닝 방법 정리(2) direct path write direct path write 대기 이벤트는 세션 PGA(Program Global Area) 내부의 버퍼로부터 데이터파일로 기록할 때 발생됩니다. 세션은 다수의 direct write를 요청한 후 처리를 진행합니다. 세션이 I/O 처리가 완료되었다고 인지하는 시점에 direct path write 대기 이벤트를 대기합니다. direct path write 대기는 Direct load 작업이 발생함을 의미합니다. 이러한 작업이 요청될 경우 오라클은 SGA(System Global Area)를 경우하지 않고 데이터 파일에 직접 쓰기 작업을 수행합니다. 즉, DBWR(Database Writer) 프로세스에 의해 쓰기 작업이 이루어지는 것이 아니라 서버 프로세스에 의해 직접..
[오라클] SQL 튜닝 시작하기 SQL 튜닝은 "SQL + 튜닝"입니다. 즉, SQL 튜닝이란 튜닝 대상이 되는 SQL을 이해하고, SQL이 가진 정보(테이블/인덱스/컬럼의 정보 및 업무적 성격 등)를 치밀하게 분석하여 얻어지는 결과라고 생각합니다. SQL 튜닝을 시작하기 위해서는 SQL에 대한 이해가 선행되어야 한다고 생각합니다. 왜냐하면, SQL의 작성형태에 따라 다양한 성능 문제가 발생되기 때문입니다. SQL 튜닝의 시작은 SQL의 의미(작성 의도)를 제대로 파악하는 것입니다. SQL의 의미를 정확히 파악하지 못한다면, 원본 SQL에서 추출하고자 했던 결과 집합이 아닌 다른 집합을 추출하게 될지도 모릅니다. 이러한 개선안은 개선안이라고 할 수 없습니다. 즉, 원본 SQL의 작성 의도를 제대로 파악하지 않고, 단순히 I/O 발생량을..
[MySQL] MySQL 마이그레이션 MySQL 서버에서 다른 MySQL 서버로 전체 데이터베이스 중에 테이블 한개 도는 여러개를 복사하는 방법에 대해 기술해보겠습니다. 그 중 MySQL Workbench의 Migration Wizard 기능을 이용해서 서버간 데이터를 복사하는 방법입니다. MySQL Workbench의 Migration Wizard 기능을 이용하여 MySQL 서버간에 데이터를 복사하는 방법 혹은 MySQL Workbench의 Data Export와 Data Import(또는 커맨드라인에서 Data Export와 Data Import)를 사용하는 방법도 있습니다. 후자의 경우가 더 일반적입니다. 물론 속도의 차이가 있지만 편리함으로 다지자면 MySQL Workbench의 Migration Wizard 기능을 이용하는 것이 많..
[Oracle] Tablespace(테이블스페이스)란? 테이블을 저장하는 공간이란 의미도 틀린것은 아니지만 정확한 의미는 아닙니다. 오라클은 데이터베이스 관리 시스템이고 말 그대로 데이터들을 관리합니다. 즉 어딘가에 데이터들을 저장, 추출, 삭제, 변경하는 작업을 할 수 있는 것입니다. 그렇다면 데이터는 어디에 저장되는 것일까요? 물론 파일에 저장됩니다. 오라클 데이터베이스는 데이터 파일들을 가지고 있으며, 이 파일들에 데이터가 저장됩니다. 그런데 파일은 데이터가 저장되는 물리적인 공간을 말하는 것입니다. 오라클 내부에서는 데이터 블록(data block), 익스텐트(extent), 세그먼트(segment), 테이블스페이스(tablespace)라는 논리적인 개념으로 데이터 들을 관리합니다. 오라클에서 데이터를 저장하는 가장 최소의 논리적인 단위가 데이터 블록..
[데이터베이스] Database 네이밍 룰 Database Schema Name 1) 규칙- Database Profile 이름을 의미함- DB Alias 이름과 동일하게 함- 영문 대문자로 작성함- Database Short Name의 길이는 최대 8자리를 넘을 수 없음- Database Short Name은 각 Site의 Unique한 Name을 사용함 2) 표기 방식 예) TOURDB, ETKP, TKS... Table Name 1) 규칙- 테이블임을 표시하기 위해 테이블 명 뒤에 '_TB'라는 구분을 사용함- 테이블명은 대문자로 사용함- 시스템 구분 코드와 모듈구분코드로 업무 영역을 구분함- 의미있는 테이블명은 3단어까지 사용할 수 있음- 단어와 단어 사이는 '_'로 구성함- 각 단어는 최대 8자리까지 사용함- 구분명은 Table의 특성을..