시나리오 : 엔진이 설치된 서버에 다수의 데이터베이스를 수동으로 생성하여 EM 을 실행한다. 작업시 주의 사항 : ORACLE_SID 는 .bash_profile 에서 넣지 않고 작업 할때 export 명령을 이용하여 ORACLE_SID 으로 설정한다. 폴더 구조는 다음과 같다. /home/oracle/ - db1/ - db2/ - db3/ 기본 환경 ORACLE SID : testdb1 database directory : /home/oracle/db1 ORACLE SID : testdb2 database directory : /home/oracle/db2 ORACLE SID : testdb2 database directory : /home/oracle/db3 작업 순서 1. OS 설치 2. OS 패치..
기본 설치 정보 설치과정 1. init.ora 파일으로 PFILE 생성 2. 데이터파일 디렉토리 생성 (oracle) 3. 수동 Database 생성 4. 스크립트 수행 (카탈로그 DB 생성 및 프로시저 생성) 5. DB 정보 확인 기본 설치 정보 오라클 버전 : 10.2.0.5.0 oracle SID : testdb ORACLE_HOME : /home/oracle/product/10g 설치 위치 : /home/oracle/testdb 언어셋 - character set : KO16MSWIN949 - national characterset : AL16UTF16 OS 작업 계정 oracle.dba 설치 과정 1. init.ora 파일으로 PFILE 생성 $ cd $ORACLE_HOME/dbs $ cp in..
CPU 가 하나인 시스템에서는 SPIN 을 수행하지 않는다. 왜일까? OWI 서적에서는 "스핀을 수행하는 도중에 래치를 해지해줄 프로세스가 존재할 수 없기 때문이다." 라고 나와있었다. 이를 풀어서그림으로 해석해 보자. 이미지 범례 1 CPU 에서 spin 수행 시나리오 만약 CPU가 1 개인 시스템에서 아래와 같이 SPIN 을 수행한다고 가정해보자. 1. LV 1의 레치를 얻는다. 2-1. A process 는 래치를 보유한 체 CPU 자원을 C process 에게 넘긴다. (CPU를 할당받지 못해서 일을 진행 못함) 2-2. C process 는 lv1 래치를 획득하기 위해 spin 을 수행한다. 3-1. A process 는 래치를 보유중이다(CPU를 할당받지 못해서 일을 진행 못함) 3-2. B ..
P2 컬럼값 값이 (LATCH# ) V$LATCHNAME.LATCH# 과 동일하므로 조인하여 이름을 얻으면 된다. cache buffers chains 버퍼 캐시에서 특정 블록을 탐색하고자 하는 프로세스가 획득해야 하는 래치 cache buffer lru chain 버퍼 캐시에서 프리버퍼와 더티버퍼를 탐색하고자 하는 프로세스가 획득해야 하는 래치 shared pool shared pool의 힙 영역을 할당받고자 하는 프로세스가 획득해야 하는 래치 redo copy DML 에 의해 수정사항을 리두 버퍼에 기록하고자 하는 프로세스가 획득해야 하는 래치
래치와 락의 분류 LATCH (래치) - 순서를 보장 받지 못하는 이유 래치의 분류 래치의 실제 작동 예 래치 레벨 - 데드락에 빠지는 상황 래치 모드 래치 획득 willing-to-wait 주의 사항 상태확인 no-wait 상태확인 latch Cleanup 동작방식 wake 방식 타임아웃 래치대기목록 래치와 락의 사전적 의미는 비슷하지만 오라클에서 실제 사용 대상이나, 방식에서는 차이가 있다. 현재의 Database 는 Mega User 의 요청을 동시적으로 처리를 한다. 그러기 위해서는 반드시 내부적으로 원자성을 지키기 위한 메카니즘이 필요하다. 실제 래치와 락의 역할은 동시성을 제공하는 Database(논리, 물리)에 대한 atomicity(원자성)을 보장해주는 역할을 한다. 래치와 락의 분류 분류..
OWI 란 원하는 리소스를 획득하기 위해 대기하는 시간을 측정, 분석, 해결하는 분야를 말한다. 총 응답시간은 실제 서비스 하는 시간과 대기시간이 합쳐진 시간이다. Response Time = Service Time + Wait Time 실제 사용자는 응답시간이 낮아야 만족도가 증가한다. 어떤 문제들은 Service Time 을 낮추면 대기시간도 같이 낮아지는 경우도 있다. Wait Event (대기이벤트) 특정 리소스를 획득하고 대기하는 것을 대기이벤트라고 한다. 그래서 이런 상태를 "OOO 이벤트를 대기한다" 라고 표현한다. 대기 이벤트는 3개의 파라미터(P1, P2, P3)를 이용하여 리소스를 표현한다. 이 값은 각 이벤트마다 의미가 다르다. 관련 뷰 V$EVENT_NAME 대기 이벤트에 대한 참조..