Database초보우낙

4. controlfile hotbackup하기 본문

백업과 복구/백업과 복구(사용자관리)

4. controlfile hotbackup하기

오운학 2024. 4. 9. 18:21

contrilfile 백업하는 방법2가지

1.  script 백업하기 (sal 구성)

alter database backup controlfile to trace as '/home/oracle/hotbackup/cre_controlfile.sql';

 

2. binart file 백업(숫자로 구성)

alter database backup controlfile to '/home/oracle/hotbackup/control01.bak';

 

vi 편집기에서 cre_controlfile.sql 열어서 해당내용 지우기( :set nu 를 사용하면 앞에 번호를 볼 수 있다)

필요없는 부분 95번부터 지워버리자

 

 

--이 부분만 남겨두면 된

 

MAXDATAFILES 100에서 1000으로 늘려주기

STARTUP NOMOUNT 부분 지우기

 


편집한 스크립트를 이용해서 controlfile 생성

경험있는 dba들은 처음에 db생성이후에 반드시 아래의 2가지 작업을 한다

  1. control file안에 있는 maxdatafiles 파라미터 값을 1000으로 변경하고 controlfile 다시 생성
  2. 오라클 파라미터 파일의 db_files파라미터 값을 1000으로 변경

#1 현재 인스턴스가 spfile 구성되었는지 pfile 구성되었는지 확인

show parmeter spfile

 

spfile 구성(value null이면 pfile)

 

#2. spfile 구성되었다면 alter system 명령어로 db_files 1000으로 변경

show parameter db_files

alter system set db_files=1000 scope=spfile;

 

 

#3. db 정상적으로 내렸다가 올린다

 

방법1 방법2
shutdown immediate
startup
startup force

#4. db_files 변경되었는지 확인

 

 


controlfile 생성

controlfile은 nomount 상태에서 생성된다

#0. controlfile 내용인 maxdatafile 현재값을 확인

select table_name from dictionary

where table_name like '%CONTROLFILE%' ;

 

select type, records_total

from V$CONTROLFILE_RECORD_SECTION

where type ='DATAFILE';

 

 

#1. DB 정상 종료

shutdown immediate

 

#2. nomount 단계로 올린다

startup nomount

 

#3. 컨트롤 파일 생성하는 스크립트를 수행

@/home/oracle/hotbackup/cre_controlfile.sql

 

ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required
복구할게 없다

 

#4. 새로 생성된 controlfile 만들어졌는지 확인

select name from v$controlfile;

 

 

exit;

ls -l /u01/app/oracle/oradata/Ouh/control01.ctl

최신파일인걸 확인하기 위해서 캡쳐

 

 

#5. maxdatafile 1000으로 변경되었는지 확인


문제1. db_files파라미터의 값을 2000으로 변경하세요

show parameter db_files

alter system set db_files=2000 scope=spfile;

 

 

문제2. control file안에 maxdatafiles 값을 2000으로 변경되도록 controlfile 다시 생성하세요

 

 

 

 

앞으로 컨트롤 파일이 손상되면 위와 같이 controlfile 재생성하면 된다

처음에 DB 설치한 이후에 바로 위의 작업을 해서 maxdatafiles 1000으로 늘릴려면 반드시 컨트롤 파일을 재생성해야한다

 

 

 

 

 

DB설치이후에 바로 해줘야하는 작업

아카이브 모드 변경
cold backup 수행
hot backup수행
controlfile 재생성