출처: 서진수 강사님 oracle 취업 강좌, 오라클 관리실무 책, 기타 블로그, oracle 공식문서
◎ STARTUP 과정
① startup 과정을 치면 오라클 프로세스는 먼저 Parameter File을
확인하여 nomount 단계(SGA가 공유메모리에 만들어 져있음)
가됨 , Alert Log 파일(서버시작 ~ 종료 장애기록) 을 확인
② NOMOUNT 단계 Control File(데이터 베이스 전체정보) 내용을
읽어서 Mount 단계로 이동
③ Mount 단계에서 Data File을 확인 후 OPEN단계로 이동
※만일 이상이 생기면(Instance Crash)경우 Instance Recovery 수행
◎ Startup & Shutdown
□ 처음에 특정시점으로 키기
startup nomount; STARTED
□ 켜져있는 상태에서 상태 바꾸기
SYS>alter database mount; MOUNTED
□ 켜져있는 상태에서 상태 바꾸기
SYS>alter database open; OPEN
※alter 명령어로 사용시에 nomount → mount → open 순서로 가야지
nomount 에서 바로 open 으로가면 오류 발생
□ 확인 하기
SYS>select status from v$instance;
□ 끄기 (shutdown + 옵션)
IMMEDIATE : commint/rollback 후 정상종료 (多)
ABORT: 전원 꺼버리기와 동일 (immediate 안될경우)
TRANSACTIONAL : 접속자가 commit , rollback 하면 나감 (少)
NORMAL: 접속하는 사람 나갈때 까지 기다림 (少)
SQL> shutdown immediate;
※ shoutdown 의경우 특정 시점으로 못감
◎ Parameter File
일종의 변수와 비슷한 개념, SGA의 설계도 역할
nomount 단계로 가기위해 반드시 필요한 파일
종류 & 특징
spfile: 서버프로서스가 관리
Binary파일 → 사람이 수정 할 수 없음 바꾸면 x
spfileSID.ora spfiletestdb.ora
$ORACLE_HOME/dbs
pfile : DBA가 관리text 파일
pfile
initSID.ora inittestdb.ora
$ORACLE_HOME/dbs
숨겨져있는 $ORACLE_BASE/admin/testdb/pfile
init.ora.292015103153
※우선순위는 spfile
※ spfile로 pfie 만들 수 있음 (★★★실습)
※ pfile 로 spfile 만들수 있음 (★★★실습)
◎ 경우의 수
⑴ 기존의 spfile 없어서 원본 pfile을 복사해 오기
① $ORACLE_BASE/admin/testdb/pfile/init.ora.292015223143
② $ORACLE_HOME/dbs/inittestdb.ora로 복사해오기
③ test 해보기
⑵ pfile을 통해서 spfile 만들기 ($ORACLE_HOME/dbs에 pfile 존재)
⑶ spfile을 통해서 pfile 만들기 ($ORACLE_HOME/dbs에 spfile 존재)
□ spfile 위치
$ORACLE_HOME/dbs = /app/oracle/product/11g/dbs
spfile인 spfiletestdb.ora 가 있음
spfiletesetdb.ora 가 없을경우 에러
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '
/app/oracle/product/11g/dbs/inittestdb.ora'
□ 원본 pfile 위치
$ORACLE_BASE/admin/testdb/pfile = /app/oracle/admin/testdb/pfile
init.ora.292015103153 번호는 다를 수 있음
□ 복사하기 pfile → spfile 위치로
cp /app/oracle/admin/testdb/pfile/init.ora.292015103153 /
/app/oracle/product/11g/dbs/inittestdb.ora
□ 기존에 있돈 pfile을 통해 spfile 만들기
SYS>create spfile from pfile;
□ 기존에 있던 spfile을 통해 pfile 만들기
SYS> create pfile from spfile;
☞ 무조건 pfile로 하는 방법을 외워두고 create로 만드는게 편함
※ 참고하기
□ 잠깐 나가기 SQL> !
□ SQL로 돌아가기 [oracle@server113 pfile]$ exit
□ 스타트하기 위해선 inittestdb.ora pfile
spfiletesetdb.ora spfile
◎ control File
- nomount단계에서 mount단계로 가기위한 파일
- oracle 서버의 정보가 들어 있고 mount 단계부터 수시로 변화됨
→적어도 nomount 이하 단계에서 control 파일작업(복사)
- control 파일은 다중화 해서 관리하는것이 중요
- 다중화 하는데 spfile, pfile 를 사용하기 때문에 방법이 2가지
※ 설정된 모든 control 파일의 내용은 같아야함
※ 최악의 경우 파라미터를 다시 복사해온 경우 가장 최근에 사용한 control file 로 설정을 바꾸어 주어야함 ....
□ 현재 Control 파일 조회하기 (2개가 되어 있음)
SYS>select name from v$controlfile;
□ spfile 내용 바꾸기 (control 파일의 설정 바꾸기)
SYS>alter system set control_files='/home/oracle/disk1/control01.ctl',
'/home/oracle/disk2/control02.ctl',
'/home/oracle/disk3/control03.ctl' scope=spfile;
□ control 파일 위치
/app/oracle/oradatta/testdb/control01.ctl
/app/oracle/fast_recovery_area/testdb/control02.ctl
◎ 파라미터 파일이 pfile 인경우
① 현재 pfile 사용중을 확인
②현재 pfile에 설정된 control 파일을 확인
③instance 종료
④ pfile 파일에 vi로 경로를 추가를 해줌
⑤ 추가된 경로대로 디렉토리 만들고 파일을 control 파일을 복사해줌
spfile을 사용하여 만드세요
/data/disk1/control01.ctl
/data/disk2/control02.ctl
/data/disk3/control03.ctl
방법
① root권한으로 data/disk1, data/disk2 , data/disk3
② chown -R oracle.dba /data 를 통해서 권한을 바꾸어줌
③ 현재의 컨트롤 파일을 확인 후
④ 경로를 바꾸어 줌
alter system set control_files=
'/data/disk1/control01.ctl'
'/data/disk2/control02.ctl'
'/data/disk3/control03.ctl' scope=spfile;
⑤ DB 를 종료 시킴
⑥ 최근에 쓰던 control 파일을 위의 경로로 복사하기
☞ 다시 초기화로 할때 파라미터 파일을다지우고 inittestdb.ora 복사한다음
최신에 사용하던 control 파일만 2개의 원래경로에 넣어주면 끝
mount 까지가는데 안되는경우
☞ 최신에 사용한 control파일을 현제 경로설정된 곳에 복사하는 방법
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/app/oracle/oradata/testdb/system01.dbf'
ORA-01207: file is more recent than control file - old control file
control 파일을 이리저리 옮기고 사용하고 안쓰고 하다가 오류??
아마도, 안쓰던 control 파일과 새로운 파일의 조합의 경우 에러가 나는듯
이럴때 최신에 쓰던걸 그냥 복사해주면됨
ORA-00214: control file '/app/oracle/oradata/testdb/control01.ctl' version 2042 inconsistent with file '/home/oracle/disk1/control01.ctl' version 2016
'ORACLE > Admin' 카테고리의 다른 글
7장 Tablespace & DataFile 관리 (0) | 2015.04.01 |
---|---|
6장 Redo Log 관리하기 (0) | 2015.03.30 |
3장 Oracle Background Process (0) | 2015.03.27 |
2장 SQL 문장의 실행 원리 (0) | 2015.03.26 |
1장 Oracle Architecture (0) | 2015.03.26 |