검색결과 리스트
ALL에 해당되는 글 28건
- 2015.03.30 pfile , spfile 생성 및 관리
- 2015.03.29 Oracle Background Process
- 2015.03.29 SQL 문장의 실행원리
- 2015.03.29 Oracle Architecture
- 2015.03.26 Solaris 설치
- 2015.03.26 RHEL 4 , 5 설치
- 2015.03.26 RHEL3 설치
- 2015.03.04 OEL5 + Oracle11g RAC ASM
글
pfile , spfile 생성 및 관리
현재 파라미터 확인
ls $ORACLE_HOME/dbs
없다면
원본 파라미터 파일 복사 후 spfile 생성
1. 원본 파라미터 파일의 경로: $ORACLE_BASE/admin/testdb/pfile
init.숫자 형태로 존재한다.
2. 원본 파일을 $ORACLE_HOME/dbs 로 copy 한다.
3. startup 후 확인.
※ 위의 경우 원본 pfile 을 복사해온 것이다.
spfile 을 사용하길 원하는 경우 가져온
pfile을 이용해서 spfile을 생성하면 된다. → create spfile from pfile;
'Oracle Admin' 카테고리의 다른 글
data file , redo log file , control file 이동 간단정리 (0) | 2015.04.02 |
---|---|
Tablespace 와 Data File 관리 (0) | 2015.04.01 |
Oracle Background Process (0) | 2015.03.29 |
SQL 문장의 실행원리 (0) | 2015.03.29 |
Oracle Architecture (0) | 2015.03.29 |
글
Oracle Background Process
백그라운드 프로세스?
-오라클 서버가 시작되면 자동으로 시작되어 운영과 유지를 담당하는 프로세스
서버시작 -> 시작
서버종료 -> 종료
그림 출처 : https://docs.oracle.com/cd/B19306_01/server.102/b14220/process.htm
필수 백그라운드 프로세스
1. DBWR (Database Writer)
더티블락을 데이터파일로 저장하는 역할.
버퍼캐시의 더티버퍼 내용을 데이터파일에 내려쓰는 경우는 아래와 같음
1) Checkpoint 신호 발생 시
2) 더티버퍼가 임계값을 지났을 때
3) Time out 발생 시
4) RAC ping 발생 시
5) Tablespace가 Read only 상태로 변경 시
6) Tablespace가 offline 될 때
7) Tablespace가 begin backup 상태가 될 떄
8) Drop table 이나 Truncate table 될 떄
9) Direct Path Read/Write 가 진행될 때
10) 일부 Parallel Query 작업 시
※ DBWn (0~9) / dbw 땡
2. LGWR(Log Writer)
데이터가 변경되면 서버프로세스가 변경 내역(Change Vector)을 리두 로그 버퍼에 기록.
LGWR은 리두 로그 버퍼에 있는 내용을 리두 로그 파일로 저장.
1) 커밋; 발생시
2) 1/3 찼을 때
3) 변경량이 1M 되었을 때
4) 3초마다
5) DBWR이 내려 쓰기 전에
★ Commit 수행하면 디스크로 데이터를 내려쓴다. 라는 건 사실 Commit을 수행하면 저장을
하긴 하지만 데이터를 저장하는 것이 아니라 리두 로그를 저장하는 것이다.
3. PMON(Process Monitor)
모든 서버 프로세스 감시 및 비정상적으로 종료된 프로세스 관련 복구작업.
서버 프로세스에 문제가 생겼을 때 모든 작업을 rollback 하고 뒷처리 담당.
4. SMON(System Monitor)
Instance Crash 상태 (비정상 종료)의 경우 인스턴스를 시작할 때 Clean Up
Instance Recovery 라고 함.
ex)
A 입력
B 입력
commit;
C 입력
정전
이후 startup -> Instance recovery 과정
1) 파라미터 파일 읽은 후 nomount 단계에서 instance 생성
2) mount 단계에서 컨트롤파일 내용 확인 -> instance crash 상황 확인
3) Redo log file 에서 A입력 B입력 commit; C입력 단계를 다시 수행(Roll Forward) 커밋 안된 C입력까지 수행
4) DB 오픈
5) 커밋 안 된 C입력 작업 취소 (Roll Backward)
5. CKPT(Checkpoint Process)
DBWR에게 checkpoint 신호를 전달해주며 컨트롤파일과 데이터파일 헤더에 해당 체크포인트
정보를 기록하는 역할. 로그라이터와 디비라이터와 연관되어있음.
6.MMON , MMNL (Manageability Monitor Process - 10g 이후)
7. RECO(Recoverer Process)
분산 DB 환경에서 트랜잭션 처리도중 장애 발생 경우 해당 트랜잭션 자동 복구.
선택적 백그라운드 프로세스
1. ARCn (Archiver Processes)
2. CJQ0 & Jnnn (Job Queue Processes)
3. FBDA(FlashBack Data Archiver Process)
내용출처 : 오라클 관리실무(서진수)
'Oracle Admin' 카테고리의 다른 글
data file , redo log file , control file 이동 간단정리 (0) | 2015.04.02 |
---|---|
Tablespace 와 Data File 관리 (0) | 2015.04.01 |
pfile , spfile 생성 및 관리 (0) | 2015.03.30 |
SQL 문장의 실행원리 (0) | 2015.03.29 |
Oracle Architecture (0) | 2015.03.29 |
글
SQL 문장의 실행원리
1. 사용자가 SQL 문장 수행
2. 유저 프로세스가 SQL문 서버로 전달
ex) SQL developer , Toad , Orange ...
3. 서버쪽에서 작업을 수행하는 서버 프로세스에게 전달.
4. 유저프로세스는 결과가 나올때까지 기다림
전체적인 흐름
Parse(구문분석) -> Bind(값 치환) -> Execute(실행) -> Fetch(인출)
1) Parse (실행계획을 만들거나 찾는 단계. Shared Pool 메모리 공간 사용)
SELECT 문장을 예로들면
첫째, 문법검사
select , from , where
둘쨰, 의미검사
* , emp , empno=7900;
셋째, 권한검사
넷쨰, 실행계획 (파싱 하는 이유)
네비게이션과도 같은 역할을 하는 옵티마이져(계획 세워주는 역할)가 딕셔너리를 보고 작업을 한다.
Shared Pool
-Library Cache
-Dictionary Cache
Hard Parse : SQL과 실행계획을 캐시에서 찾지 못해 최적화 과정을 거치고 나서 실행단계로 넘어가는 경우
Sofr Parse : SQL과 실행계획을 캐시에서 찾아 곧바로 실행단계로 넘어가는 경우
2) Bind
사용자에게 정보를 받아 바꿔치기 하는 것.
ex) 회원 로그인 -> 아이디, 비번 받아서 바꿔치기
3) Execute
하드디스크의 데이터 파일에서 데이터가 들어있는 블락을 찾아 DB 버퍼캐시로 복사해 오는 과정.
작업을 위해서는 해당 테이블이 반드시 DB 버퍼캐시에 존재해야하는데 만약 존재하지 않으면
서버프로세스는 원하는 블락을 찾아 버퍼캐시로 복사 후 작업한다.
무조건 블락 단위로 움직인다. 원하는게 적든 많든 블락 단위로 퍼올려짐.
4) Fetch
블락단위로 올라온 데이터 중에 원하는 데이터만 골라내는 과정.
내용출처 : 오라클 관리실무 책(서진수)
'Oracle Admin' 카테고리의 다른 글
data file , redo log file , control file 이동 간단정리 (0) | 2015.04.02 |
---|---|
Tablespace 와 Data File 관리 (0) | 2015.04.01 |
pfile , spfile 생성 및 관리 (0) | 2015.03.30 |
Oracle Background Process (0) | 2015.03.29 |
Oracle Architecture (0) | 2015.03.29 |
글
Oracle Architecture
흔히 컴퓨터의 구성을 이야기 할 때
1. CPU
2. 작업을 하는 장소인 메모리(RAM)
3. 데이터를 저장하는 하드디스크(HDD)
이 세가지로 나눔.
컴퓨터와 오라클 모두 '메모리에서 작업하고 디스크에 저장한다' 는 원리가 중요.
오라클도 컴퓨터와 비슷하게 작업공간과 저장공간이 나뉘어져 있다.
1. 메모리 역할을 하는 INSTANCE
2. 데이터를 저장하는 DATABASE
<사진출처> ORACLE 계의 신성 꼬꼬마님 (http://blog.naver.com/chicken19)
그림으로 간단하게 살펴보면 위와같이 메모리부분, 저장공간부분으로 나뉘어져 있음.
System Global Area (SGA) 라고 하는 부분에서 실제 작업들이 수행되고 백그라운드 프로세스들은
오라클 서버(위의 구조를 Oracle Server 라고 함.) 가 잘 운영되도록 해주는 역할을 한다.
DB에 접속해서 startup 명령어를 치면
초기화 파라미터(pfile , spfile)에 적혀있는 설정을 참고하여 OS kernel에게 공유메모리 요청.
※파라미터 : SGA를 만들때 참조되는 설계도 같은 것.
메모리 요청을 받은 OS Kernel은 자신이 알고있는 OS Kernel 파라미터를 조회해서
그대로 메모리 할당.(리눅스: /etc/sysctl.conf 솔라리스: /etc/system 에서 OS 파라미터 조회)
★ SGA는 Oracle Server Process 가 요청하고 만들지만 만들어진 후에는 OS Kernel이 관리를 한다.
커널에게 SGA 생성을 요청한 오라클 서버 프로세스가 종료되어도 SGA는 종료되지 않고
인스턴스가 종료되어야 SGA가 공유메모리에서 사라진다.
SGA 의 각 구성요소 (빨간부분은 필수 구성요소)
1. Database Buffer Chache
데이터 조회, 변경 등의 실제 작업공간. 작업에 필요한 모든 데이터는 이곳에 있어야 한다.
만약 데이터가 없을 경우 데이터파일에서 해당 블록을 복사해 버퍼캐쉬로 가져와야 함.
버퍼캐쉬 블락의 상태 3가지
1) Pinned Buffer
다른 사용자가 사용하고 있는 블락. 식당으로 치면 현재 손님이 밥을 먹고있는 테이블.
2) Dirty Burffer
작업중은 아니지만 아직 변경된 작업내용을 저장하지 않은 버퍼.
저장이 안 된 상태에서 다른 사용자가 다시 덮어써서 사용한다면 이전 작업한 데이터가 문제가
되기 때문에 사용할 수 없다.
손님이 밥 다먹고 갔지만 테이블 안치움.
3) Free Buffer
애초에 사용이 되지 않았던 블락 또는 더티버퍼 였다가 하드디스크로 저장이 완료되어
재사용이 가능해진 블락.
테이블 치움.
※ 여기서 중요한 것은 저장의 유무이다.
※ 버퍼들의 상태를 관리하기 위해 LRU(Least Recently Used) List 만들어 관리.
가장 최근에 사용된 적이 있는 리스트. 많이 쓰이는 블락만 유지하도록.
LRU List (메인과 보조의 free 버퍼는 중복 안 됨)
-메인 리스트 : free, dirty 섞여있음
-보조 리스트 : free만
LRUW List
-메인 리스트 : dirty 버퍼만 모아놓은 것
-보조 리스트 : DBWR(디비라이터) 에 의해 기록중인 버퍼리스트
2. Redo Log Buffer (장부라고 생각하면 됨)
데이터가 변경될 경우 변경사항을 저장한다.
DDL , DML , TCL 같은 작업 내용.
※ SELECT 제외
3. Shaed Pool
다른 사용자와 어떤 대상을 공유해서 사용하기 위해 만들어진 곳
4. Large Pool
5. Java Pool
6. Streams Pool
10g 이상 버전부터.
7. Fixed Pool
백그라운드 프로세스들이 필요한 DB 전반적인 공유정보 , 프로세스들끼리 공유해야하는
Lock 정보 같은 것들이 저장
※ Dynamic SGA 기능
- 관리자 필요에 의해 SGA 구성요소의 크기 변경 후 인스턴스 재시작 없이 바로 적용할 수 있는 기능
PGA (Program Global Area) 의 주요 구성요소
SGA가 모든 프로세스들의 공유 메모리인 반면에
PGA는 각각의 서버 프로세스들이 개별적으로 사용하는 메모리 공간.
학교를 예로들면 공동으로 쓰는 운동장과 개별적으로 사용하는 사물함 개념.
주로 정렬관련 작업이 이루어진다.
그림출처 : https://docs.oracle.com/cd/E11882_01/server.112/e40540/memory.htm#CNCPT1237
1) Private SQL Area
사용자가 SQL 문장 수행 -> 유저 프로세스 -> 서버 프로세스 -> 작업을 요청한 유저 프로세스의
정보를 세션 메모리 부분에 저장한 후 SQL Parse 작업을 시작.
SQL에 Bind 변수 등이 있을 경우 Private SQL Area 에 보관. 임시로 정보를 저장할때도 사용.
2) SQL Work Area
Sort 관련 작업이나 Hash 관련 작업.
내용출처 : 강남 아이티윌 DB취업반 서진수샘 강의 및 오라클 관리실무 책(서진수)
'Oracle Admin' 카테고리의 다른 글
data file , redo log file , control file 이동 간단정리 (0) | 2015.04.02 |
---|---|
Tablespace 와 Data File 관리 (0) | 2015.04.01 |
pfile , spfile 생성 및 관리 (0) | 2015.03.30 |
Oracle Background Process (0) | 2015.03.29 |
SQL 문장의 실행원리 (0) | 2015.03.29 |
글
Solaris 설치
1. 하드디스크 20기가 싱글 (싱글 중요)
2. 매뉴얼 보면서 설치 (하나만 다름)
솔라리스 설치는 8가지가 있는데 보통 인터렉티브, 커스텀 점프스타트가 주를 이룬다.
Korea→Korea UTF-8
kdmconfig → 그래픽카드 잡는 명령어. 그래픽 환경설정
제일 마지막에 할 것. Bypass
네트워크 사용
IP주소
서브넷 Yes
넷마스크 255.255.0.0
IPv6 No
루트 스페시파이 원 (게이트웨이) 설정
gw : 192.168.0.1
케베로스 보안 사용 No
Name service→DNS
도메인네임 kornet.net
서버 아이피 168.126.63.1 하나만
서치 도메인 무시
새로운 네임서비스 No
지역선택
소프트웨어 설치
전체설치 1번이나 2번 2~300메가 차이남 기본 2번
★★★★★★
파티션 나누기 슬라이스 라고함
F4번 edit Fdisk 파티션
매뉴얼 레이아웃 F4
오버랩 화면에서 F4 슬라이스
1 /var 2000
3 swap 2000
4 /export/home 나머지
2 overlap 은 건들지 않는다.
제일 아래의 Free 를 0 으로 만들면 됨
쭉 넘어감
오토 리붓
kdmconfig 그래픽카드 Bypass
★★★★★★
CD 2번으로 강제로 바꾸고 Media [1] : 1 엔터
→ 씨디모양 불꺼지면 connect 누르고 다시 엔터
똑같은 방법으로 랭귀지 깔기
root계정 로그인
bash
중간부분 PermitRootLogin no → yes
/etc/init.d/sshd stop → start
putty 접속
솔라리스는 rpm 대신에 pakage 명령어를 쓴다
pkgrm
pkgadd
sunwx000.pkg를 나중에
pkgrm SUNWxf86 -> y, y
vm웨어에서 솔라리스드라이버 CD로 변경
df -h 로 cd 붙었는지 확인
안붙었으면 /etc/init.d/volmgt stop -> start
cd /cdrom/20040114_000414/solaris/
pkgadd -d sunwxf86.pkg -> 엔터 y, y
pkgadd -d sunwx000.pkg -> 엔터 y, y
-> 푸티 이제 끝
vm웨어 -> kdmconfig -> unknown 뜨는사람 다시설치
change video device/monitor 선택
XF86-vmware vmware svga 어쩌고 선택 밑에서 2번째
쭉 넘김
모니터 테스트 마우스로 yes 한 후
init 6 으로 재부팅
그래픽카드 재설치
http://adad.tistory.com/28
# ^H
# stty erase ^H
# pkginfo | grep SUNWxf
# pkgrm SUNWxf86
ctrl + c
# LANG=C
# export LANG
(문자열 지정)
# pkgrm SUNWx86
# /etc/init.d/volmgt stop -> start
# cd /cdrom/ ~~~~
# ls
# pkgadd -d sunwxf86.pkg
# pkgadd -d sunwx000.pkg
# kdmconfig
----------------------------------------
솔라리스 깔면서 외울것
그래픽카드는 맨나중에 putty 이용하여 설치
슬라이스하기
0 / 5000
1 /var 2000
3 swap 2000
4 /export/home 나머지
1. vi /etc/ssh/sshd_config
-> PermitRootLogin no -> yes
-> /etc/init.d/sshd stop -> start
2. df -h 로 cd 확인 후
안붙었으면 /etc/init.d/volmgt stop -> start
3. Putty에서 root 로그인 후
cd /cdrom/20040114_000414/solaris/
pkgadd -d sunwxf86.pkg -> 엔터 y, y
pkgadd -d sunwx000.pkg -> 엔터 y, y
글
RHEL 4 , 5 설치
RHEL4 |
/boot ---- 100
/var ---- 1000
swap --- RAM 두배
파일시스템 타입에서 선택
/home --- 나머지
Fill to maximum allowable size 선택
mask : 255.255.0.0
gw : 192.168.0.1
dns : 168.126.63.1
<방화벽에서 새로운 부분>
노 파이어월 하고
Enable SELinux에서 Disable 선택 <---
어플리케이션에서 에디터 선택
서버항목 모두 체크 해제
디벨롭먼트 모두 선택
시스템 툴즈 선택
해상도에서
confuigure
generic LCD 1024*768 선택
컨피겨 먼저 하고 선택
RHEL5 (이거 하면 다 비슷함)
CentOS5
OEL5
RHEL5 |
리눅스 RHEL 5 선택 설치
다른건 하드 20기가
5버전은 하드 30기가
dvd 한장으로 설치
언어선택 후 시리얼넘버 스킵
creat custom layout 선택
파티션 다름
/ ----- 5000
/boot --- 100
/var -- 1000
swap - ram 두배 2000
/home -- 15000
/app -- 나머지 <--- 이곳이 오라클 설치 권장장소(5기가 최소)
밑에는 IPv6 풀고
위에꺼에서 Manual configuration 선택 후 아이피 입력
서버이름 server127
게이트웨이, DNS 입력
Custiomize now 선택
서브메뉴로 나옴
디벨롭먼트 모두 선택
서버 다 풀고
베이스 시스템에서 시스템 툴즈 선택
언어 한국어 설정
Firewall Disable
SELinux Disable
Kdump 오류덤프 저장하느냐
저장 안함 못본척
업데이트 사용 안함
노땡큐
스킵 스킵
System -> Administration -> Display -> 해상도
※네트워크 설정
브릿지 / NAT 방법
11.2.<--업그레이드 ////0.1 <---버전업
리눅스에서 IP확인 명령어
ifconfig
window에서 터미널 작업 프로그램
한글 putty
리눅스끼리 SCP 이용해서 파일 이동
윈도우 리눅스끼리 Win SCP 이용
ssh IP -> 해당 아이피로 접속
ping IP -> 해당 컴퓨터 켜져있는지
*상대에 접속하기
ssh 상대방 주소
*파일복사
scp 원본 상대
예) scp /a.sh 192.168.15.130:/
내컴퓨터 파일이 원본
scp 192.168.15.103:/a.sh /
상대방 컴퓨터 파일이 원본
WinSCP
IP 주소
root 비번
업데이트, 추가 둘중하나
왼쪽은 윈도우 오른쪽은 유닉스나 리눅스
일반적인 오류(서버 오류 설명 제공).
오류 코드: 4
서버 오류 메시지:: Failure
글
브릿지네트웤 IP수동입력
/ ----- 5000
/boot ---- 100
/var ---- 1000
swap --- RAM 두배
파일시스템 타입에서 선택
/home --- 나머지
Fill to maximum allowable size 선택
브릿지로 했기때문에 Edit 에서 수동으로 IP입력
Configure using DHCP 만 체크 해제
ip : 192.168.15.1xx me:127
mask : 255.255.0.0
gw : 192.168.0.1
dns : 168.126.63.1
No firewall
Korean Eng 한글을 기본으로 default
아시아 서울
비번
사용자설정
게임 체크해제
Developement 전체선택
시스템 툴즈 선택
씨디바꿀 때 커넥티드 체크
1024*768
터미널
init 0 끄기 명령어
'OS > Linux' 카테고리의 다른 글
RHEL 4 , 5 설치 (0) | 2015.03.26 |
---|
글
OEL5 + Oracle11g RAC ASM
VM웨어 설정
하드 30기가 싱글
플로피 USB 사운드카드 프린트 등 Remove
네트워크어댑터 Host-only 로 추가
하드추가 Independent 1GB Allocate, Single로 3개 추가 (storage 폴더)
5G 3개 추가 총 6개 추가
ocr_vote01~03
asm01~03
Advanced 에서 SCSI 1:0 ~ 1:5까지
rac1.vmx 파일 메모장으로 아래 내용 추가
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
scsi1.sharedBus = "Virtual"
scsi1:0.deviceType = "disk"
scsi1:1.deviceType = "disk"
scsi1:2.deviceType = "disk"
scsi1:3.deviceType = "disk"
scsi1:4.deviceType = "disk"
scsi1:5.deviceType = "disk"
리눅스
/ : 5000
/boot : 100
/var : 1000
swap : 2000
/home : 1000
/u01 : 나머지
eth0, 1 두개 선택 매뉴얼리 rac1 이름설정
Applications
게임
그래픽
오피스
사운드 체크 해제
Development
전부 체크
Servers
서버 컨피그 툴 만 체크
Base system
시스템 툴 체크
+ optional package 눌러서 다음 패키지 선택
설치완료
아이피설정
ifconfig
eth0
eth1
아이피 확인 후
netstat -nr
게이트웨이 확인
neat
eth0
eth1
각각 아이피 및 DNS 입력
게이트웨이는 eth0에만 입력
/etc/hosts 수정
rac1 지우고
퍼블릭, 프라이빗, 브이아이피, rac-cluster-scan 추가
네뜨웤 리스타트 후 dns에 핑던지기
ㅁㅁ