급하신 분은 보라색 글씨만 보시면 됩니다.
# = root 계정으로 명령어 입력 $ = 사용자계정 (ex. oracle) 으로 명령어 입력
SQL> = 오라클 DB에 접속해 쿼리 문 입력
# = root 계정으로 명령어 입력 $ = 사용자계정 (ex. oracle) 으로 명령어 입력
SQL> = 오라클 DB에 접속해 쿼리 문 입력
컨트롤파일
- small binary file
- 내용
: 데이터파일, redo로그파일,컨트롤파일 들의 현재 상태(이상유무)
모든 데이터파일, 모든 redo로그파일에 대한 정보 - 이정표 역할
Cf) 사람:좌뇌,우뇌 = 오라클:파라미터파일,컨트롤 파일
- 데이터베이스가 문제가 있는지 없는지 정보를 가지고 있어서, DB유지보수할때 컨트롤 파일 참고하여 고친다.
- DB만들때 생성됨.
※ 참고 : 파라미터파일 안에(컨트롤파일정보), 컨트롤파일 안에(데이터파일,redo로그파일,DB전체정보) 들어있다.
- 컨트롤 파일은 중요 하기 때문에, 내부의 내용을 고치거나 할수없다.
우리가 할일 : 지워지지 않도록 관리해주기
하나만 있거나, 한곳에 뭉쳐 있으면 loss될 확률이 너무 크다.
- 안전하게 관리 방법 : 컨트롤 파일 여러군데 분산시키기
= 디스크 1,2번에 나누어놓고 파라미터 파일에, 위치 적어주기
컨트롤 파일 여러개(8개까지 만들수 있다) - 모두 내용이 같다.
- 내용이 다르다 = 장애. nomount까지만 올라감.
※ 연습 많이 하기
SPFILE 이용해서 컨트롤파일 가동
PFILE 이용해서 컨트롤파일 가동
※ 마운트 단계 이상(컨트롤 파일 올라온상태)부터는 내용이 실시간으로 바뀌기때문에 컨트롤 파일 내용이 달라짐.
현재 : DB Open상태, 컨트롤 파일1개
목표 : 컨트롤 파일 두개 만들기
1. DB OPEN - SPFILE의 상태
순서 : SPFILE 수정 → shutdown → 컨트롤파일 복사 → DB시작
SQL> ALTER SYSTEM SET control files = '경로1/컨트롤파일1', '경로2/컨트롤파일2' SCOPE=SPFILE;
→ spfile에 컨트롤파일 경로지정
※ 참고 : scope=spfile 꼭쓰기 → 안쓰면 디폴트값 both(지금즉시 적용)
- 현재 없기에 에러. DB뻗는다..
SQL> shutdown immediate
SQL> !cp 경로1/컨트롤파일1 경로2/컨트롤파일2
SQL> startup
→ spfile에 컨트롤파일 경로지정
※ 참고 : scope=spfile 꼭쓰기 → 안쓰면 디폴트값 both(지금즉시 적용)
- 현재 없기에 에러. DB뻗는다..
SQL> shutdown immediate
SQL> !cp 경로1/컨트롤파일1 경로2/컨트롤파일2
SQL> startup
2. DB OPEN - PFILE
순서 : shutdown → PFILE 수정 → 컨트롤파일 복사 → DB시작
SQL> shutdown immediate
SQL> !cp 경로1/컨트롤파일1 경로2/컨트롤파일2
SQL> vi 경로/init디비이름.ora
:: CONTROL_FILES = '경로1/컨트롤파일1','경로2/컨트롤파일2'
SQL> startup
SQL> !cp 경로1/컨트롤파일1 경로2/컨트롤파일2
SQL> vi 경로/init디비이름.ora
:: CONTROL_FILES = '경로1/컨트롤파일1','경로2/컨트롤파일2'
SQL> startup
'Oracle > Oracle - Admin' 카테고리의 다른 글
admin 11 - Tablespace 와 Data file (0) | 2012.01.19 |
---|---|
admin 10 - redo log file (0) | 2012.01.17 |
admin 8 - 딕셔너리 (Dictionary) (0) | 2012.01.17 |
admin 7 - pfile, spfile 생성 및 변환 / startup 과정 실습 (0) | 2012.01.17 |
admin 6 - Oracle Startup / shutdown / log file (5) | 2012.01.17 |