"장애 유형별 복구 절차"의 두 판 사이의 차이
DB CAFE
(→spfile restore) |
(→spfile restore) |
||
26번째 줄: | 26번째 줄: | ||
#: <source lang=sql> RMAN> list backup of spfile </source> | #: <source lang=sql> RMAN> list backup of spfile </source> | ||
# Log directory 에서 Db ID를 검색 한다. | # Log directory 에서 Db ID를 검색 한다. | ||
− | #:<source lang= | + | #: <source lang=bash>cat *.trc|grep 'Db ID='</source> |
− | #:<source lang=bash>cat *.log|grep 'DBID'</source> | + | #: <source lang=bash>cat *.log|grep 'DBID'</source> |
# 백업파일에서 Db ID 를 식별한다. | # 백업파일에서 Db ID 를 식별한다. | ||
− | #:<source lang=sql>ls -al /ZFS/BACKUP/DATA_<DB_NAME>_01/DCH1</source> | + | #: <source lang=sql>ls -al /ZFS/BACKUP/DATA_<DB_NAME>_01/DCH1</source> |
− | #:<source lang=sql>==> data_D-DB_TESTI-123456789_TS-TEST......</source> | + | #: <source lang=sql>==> data_D-DB_TESTI-123456789_TS-TEST......</source> |
− | #:<source lang=sql>==> dbid는 123456789 이다</source> | + | #: <source lang=sql>==> dbid는 123456789 이다</source> |
# DBID를 설정하고 db를 nomount 상태로 기동한다. | # DBID를 설정하고 db를 nomount 상태로 기동한다. | ||
− | #:<source lang=sql>RMAN> set dbid 123456789 </source> | + | #: <source lang=sql>RMAN> set dbid 123456789 </source> |
− | #:<source lang=sql>RMAN> startup force nomount </source> | + | #: <source lang=sql>RMAN> startup force nomount </source> |
# 임시영역으로 spfile을 restore 한다 | # 임시영역으로 spfile을 restore 한다 | ||
− | #:<source lang=sql>RMAN> restore spfile to '/oracle/app/product/19.3.0/dbs/spfile/<ORACLE_SID>.ora' from '/ZFS/BACKUP/DATA_<DB_NAME>_##/<channel#>/<BACKUPFILE>'</source> | + | #: <source lang=sql>RMAN> restore spfile to '/oracle/app/product/19.3.0/dbs/spfile/<ORACLE_SID>.ora' from '/ZFS/BACKUP/DATA_<DB_NAME>_##/<channel#>/<BACKUPFILE>'</source> |
− | #:<source lang=sql>RMAN> shutdown immediate; </source> | + | #: <source lang=sql>RMAN> shutdown immediate; </source> |
==== 파라미터파일 ==== | ==== 파라미터파일 ==== |
2024년 1월 22일 (월) 11:16 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
- 1 장애 유형별 복구 절차
- 1.1 파라미터 파일 손상,유실 - 디비 기동중
- 1.2 파라미터 파일 손상,유실 - 디비 중지 상태
- 1.3 파라미터 파일 장애 복구 절차 (RAC + ASM 환경 )
- 1.4 control file 손상,유실 - 일부분
- 1.5 control file 손상,유실 - 전체
- 1.6 Redo log group 손상,유실 - ACTIVE 상태
- 1.7 Redo log group 손상,유실 - CURRENT 상태
- 1.8 UNDO Tablespace 손상,유실
- 1.9 데이터파일 손상,유실
- 1.10 사용자 실수에 의한 테이블 삭제 - Flashback
- 1.11 사용자 실수에 의한 테이블 삭제 - 복구 환경
1 장애 유형별 복구 절차[편집]
1.1 파라미터 파일 손상,유실 - 디비 기동중[편집]
- 장애발생 확인
- 파라미터 파일이 손상되어 변경정보를 파라미터 파일에 저장 할수 없다.
- 파일 복구 실시
- 메모리 설정값을 이용하여 파라미터 파일을 재생서우한다
- 정상 확인
- 오류 없이 파라미터가 변경되는지 확인
1.2 파라미터 파일 손상,유실 - 디비 중지 상태[편집]
- 장애발생 확인
- 파라미터 파일이 손상되어 DB를 기동 할수 없다.
- 파일 복구 실시
- 백업된 파일에서 파라미터 파일을 찾는다.
- 백업 piece로 부터 파라미터파일을 restore 한다.
- DB 기동
- DB를 OPEN(force) 한다
- 정상 확인
- 오류 없이 정상 기동 하는지 확인
1.3 파라미터 파일 장애 복구 절차 (RAC + ASM 환경 )[편집]
1.3.1 장애발생[편집]
- 파라미터 파일이 손상되어 DB 기동 불가 확인.
1.3.2 spfile restore[편집]
- 백업 영역에서 파라미터파일을 임시영역에 restore 한다
RMAN> list backup of spfile
- Log directory 에서 Db ID를 검색 한다.
cat *.trc|grep 'Db ID='
cat *.log|grep 'DBID'
- 백업파일에서 Db ID 를 식별한다.
ls -al /ZFS/BACKUP/DATA_<DB_NAME>_01/DCH1
==> data_D-DB_TESTI-123456789_TS-TEST......
==> dbid는 123456789 이다
- DBID를 설정하고 db를 nomount 상태로 기동한다.
RMAN> set dbid 123456789
RMAN> startup force nomount
- 임시영역으로 spfile을 restore 한다
RMAN> restore spfile to '/oracle/app/product/19.3.0/dbs/spfile/<ORACLE_SID>.ora' from '/ZFS/BACKUP/DATA_<DB_NAME>_##/<channel#>/<BACKUPFILE>'
RMAN> shutdown immediate;
1.3.3 파라미터파일[편집]
- 임시영역의 파라민터 파일을 이용하여 DB를 기동,spfile을 재생성한다.
SQL> startup
SQL> create spfile='+DATA' from memory;
SQL> shutdown immediate;
1.3.4 DB 기동[편집]
- DB를 정상 기동한다.
srvctl start database -d <DB_NAME>
1.4 control file 손상,유실 - 일부분[편집]
- 장애 발생 확인
- 3중화된 control file 중 하나가 손상되 인스턴스가 비정상 상태임.
- DB 종료
- control file 복구를 위해 DB 종료
- Control file 복사
- 파라미터 파일에서 control file 이름 확인
- nomount 상태로 DB 기동
- rman 명령어로 정상 control file로 부터 새로운 control file을 복사한다.
- DB 파라미터 변경
- 신규 생성된 control file 이름을 파라미터 파일에 적용한다(ASM)
- DB 기동
- DB(force)를 오픈한다.
- 정상 기동 확인
- 오류없이 정상 기동 확인
1.5 control file 손상,유실 - 전체[편집]
- 장애 발생 확인
- 3중화된 control file 전체가 손상되 인스턴스가 비정상 상태임.
- DB 종료
- control file 복구를 위해 DB 종료
- Control file 복사
- nomount 상태로 DB 기동
- 백업된 control file 을 확인.
- control file을 restore 한다.
- 블완전 복구 실시
- DB를 mount 한다
- 백업본으로 부터 데이터 파일을 restore 한다.
- control file을 이용하여 블완전 복구를 수행한다.
recover database using backup controlfile
- DB 기동
- DB를 OPEN(resetlogs) 한다.
- 정상 기동 확인
- 오류없이 정상 기동 확인
1.6 Redo log group 손상,유실 - ACTIVE 상태[편집]
- 장애발생
- Active 상태의 redo log group 멤버 전체 파일이 손상되어 log file switch 불가 , 아카이브 hang 발생후 비정상 종료 됨
- DB 마운트
- 복구를 위해 DB를 마운트 한다.
- 장애가 발생한 redo log group 번호를 alert로그 파일에서 확인 한다.
- redo log file 초기화
- 장애가 발생한 redo log group을 초기화 한다.
alter database clear unarchived logfile group #
- DB 기동
- DB를 OPEN 한다.
- 정상 확인
- log file 정상 switch 확인
1.7 Redo log group 손상,유실 - CURRENT 상태[편집]
- 장애발생
- CURRENT 상태의 redo log group 전체 파일이 손상되어 log file switch 불가 , 비정상 종료 됨
- DB 마운트/데이터파일 restore
- 복구를 위해 DB를 마운트 한다.
- 백업파일에서 데이터파일과 control file을 restore 한다.
- 블완전 복구
- 불완전 복구를 수행한다
- 손상된 redo log group 의 종료전 sequence 이전까지 블완전 복구를 수행한다.
recover database until cancel
- DB 기동
- DB를 OPEN (resetlogs)한다.
- 정상 확인
- log file 정상 switch 확인
1.8 UNDO Tablespace 손상,유실[편집]
- 장애발생
- 롤백세그먼트 사용중인 UNDO Tablespace에 손상이 발생하여 UNDO Tablespace사용이 불가하고 신규 Tablespace 생성중 오류 발생
- 임시 파라미터 적용
- 복구를 위해 임시 파라미터를 적용
- UNDO Tablespace 강제로 offline 시킴
alter database datafile [...] offline drop
- UNDO Tablespace 삭제
- 기존 UNDO Tablespace를 drop 한다
drop tablespace [undotbs01] include contents and datafiles
- DB 정상 오픈
- 복구를 위해 임시 적용된 파라미터를 원복한다
- DB 정상 오픈 한다
1.9 데이터파일 손상,유실[편집]
- 장애발생
- 데이터파일 손상으로 데이타 읽기,쓰기 오류 발생
- 데이터파일 오프라인
- alert log에서 장애파일 확인
- 장애가 발생한 데이터파일 오프라인 처리
- 데이터파일 복구
- 백업본에서 장애가 발생한 데이터파일 restore
- 데이터파일 복구(media recovery)한다
- 정상 확인
- 읽기,쓰기가 정상인지 확인한다
1.10 사용자 실수에 의한 테이블 삭제 - Flashback[편집]
- 장애발생
- 사용자 실수로 테이블 삭제, 테이블 조회 불가한 상태, flashback은 가능한 상태
- 테이블 복구
flashback table [테이블명] to before drop
- 정상확인
- 삭제된 테이블 정상 조회 확인
1.11 사용자 실수에 의한 테이블 삭제 - 복구 환경[편집]
- 장애발생
- 사용자 실수로 테이블 삭제, 테이블 조회 불가한 상태, flashback은 불가능한 상태
- 복구DB 환경구성
- 백업서버등 임시환경에서 복구DB 구성
- 운영DB spfile,control file,아카이브파일을 복구DB로 전송한다
- 벡업본으로 데이터파일을 restore 한다
- 테이블 복구
- 테이블 삭제 이전 시점까지 복구 수행
recover database until time ...
- 복구된 테이블을 운영 DB로 이관한다
- 정상확인
- 삭제된 테이블 정상 조회 확인