Overview of Primary Components

 

Oracle Instance

- Oracle Database 에 연결하는 것을 의미한다.

- 항상 하나의 DB에 한 개의 Instance 가 Open 됨

- Memory structures 와 Background Process structures 로 구성됨.

 

Oracle Memory Structure

- Oracle 의 메모리 구조는 SGA 와 PGA 로 구성

- System Global Area (SGA) :

→ 인스턴스가 시동되면 할당되고 Oracle Instance 의 주요한 요소

→ 모든 프로세스가 공유

- Program Global area (PGA) :

→ 서버 프로세스가 시작되어지면 할당된다.

→ 사용자별로 생성되어 별도로 사용됨.

→ Parse 작업 수행


 

System Global Area

- SGA 는 여러 개의 Memory structure 들로 구성됨.

→ Shared Pool

→ Database Buffer Cache

→ Redo Log Buffer

→ Java Pool

→ Large Pool

- SGA_MAX_SIZE parameter 로 변경 가능

 

Shared Pool

- 최근 실행된 SQL 구문들과 최근에 사용되어진 data 정의들이 저장됨

- 주요 기능을 수행하는 2개의 주요 메모리 구조로 구성되어짐

1. Library Cache

2. Data Dictionary Cache

- SHARED_POOL_SIZE 파라미터로 설정 됨

SQL>alter system set

2 shared_pool_size = 64M;

 

Library Cache

- 가장 최근 사용 되어진 SQL 과 PL/SQL 들에 관한 정보가 저장됨

- 일반적으로 사용되어지는 구문들의 공유가 가능함

- Soft Parse 과정을 위한 메모리 구조

- LRU Algorithm 에 의하여 메모리 관리가 이루어진다.

- Shared Pool 의 크기에 의해 Library Cache 의 크기가 결정된다.

 

 

 

Data Dictionary Cache

- DB 에서 최근 사용 되어진 사용자 정의들의 집합.

- database file, table, index,column,user,privilege 등에 관한 정보가 포함됨

- Parse 과정에서 서버 프로세스가 접근하게 되는데 이 때 구문의 유효성과 개체 이름을 확인하게 된다.

- Data Dictionary Cache 안에 원하는 정보가 존재 한다면 쿼리와 DML 성능에 향상을 가져오게 된다.

- Hard Parse 를 위한 메모리 구조

- Shared Pool 의 크기에 의해 Library Cache 의 크기가 결정된다.

 

Database Buffer Cache

- 데이터 파일로부터 검색되어진 Data 블록 들이 복사되어 저장된다.

- 데이터를 검색하거나 Update 할 때 좋은 성능을 얻기 위해 존재한다.

- LRU 알고리즘을 통해 관리된다.

- DB_BLOCK_SIZE 가 블록 사이즈를 결정

-> 8i = 2k

-> 9i = 4k

-> 10g,11g = 8k

 

- 독립된 서브 캐쉬로 구성됨

-> DB_CACHE_SIZE – Database buffer cache 전체 크기

-> DB_KEEP_CACHE_SIZE – 중요한 Data 를 보관 (LRU 적용 안함)

-> DB_RECYCLE_CACHE_SIZE – 잘 사용되자 않는 Data

- 다음 붉은 두가지 설정은 권장 사항이 아님

- 유동적으로 크기 변경이 가능

SQL>alter system set DB_CACHE_SIZE = 96M;

- DB_CACHE_ADVICE=on/off 는 buffer cache 의 크기를 변경했을 때의 성능을 예측하는 Advisory 기능을 다음 파라미터로 제공함

- 다음의 다이나믹 퍼포먼스 뷰를 통해 확인가능

-> V$DB_CACHE_ADVICE

'Oracle > Admin' 카테고리의 다른 글

Differences between a Connection and a Session  (0) 2011.10.06
Undo tablespace  (1) 2011.10.05

실전! 오라클 백업과 복구
국내도서>컴퓨터/인터넷
저자 : 서진수
출판 : 생능출판사 2010.09.06
상세보기

Clone DB && DB Link (drop table 복구)

- drop table 된 Data 를 clone DB 와 DB Link 를 이용하여 복구해 보겠습니다.

- 우선 archive mode 를 확인 합니다.

 

- 오픈 백업을 수행 합니다.

 

- 실습을 위해 다음과 같이 Table 을 생성하고 Data를 삽입 합니다.

SQL> create table scott.ctest01

2 (no number,

3 name varchar2(10),

4 address varchar2(20)) tablespace clone_test;

 

SQL> begin

2 for i in 1..100000 loop

3 insert into scott.ctest01 values(i,dbms_random.string('A;,10),dbms_random.string('A',20));

4 end loop;

5 commit;

6 end;

7 /

 

- 로그 마이어로 확인 하거나 다음과 같이 시간을 기록해 둡니다.

 

- 운영 DB 에서 PFile을 복사하여 CloneDB용 Pfile 을 생성합니다.

- 컨트롤 파일의 경로와 디비 명을 바꿔 주셔야 합니다.

$cp inittestdb.ora initclone1.ora

 

- 그리고 원본 testdb 즉 운영 DB 에서 컨트롤 파일 생성 스크립트를 만듭니다.

- Redo log file 을 이용하여 복구를 할 수 없고 Archive log 를 이요하여야 하기 때문에 Resetlogs 용으로 스크립트를 수정합니다.

$export ORACLE_SID=clone1

- 그리곤 생성한 스크립트를 이용하여 DB 를 Mount 단계까지 올려 줍니다.

- recover database 쿼리를 이용하여 아까 기록한 시간대로 복구를 해주어야 합니다. 물론 controlfile 의 SCN 이 다르기 때문에 using backup controlfile 구문도 추가해 주어야 합니다.

 

SQL>alter database open resetlogs;

- resetlogs 옵션으로 DB 를 Open 시킵니다.

- 그리고 Data 가 복구 되었는지 확인 합니다.

- 복구가 된 것을 확인 할 수 있습니다.

- 운영서버(testdb)에서 clone DB로 DB Link 생성하기

 

- 운영서버의 ORACLE_HOME/network/admin/tnsnames.ora 수정

- 만약 tnsnames.ora 파일이 존재하지 않는다면 netca 를 실행하여 리스너 구성을 해주시기 바랍니다.

- ORACLE_HOME/network/admin/listener.ora

- 운영DB 의 listener.ora 파일에서 Clone DB 의 리스너 정보를 등록 시켜줘야 합니다.

 

 

- 이제 운영서버에서 Clone DB 로 연결하는 DB Link 를 생성합니다.

SQL> create database link clink ß DB Link 명(임의로 지정)

2 connect to scott identified by tiger ß clone DB에 연결할 계정

3 using 'clonedb'; ß 이 이름은 tnsnames.ora 파일에 있는 이름을 사용하여야 합니다.

 

-리스너를 중지 시키고 다시 실행 시키면서 리스너를 테스트 해 봅시다.

- 다음은 리스너를 중지 시키고 연결 되는지 확인해 봅니다.

 

-다시 리스너를 실행 시킵니다. (listener2)

 

- listener2 의 상태를 확인 합니다.

- tnsping clonedb 명령어를 통해 리스너가 제대로 동작하고 통신이 되는지 확인 합니다.

 

- 운영 DB 에서 Clone DB 로 접속할 수 있는지 확인 합니다.

SQL> select count(*) from scott.ctest01@<DBLink명>

- 다음과 같은 방법으로 Clone DB 에서 복구한 Data 를 가져 옵니다.

 




 

'Oracle > Backup&Recover' 카테고리의 다른 글

SQL Loader  (0) 2011.10.04
DB Link 설정  (0) 2011.09.30
Clone DB (drop table 복구)  (0) 2011.09.29
Datapump Expdp (first)  (0) 2011.09.28
Export and Import (특정 Tablespace)  (0) 2011.09.28

+ Recent posts