ARC BACKGROUND PROCESS가 현재 Redo Logf File을 물리적 다른 위치에 복사한 후 Redo Log File은 재사용 할 수 있다.archive log mode 확인
database log mode : archive log mode 확인Automatic archival : ARC 백그라운드 프로세스 사용 여부Archive destination : archive log 파일이 저장되는 위치Oldest online log sequence : 가장 오래된 시퀀스 번호Current log sequence : current한 시퀀스 번호
실제 archive redo log가 저장되는 위치
- 아카이브의 위치를 지정하지 않으면 기본값으로 설정되는 위치
show parameter db_recovery_file_dest


show parameter log_archive_dest

mandatory : archive 작업이 성공적으로 완료되어야 redo log file을 겹쳐 사용할 수 있다. 만약에 mandatory로 설정되어 있는 곳에 공간이 부족할 경우 기다린다.optional : archive 작업이 성공적으로 완료되지 않은 경우에도 redo log file을 겹쳐 사용할 수 있다. 공간이 부족하면 archive log file이 생성되지 않습니다. 기본값alter system set log_archive_dest_1 = 'loaction=/home/oracle/arch1 mandatory' scope = spfile;
alter system set log_archive_dest_2 = 'loaction=/home/oracle/arch2 optional' scope = spfile;
show parameter log_archive_format

뒤에 있는 dbf가 아닌 arc 확장자로 변경
alter system set log_archive_format = 'arch_%t_%s_%r.arc' scope = spfile;

DB 정상적인 종료
SHUTDOWN IMMEDIATE
MOUNT 단계 까지만 STARTUP
STARTUP MOUNT
MOUNT단계에서 archive log mode로 변경
alter database archivelog;
DB open
ALTER DATABASE OPEN;
기본 archive 저장 위치는 마지막 dest로 지정된 디렉터리이다.

아카이브 설정 이전 redo log 파일의 ARCHIVED 컬럼은 YES로 표시된다.

SHOW PARAMETER archive
log_archive_max_processes : arc 백그라운드 프로세스 최대설정 갯수, 최대 30개가능

archive 파일 destination 설정된 veiw 확인
select destination, binding, status from v$archive_dest;

select * from v$archived_log;
- 수동으로 log switch 발생

- 논리적으로 확인(컨트롤파일)
select * from v$archived_log;

- 물리적으로 저장되었는지 확인

- current한 그룹의 아카이브 파일을 받고 싶을때
수동으로 log switch를 해줘도 되지만 해당 명령어로도 가능하다.
alter system archive log current;


- ARC 프로세스 확인
ps -ef | grep arc

4개의 arc 프로세스가 실행되고 있다.
- 오라클 시작시에 archive process 기본으로 생성한 갯수(최대30)
show parameter log_archive_max_processes








- close 디렉터리에 백업
CREATE PFILE='/home/oracle/backup/arch/close/initORA19C.ora' from spfile;
- open 디렉터리에 백업
CREATE PFILE='/home/oracle/backup/arch/open/initORA19C.ora' from spfile;
select a.name, a.checkpoint_change#, b.status. b.change#, b.time
from v\$datafile a, v$backup b
where a.#file = b.file#;

alter database begin backup;
$ORACLE_BASE/oradata/ORA19C/*.dbf -> /home/oracle/backup/arch/open
alter database end backup;

현재 control file 위치 확인
select name from v$controlfile;

control file 백업
alter database backup controlfile to '/home/oracle/backup/arch/open/control01.ctl';


backup 받아놓은 데이터파일 checkpoint 확인

redo log 그룹의 checkpoint 정보 확인

백업파일의 checkpoint가 current한 리두로그 파일에 속해있기 때문에 current한 redo log를 archive 파일로 만들어야 한다.
수동으로 archive 만들기

백업 데이터파일의 checkpiont까지 가지고 있는 archive 파일이 생성되었다

논리적으로 생성된 archive log 확인

백업 받은 시점의 checkpoint 확인

백업받은 checkpoint는 4139227로 다운받아 놓은 archive 파일 중에서 백업 checkpoint가 속해 있는 파일만 남겨놓고 나머지는 지워야 한다(용량관리). 의미 없는 파일이기 때문이다.