본문 바로가기

공부 이야기

Oracle Update 처리 과정 및 성능 튜닝 1. 데이터가 변경되는 경우 undo log, redo log에 변경 사항을 각각 기록한다.2. 대용량 데이터를 변경하는 경우, undo space, tablespace, archive file이 full 차는 경우, data type이 맞지 않는 등의 이유로 장애가 발생할 수 있다.3. 수행 시간만큼 롤백에 소요되는 시간이 오래 걸릴 수 있고 데이터 정합성이 맞지 않는 심각한 오류가 발생할 수 있다.4. Update 처리 성능을 높이기 위해서 다음과 같은 방법이 있다.(1) 힌트 : /*+ enable_parallel_dml parallel(6) */  : 병렬 처리를 유도- 예시UPDATE /*+ enable_parallel_dml parallel(6) */ SALESSET SALARY.. 더보기
Active Data Guard, Change Data Capture, Extract Transform Load 세 개 전부 데이터 복제 및 이관을 위한 메커니즘Golden Gate : 서로 다른 종류의 데이터베이스 사이에서 데이터를 주고 받을 때Active Data Guard : 같은 종류 데이터베이스에서 데이터를 주고 받을 때- Disaster Recovery에서 사용 스토리지 복제 방식과는 다르게 변경 데이터가 기록되어 있는 Redo 파일에서 데이터를 읽어와서 복제ADG는 redo log file을 잠금하지 않고 read-only로 open해서 관리하기 때문에 효율적이다. Golden Gate는 Redo log file에서 데이터를 extract 해서 별도의 trail file을 만들어서 Target System에 전송Redo log file을 통채로 전송하는 ADG 방식과는 다르게 별도의 파.. 더보기
Oracle이 SQL을 처리하는 과정 시작은 서버 프로그램부터.1. Oracle 서버 메모리에 실행중인 Listener 프로세스가 connection을 accept 한다.2. MTS(connection pool 기반) 혹은 Dedicated Server에서 프로세스를 할당하고 SQL 구문을 처리3. 쿼리가 캐싱되어 있지 않은 경우 -> 4~6 실행4. SQL Parser가 Syntax를 해석5. Optimizer가 최적의 경로를 선택6. Executer가 선택한 경로에 의해 실행7. 데이터가 캐싱되어 있지 않은 경우, 디스크에서 데이터를 가져옴 * SQL Select 조회 순서 더보기
zookeeper 세팅 및 에러 모음 1. security group 확인하기2. myid 파일에 config 설정대로 숫자 적었는지 확인하기3. /data, /logs 파일 경로 제대로 설정했는지 확인하기 더보기
ubuntu 명령어 모음 - 호스트명 alias 주는 방법sudo hostnamectl set-hostname 호스트명: ip 주소가 호스트명으로 변경 - 다른 노드로 디렉토리/파일 복사하는 방법scp -r 옮길디렉토리명 디렉토리계정@노드명:원격지디렉토리명ex) scp -r ~/cluster/hadoop root@slave02:~/cluster: 현재 노드의 root > cluster 하위에 있는 hadoop 폴더를 slave02 노드의 cluster 경로에 복사: 계정을 확인하는 방법은 ls -al로 디렉토리를 조회하면 됨 더보기
Oracle Listener 1. 오라클 서버 메모리에는 Listener 프로세스가 있다.2. 사용자(서버 프로그램)로부터 connection accept 기능을 담당한다.3. 하나의 프로세스만 실행되며 connection만 담당하고 그 다음은 다음 두 프로세스가 담당한다.4. Dedicated Server : 각 connection별로 process가 할당되는 구조5. Multi-Thread Server : connection pool로 관리하는 구조6. 메모리 공간 효율성을 위해서 MTS가 사용됐지만 최근 들어서는 메모리 가격이 낮아지고 성능이 좋아져서 Dedicated Server를 사용한다고 한다.7. 데이터베이스만큼은 안정성을 추구해야하기 때문이다.8. MTS는 하나의 프로세스를 여럿이서 나눠 사용하는 구조인데.. 더보기
Oracle Redo, Undo log file 1. 데이터의 변경이 발생했을 때 변경 전의 데이터는 Undo log file, 변경 후의 데이터는 Redo log file에 저장한다.2. Undo log file은 rollback을 할 때 필요하고 Redo log file은 장애 복구시 데이터 영속성을 보장하기 위해 사용한다.3. Redo는 데이터의 변경이 발생할 때 LGWR 백그라운드 프로세서가 수행한다.4. 데이터 파일을 관리하는 DBWR 프로세서와는 별개로 동작한다.5. 서버 메모리에 있는 Redo log buffer에 데이터를 저장한 후, 디스크에 있는 Redo log file에 기록을 한다.6. Redo log file은 overwrite가 발생할 수 있다.7. 버전별로 기록하기 위해 Archive file이 있다. Archive.. 더보기
Oracle RAC(Oracle Real Application Clusters)에 대해 1. Cluster File System이라고 불리는 datafile, logfile (undo, redo)가 저장된 디스크 스토리지(Shared Storage)를 여러 대의 서버에서 함께 공유하는 구조2. 각 서버를 node라고 했을 때, node끼리 interconnect를 한다.3. 각 노드는 고유의 data buffer cache를 가지는데 interconnect를 하면서 cache data를 공유할 수 있고 이를 cache fusion이라고 부른다.* buffer cache : Disk I/O에서 가져온 데이터 중 일부를 서버 메모리에 올려놓는 것4. 사용자(서버 프로그램)에서 데이터를 fetch할 때, Disk I/O보다  interconnect를 이용해서 옆 노드의 buffer cac.. 더보기