728x90
반응형
SMALL

Backup/Archive Log Mode 24

current한 redo group이 삭제된 후 복구 작업

목표: 현재 current한 리두그룹이 삭제된 후 !!DB가 정상적으로 종료!! POINT: cancel base recovery, resetlogs 1. 사전작업 1) 조회 SELECT a.group#, b.sequence#, a.member, b.bytes/1024/1024 MB, b.archived, b.status FROM v$logfile a, v$log b WHERE a.group#=b.group# ORDER BY 1; --> Current한 그룹 : 2 2) 테이블 생성 CREATE TABLE hr.new_loc as select * from hr.locations; select count(*) from hr.new_loc; 2. 장애유발 1) current한 그룹 삭제 ! ls /u01/a..

redo에 대한 복구 작업

목표: redo에 대한 복구작업을 수행할 수 있다. archive log file이 생성된 후 inactive log file이 삭제됨 이후 db close된 상태이다. 1. 리두 그룹, 시퀀스, 맴버, 사이즈, 아카이브모드, 상태 조회 SELECT a.group#, b.sequence#, a.member, b.bytes/1024/1024 MB, b.archived, b.status FROM v$logfile a, v$log b WHERE a.group#=b.group# ORDER BY 1; 2. DB 정상적 다운 SQL> shutdown immediate 3. 장애유발 (inactive상태의 redo file을 지울 것 ) ★ ! rm /u01/app/oracle/oradata/ora11g/redo02..

일관성 있는 백업, 일관성 없는 백업 / 아카이브 단일화

############ 일관성 있는 백업 수행 ############ 0) redo log file의 seq# 체크해놓기 select * from v$log; 1) 정상 DB종료 SQL> shutdown immediate 2) cp하기 SQL> ! [oracle@oracle ~]$ cd /u01/app/oracle/oradata/ora11g [oracle@oracle ora11g]$ ls control01.ctl redo01.log redo03.log system01.dbf undotbs.dbf example01.dbf redo02.log sysaux01.dbf temp_new01.dbf users01.dbf [oracle@oracle ~]$ cd backup/arch/ [oracle@oracle arc..

Log Miner (로그 마이너)

■ Log Miner (로그 마이너) 1) redo log file에 있는 내용을 추출해서 SQL문장으로 변환해 주는 유틸리티, 프로그램 2) Oracle DB 에서 변경 로그를 분석하고 조회하는 기능을 제공하는 도구 3) 데이터 변경 추적(특정 테이블이나 세그먼트에 대한 변경 내용 추적), 데이터 비교(두 시점 간의 데이터 변경 비교+ 변경된 내용을 확인), 데이터 검증(변경된 데이터의 유효성 검증, 오류나 불인치 확인) 등의 용도의 목적 # 기본값은 비활성화 select supplemental_log_data_min from v$database; # 활성화 시키기 alter database add supplemental log data; # 활성화 select supplemental_log_data_..

운영 중인 DB 에서 tablespace 삭제했을 경우

# 테이블 스페이스 생성 SQL> create tablespace insa_tbs datafile '/u01/app/oracle/oradata/ora11g/insa_tbs01.dbf' size 10m autoextend on next 1m maxsize 20m extent management local uniform size 1m segment space management auto; # 확인 select a.file#, a.name file_name, b.name file_name, b.name tbs_name, a.status, a.checkpoint_change# from v$datafile a, v$tablespace b where a.ts# = b.ts#; # trace 생성 SQL> alter..

백업한 control file 내용과 현재 data file 정보가 틀릴 경우

SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC ---------- ---------- ---------- ---------- ---------- ---------- --- STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME ---------------- ------------- --------- ------------ --------- 7 1 1 104857600 512 1 NO CURRENT 837442 18-JAN-24 2.8147E+14 8 1 0 104857600 512 1 YES UNUSED 0 0 9 1 0 104857600 512 1 YES UNUSED ..

모든 data file, redo log file, control file 손상되었을 경우

SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC ---------- ---------- ---------- ---------- ---------- ---------- --- STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME ---------------- ------------- --------- ------------ --------- 7 1 1 104857600 512 1 NO CURRENT 834109 18-JAN-24 2.8147E+14 8 1 0 104857600 512 1 YES UNUSED 0 0 9 1 0 104857600 512 1 YES UNUSED ..

undo Data file 장애 발생했을 경우

1. 테이블 생성 create table hr.new_202401 as select * from hr.employees; 2) 조회 SELECT f.file_name FROM dba_extents e, dba_data_files f WHERE f.file_id = e.file_id AND e.segment_name = 'NEW_202401' AND e.owner='HR'; => users01 TBS에 저장됨 2. 장애발생 SQL> ! rm /home/oracle/arch1/*.* SQL> ! rm /home/oracle/arch2/*.* SQL> ! rm /u01/app/oracle/oradata/ora11g/users01.dbf --> user01 TBS, 아카이브정보 삭제 3. 가정) 업무때문에 DB..

728x90
반응형
LIST