Database초보우낙
8. 1개의 control file이 삭제되었을 경우 본문
data base를 구성하는 파일 3가지?
data file
➡️system data와 사용자 data가 들어있다
control file
➡️db의 구조와 상태정보가 들어있는 파일
redo log file
➡️db의 변경사항에 대한 이력 데이터가 들어있는 파일
■ 실습
#1. controlfile 을 binary 형태로 백업
-- binary(0,1로 구성) 형태로 백업
alter database backup controlfile to '/home/oracle/hot_20240304/control01.bak';
#2. controlfile을 text 형태로 백업
alter database backup controlfile to trace as '/home/oracle/hot_20240304/create_controlfile.sql';
--vi 편집기로 create_controlfile.sql을 열기
-- : set nu로 번호생성해두기
62~63번 지워주기
맨 밑과 위에 부분 지워주기
--완성
#3. shutdown abort로 인스턴스를 내린다
--컨트롤파일위치확인
select name from v$controlfile;
↑ 위와 같이 controlfile을 1개로만 유지해서 운영하면 위험하다.
1개 깨지는 순간 전부 깨지는 것이다
최소 3개는 유지해서 운영해야한다
오후에 controlfile을 3개로 multiplexing 하겠다.
--서버내리기
shutdown abort
#4. con trolfile 1개를 삭제
cd /u01/app/oracle/oradata/Ouh/
rm control01.ctl
#5. 서버올리기 startup
startup
@/home/oracle/i.sql --DB 상태 확인
--컨트롤 파일이 없기에 nomount 단계에서 멈췄다
#6. 백업받아둔 controlfile 생성스크립트를 가지고 생성 후 db를 올린다
@/home/oracle/hot_20240304/create_controlfile.sql
@/home/oracle/i.sql --DB 상태 확인
#7. controlfile이 만들어졌는지 확인
select name from v$controlfile;
cd /u01/app/oracle/oradata/Ouh/
ls -l control01.ctl
현재 시간 11시 56분
방금 막 생성된 걸 볼 수 있다
문제1. 다시 해보기
alter database backup controlfile to '/home/oracle/hot_20240304/control02.bak';
alter database backup controlfile to trace as '/home/oracle/hot_20240304/create_controlfile2.sql';
cd /home/oracle/hot_20240304/
vi create_controlfile2.sql
@/home/oracle/hot_20240304/create_controlfile2.sql
select name from v$controlfile;
cd /u01/app/oracle/oradata/Ouh/
ls -l control01.ctl
'백업과 복구 > 완전복구' 카테고리의 다른 글
10. control file을 multixplexing하기 (0) | 2024.04.12 |
---|---|
9. binary file로 백업받은 controlfile 복구 (0) | 2024.04.12 |
7. 모든 data file들을 전부 삭제하고 복구 (0) | 2024.04.11 |
6. system data file 을 삭제하고 복구하기 (0) | 2024.04.10 |
5. non system data file을 삭제하고 복구 (0) | 2024.04.10 |