Oracle 데이터베이스 온라인 백업 작업 내용 및 답변 BZUniversity

Oracle 데이터베이스 온라인 백업 작업 작업 설명서

온라인 백업 단계
(1) 데이터 사전 dba_data_files를 사용하여 백업해야 할 데이터 파일과 해당 테이블 공간을 찾습니다. 선택적 단계.
(2) 데이터 사전 v 사용백업 데이터 파일의 백업 상태를 확인합니다. 선택적 단계. 상태가 NOTACTIVE이며 데이터가 백업되지 않습니다. (3) altertablespacetables pacenamebeginbackup 명령은 백업할 테이블스페이스를 백업 상태로 설정한다. (4) 운영 체제 복사 명령을 사용하여 테이블 공간에 해당하는 모든 데이터 파일을 백업 매체에 복사하십시오. (5) altertablespacetables pacenameendbackup 명령은 성공적으로 백업된 테이블스페이스를 백업 종료 상태로 재설정합니다. (6) 보관된 로그 파일에 현재 리두 로그 파일의 정보를 씁니다. (7) 데이터 사전 v 백업을 사용하여 데이터 파일의 백업 상태를 확인합니다. 선택적 단계. 상태가 NOT ACTIVE이고 데이터가 백업되지 않습니다. (3) alter tablespace tablespacename begin backup 명령은 백업할 테이블스페이스를 백업 상태로 설정한다. (4) 운영 체제 복사 명령을 사용하여 테이블스페이스에 해당하는 모든 데이터 파일을 백업 매체에 복사합니다. (5) alter tablespace tablespacename end backup 명령은 성공적으로 백업된 테이블스페이스를 재설정하여 백업 상태를 종료합니다. (6) 보관된 로그 파일에 현재 리두 로그 파일의 정보를 씁니다. (7) 데이터 사전 v를 사용하는 경우백업 데이터 파일 백업 상태 확인 합니다 . _ _ 선택적 단계 . 상태N O T A C T I V E 입니다 .백업 데이터 없습니다 . _ ( 3 ) 대체 공간 이름 변경 백업 명령 준비 됩니다 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _사본 테이블스페이스 백업 상태 설정됩니다 . ( 4 ) 운영 체제 복사 명령을 사용 하여 테이블 공간 해당하는 모든 데이터 파일 백업 매체 복사 하십시오 . ( 5 ) 변경 _ _ _ _ _ _ _l e p c e t a b l e p a c e c e name e n d back up 명령 성공적 으로 백업 테이블 스페이스 재설정 하고 백업 _ 복사 상태 종료 합니다 . _ _ _ _ ( 6 ) 현재 기간 _리두 로그 파일 정보 아카이브 로그 파일 기록 됩니다 . ( 7 ) 데이터 사전 v 백업을 사용하여 데이터 파일의 백업 상태를 확인하십시오 . 선택적 단계.
(8) 운영 체제 명령 또는 도구를 사용하여 운영 체제 파일이 생성되었는지 확인합니다. 선택적 단계.

2 온라인 백업 적용 예
0 Create tablespace
create tablespace test datafile '/u01/test.dbf' size 1M,
1 alter tablespace tablespacename begin backup 명령으로 백업할 테이블스페이스를 백업 상태로 설정한다.
alter tablespace test begin backup
2 운영 체제 copy 명령을 사용하여 테이블스페이스에 해당하는 모든 데이터 파일을 백업 매체에 복사합니다.
host mkdir /u01/hotbackup
host cp /u01/test.dbf /u01/hotbackup/ test.dbf
3 alter tablespace tablespacename end backup 명령은 성공적으로 백업된 테이블스페이스를 재설정하여 백업 상태를 종료합니다.
alter tablespace test end backup
4 보관된 로그 파일에 현재 리두 로그 파일 정보를 기록한다.
시스템 아카이브 로그 현재 변경,
시스템 아카이브 로그 모두 변경,

3. 복구완료
0 테스트테이블스페이스에테스트테이블을생성하고데이터를삽입하고테스트테이블스페이스에해당하는데이터파일 test.dbf 를삭제하여복구가필요하도록한다.
create table test (a int) tablespace test test
values에 삽입(1)
test values에 삽입(1)
commit
shutdown
host rm /u01/test.dbf
1 데이터베이스를 열면 오류가 발생합니다.
시작
2 데이터 사전 v$datafile을 사용하여 복원할 데이터 파일의 파일 이름을 확인합니다.
3 데이터베이스 데이터 파일 '데이터 파일 이름' 오프라인 변경 명령은 문제가 있는 데이터 파일을 오프라인으로 설정합니다.
데이터베이스 데이터 파일 '/u01/test.dbf' 오프라인 변경,
4 데이터베이스 열기 명령을 변경하여 데이터베이스를 엽니다. 잘못된 데이터 파일이 오프라인 상태이므로 다른 모든 데이터 파일이 동기화됩니다. 4단계는 7단계 뒤에 배치할 수 있습니다.
데이터베이스 열기 변경
5 운영 체제 복사 명령을 사용하여 백업된 데이터 파일을 데이터베이스의 원래 위치에 복사합니다.
host cp /u01/hotbackup/ test.dbf /u01/test.dbf
6 복구 명령을 사용하여 아카이브 로그 파일 및 리두 로그 파일에서 제출된 모든 데이터를 복구된 데이터 파일로 다시 씁니다.
데이터베이스 복구 데이터 파일 '/u01/test.dbf' 변경
7 데이터베이스 온라인 데이터 파일 변경
데이터베이스 데이터 파일 '/u01/test.dbf' 온라인 변경 사용
8 복구가 성공했는지 확인합니다. 복구 성공의 기준은 무엇입니까?
select * from test는
실패 전 데이터베이스의 상태를 기반으로 복구 성공 여부를 결정합니다. 오프라인 복구는 백업 당시의 데이터베이스 상태를 기반으로 합니다.

백업 및 복구 프로세스가 다음과 같은 경우: 먼저 테스트 테이블 공간에 테스트 테이블을 생성하고 테스트 테이블에 데이터를 입력하고 제출한 다음 백업합니다. 그런 다음 테이블 데이터를 삭제한 다음 데이터베이스를 완전히 복원하는 실패를 시뮬레이트합니다.복구가 성공한 후 테스트 테이블에 데이터 행이 있습니까?

4개의 온라인 백업은 RMAN을 사용하여 데이터 파일 복원
(1) RMAN 시작
[oracle@localhost ~]$ rman target /
(2) 복원할 데이터 파일 오프라인
RMAN>sql'alter datafile 6 offline',
(3) 데이터 재구축 파일
RMAN >데이터 파일 복원 6
(4) 데이터 파일 복원
RMAN>데이터 파일 6 복구
(5) 데이터 파일 온라인 저장
RMAN>sql'alter datafile 6 online';

완전한 데이터베이스 복구 방법
Oracle은 수많은 데이터베이스 시스템 애플리케이션을 분석한 후 다음과 같은 네 가지 완전한 데이터베이스 복구 방법을 요약했습니다. 이 4가지 완전한 복구 방법은 대부분의 데이터베이스 애플리케이션 환경을 다루었습니다.
(1) 데이터베이스가 처음 열린 상태에서 열린 데이터베이스의 복구가 수행됩니다 .
(2) 데이터베이스가 처음 닫힐 때 열려 있는 데이터베이스를 복원합니다.
(3) 백업 없이 데이터 파일을 복원합니다.
(4) 닫힌 상태에서 데이터베이스를 복원합니다.
위의 데이터베이스 복구를 수행할 때 필요한 보관된 로그 파일은 Oracle 서버가 액세스할 수 있는 디스크에 있어야 합니다. 보관된 로그 파일이 테이프에 있는 경우 실제 작업을 시작하기 전에 디스크에 복사해야 합니다. 데이터베이스 복구가 작동합니다.

2. 복구 관련 복구 명령어 및 데이터 딕셔너리
복구[자동] 데이터베이스
복구[자동]테이블스페이스 "테이블스페이스 번호 | 테이블스페이스 이름"
복구[자동] 데이터파일 "데이터 파일 번호 | 데이터 파일 이름"

dba_data_files 데이터베이스에 있는 모든 데이터 파일의 파일 번호, 파일 이름 및 해당 테이블 공간 이름을 가져옵니다.
dba_tablespace는 데이터베이스에 있는 모든 테이블스페이스의 현재 상태를 가져옵니다.
v datafile은 데이터베이스에 있는 모든 데이터 파일의 현재 상태를 가져옵니다. v datafile은 데이터베이스에 있는 모든 데이터 파일의 현재 상태를 가져옵니다. v데이터 파일 e 데이터베이스 에 있는 모든 데이터 파일의 현재 상태 가져오기 v recover_file 데이터베이스 에서 복구 해야 하는 파일 가져 오기 , 보기 정보 는 백업 또는 재구성 에서 제어 파일과 같은 제어 파일에서 가져옵니다. 정보가 정확하지 않습니다.
vrecoverylog는 복구에 사용해야 하는 모든 로그를 쿼리합니다. v recovery_log는 복구에 사용해야 하는 모든 로그를 쿼리합니다. v복구 _ _ _ _ _ _ _내가o g 복구 에 사용해야 하는 모든 로그 쿼리 v archived_log 아카이브 된 모든 로그 목록 쿼리

3. 데이터베이스 최초 오픈 시 복원
1 해당 시나리오
(1) 복원할 데이터 파일이 시스템 테이블스페이스 또는 복원/롤백 세그먼트 테이블스페이스에 속하지 않음
(2) 마그네틱 매체 손상, 데이터 파일
(3) 데이터베이스 24*7 방법
2 방법 단계
(1) 데이터 사전 dba_data_files를 사용하여 복원할 데이터 파일, 해당 테이블스페이스 및 해당 테이블스페이스를 가져옵니다 . 관련 정보.
(2) 데이터 사전 dba_tablespaces를 사용하여 복원할 테이블 공간이 오프라인인지 온라인인지 확인하거나 데이터 사전 v를 사용하십시오.datafile 복원할 데이터 파일이 오프라인인지 온라인인지 식별합니다. (3) 테이블스페이스가 온라인이면 먼저 테이블스페이스를 오프라인으로 설정합니다. 데이터 파일을 오프라인으로 설정할 수도 있습니다. 이미 오프라인 상태인 경우 이 단계가 필요하지 않습니다. (4) 운영 체제 명령은 백업된 데이터 파일을 데이터베이스의 원래 위치로 다시 복사합니다. (원래 위치가 아닌 경우 어떻게 하나요?) (5) 복구 명령을 사용하여 보관된 로그 파일 및 리두 로그 파일에서 제출된 모든 데이터를 복구된 데이터 파일로 다시 씁니다. recovertablespace tablespace name recoverdatafile data file name (6) altertablespacealterd abase online tablespace or data file (7) 복구 중 백업 데이터 파일이 다른 위치로 복사되면 데이터 딕셔너리 dbadatafiles를 다시 사용하여 복원할 해당 데이터 파일을 얻어 테이블스페이스를 복구하고, 데이터 파일이 올바른 위치에 복사되었는지 확인하십시오. (8) 데이터 딕셔너리 dbatablespaces를 다시 사용하여 복원할 테이블스페이스가 온라인인지 확인하거나 데이터 딕셔너리 v datafile을 사용하여 복원할 데이터 파일이 오프라인인지 온라인인지 확인합니다. (3) 테이블스페이스가 온라인이면 먼저 테이블스페이스를 오프라인으로 설정합니다. 데이터 파일을 오프라인으로 설정할 수도 있습니다. 이미 오프라인 상태인 경우 이 단계가 필요하지 않습니다. (4) 운영 체제는 백업된 데이터 파일을 데이터베이스의 원래 위치로 다시 복사하도록 명령합니다. (원래 위치가 아닌 경우 어떻게 하나요?) (5) 복구 명령을 사용하여 보관된 로그 파일 및 리두 로그 파일에서 제출된 모든 데이터를 복구된 데이터 파일로 다시 씁니다. recover tablespace tablespace name recover datafile data file name (6) alter tablespace alter database online tablespace or data file (7) 복구 중 백업 데이터 파일이 다른 위치로 복사되면 데이터 딕셔너리 dba_data_files를 다시 사용하여 복구할 데이터를 얻습니다. 파일 및 해당 테이블스페이스에서 데이터 파일이 올바른 위치에 복사되었는지 확인합니다. (8) 데이터 딕셔너리 dba_tablespaces를 다시 사용하여 복원할 테이블스페이스가 온라인인지 확인하거나 데이터 딕셔너리 v를 사용합니다.d a t a file 복원 데이터 파일 오프라인 인지 온라인 인지 확인 _ _ _ _ _ _ ( 3 ) 테이블 스페이스 온라인 이면 먼저 테이블 스페이스 오프라인 으로 설정 한다 . _ 또한 할 수 있습니다데이터 파일을 오프라인 으로 전환 합니다 . 이미 오프라인 상태인 경우 단계 필요 하지 않습니다 . _ ( 4 ) 운영 체제 명령 백업된 데이터 파일을 데이터베이스 원래 위치 다시 복사 합니다 .( 원래 위치 아닌 경우 어떻게 하나요 ? ) ( 5 ) reco v r 명령을 사용 하여 보관 로그 파일 리두 로그 파일 에서 제출 모든 데이터 다시 작성합니다 . 복구된 데이터 파일 가져 옵니다 ._복구 공간 테이블 공간 이름 복구 데이터 파일 이름 ( 6 ) a l t e r t _ _ _ _ _ _ _ a b l _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ e 스페이스 _ _ _ _ _ _terdatabase 온라인 테이블 스페이스 또는 데이터 파일 ( 7 ) 백업 데이터 파일 복구 다른 위치 복사 되면 다시 사용 _ _ 데이터 사전 d b a _ _ _ _ _ _ _ _ _ _ __ _에프i les 복원 데이터 파일 해당 테이블 공간 확보 하고 데이터 파일 올바른 위치 복사 되었는지 확인 하십시오 . _ _ _ ( 8 ) 데이터 사전 d b a를 다시 사용a b e space s 복원 테이블 공간이 온라인 상태인지 가져 오거나 데이터 사전 v datafile 사용 하여 복원 데이터 파일이 상태인지온라인 확인 합니다 .
3 구체적인 예
예: 일반 사용자 테이블스페이스에서 손실된 데이터 파일 복구(사용자 테이블스페이스에서 손실된 데이터 파일 복구)
온라인 백업 및 결함 시뮬레이션 프로세스
(1) 사용자 테이블스페이스
호스트 mkdir /u01/hotbackup
변경 테이블스페이스 사용자가 백업을 시작하는 온라인 백업
host cp /u01/app/oracle/oradata/orcl/users01.dbf /u01/hotbackup/users01.dbf
alter tablespace users end backup
(2) scott user를 사용하여 실험 테이블 테스트 생성
conn scott/tiger
create table test as select * emp에서,
(3) 사용자 테이블스페이스 데이터 파일
호스트 rm /u01/app/oracle/oradata/orcl/users01.dbf를 삭제합니다
. (4) 캐시
변경 시스템 플러시 buffer_cache를 지웁니다.
(5) scott 사용자 쿼리 테스트에서 결함
conn을 찾았습니다. / as sysdba
conn scott/tiger
select * from test
select * from test
*
ERROR at line 1:
ORA-01116: 데이터베이스 파일 4 열기 오류
ORA-01110: 데이터 파일 4: '/u01/app/oracle/oradata/orcl / users01.dbf'
ORA-27041: Linux 파일을 열 수 없습니다
. 오류: 2: 해당 파일 또는 디렉토리가 없습니다.
추가 정보: 3

복구 프로세스 ( 1
) 오프라인 사용자 테이블스페이스 데이터 파일 users01.dbf
데이터베이스 데이터 파일 4 변경 오프라인
(2) 백업 파일을 해당 위치에 복원
/users01.dbf
(3) 온라인 시도, 오류 보고, 복원 필요
변경 데이터베이스 데이터 파일 4 온라인
(4) 제어 파일 및 데이터 파일 헤더에서 파일의 체크포인트 정보를 쿼리하고 불일치를 찾아 복원해야 함
select file#,error ,change# from v KaTeX 구문 분석 오류: 예상 'EOF', 위치 38에 '#'이 있음: …eckpoint_change#̲,last_change# f... datafile where file#=4
select checkpoint_change# from v KaTeX 구문 분석 오류: 예상 'EOF' , 위치 27에 '#' 있음: ...ader where file#̲=4 (5) 복구 파일... recover_file
select checkpoint_change#,last_change# from vKaTeX 구문 분석 오류: 예상 'EOF', 위치 20에 '#' 표시: …file where file#̲=4 select check… datafile_header where file#=4
(7) 온라인 데이터 파일, 복구가 성공했는지 확인합니다.
데이터베이스 데이터 파일 변경 4 온라인
conn scott/tiger
select * from test

4. 초기에 닫힌 상태에서 데이터베이스 복구 열기
1 해당 시나리오
(1) 복구할 데이터 파일이 시스템 테이블 공간 또는 복원/롤백 세그먼트 테이블 공간에 속하지 않음
(2) 미디어 손상, 하드웨어 손상 또는 데이터 파일이 손상되었습니다. 손실로 인해 이미 데이터베이스가 종료되었습니다.
(3) 데이터베이스는 24*7입니다. 방법
2 방법 단계
(1) 시작 마운트 명령을 사용하여 데이터베이스를 로드합니다. 손상된 데이터 파일을 열 수 없기 때문에 데이터베이스를 열 수 없습니다.
(2) 데이터 사전 v 사용datafile 복원할 데이터 파일의 파일 이름을 확인합니다. 이 경우 데이터베이스가 열려 있을 때만 데이터 사전을 사용할 수 있기 때문에 dbadatafiles를 사용할 수 없습니다. (3) alterdatabasedatafile '데이터 파일 이름' 오프라인 명령은 문제가 있는 데이터 파일을 오프라인으로 설정합니다. 이 경우 이 명령은 데이터베이스가 열려 있을 때만 사용할 수 있기 때문에 altertablespace 명령을 사용하여 문제가 있는 테이블스페이스를 오프라인으로 설정할 수 없습니다. (4) alterdatabaseopen 명령은 데이터베이스를 엽니다. 잘못된 데이터 파일이 오프라인 상태이므로 다른 모든 데이터 파일이 동기화됩니다. (5) 운영 체제 복사 명령을 사용하여 백업된 데이터 파일을 데이터베이스의 원래 위치에 복사합니다. 매체가 손상된 경우 백업 데이터 파일을 다른 매체에 복사한 후 alterdatabaserenamefile 명령을 사용하여 데이터 파일 이름을 수정하십시오. (6) 복구 명령을 사용하여 보관된 로그 파일 및 리두 로그 파일에서 제출된 모든 데이터를 복구된 데이터 파일로 다시 씁니다. recovertablespace 테이블스페이스 이름 또는 recoverdatafi를 사용할 수 있습니다. 파일 데이터 파일 이름. (7) 복구가 완료되면 온라인 테이블스페이스나 데이터 파일을 기반으로 altertablespacealterd를 사용한다. (8) 복구 중 백업 데이터 파일이 다른 위치에 복사된 경우 데이터 사전 dbadatafiles를 다시 사용하여 복원할 데이터 파일과 해당 테이블 공간을 획득하고 데이터 파일이 올바른 위치에 복사되었는지 확인합니다. (9) 데이터 사전 dbatablespaces를 다시 사용하여 복원할 테이블스페이스가 온라인인지 확인하거나 데이터 사전 v datafile을 사용하여 복원할 데이터 파일의 파일 이름을 확인합니다. 이 경우 데이터 사전은 데이터베이스가 열려 있어야만 사용할 수 있으므로 dba_data_files를 사용할 수 없습니다. (3) 데이터베이스 데이터 파일 '데이터 파일 이름' 오프라인 변경 명령은 문제가 있는 데이터 파일을 오프라인으로 설정합니다. 이 경우 데이터베이스가 열려 있을 때만 사용할 수 있기 때문에 alter tablespace 명령을 사용하여 문제가 있는 테이블스페이스를 오프라인으로 설정할 수 없습니다. (4) 데이터베이스 열기 명령을 변경하여 데이터베이스를 엽니다. 잘못된 데이터 파일이 오프라인 상태이므로 다른 모든 데이터 파일이 동기화됩니다. (5) 운영 체제 복사 명령을 사용하여 백업된 데이터 파일을 데이터베이스의 원래 위치에 복사합니다. 매체가 손상된 경우 백업 데이터 파일을 다른 매체에 복사한 후 alter database rename file 명령을 사용하여 데이터 파일 이름을 수정하십시오. (6) 복구 명령을 사용하여 아카이브 로그 파일 및 리두 로그 파일에서 커밋된 모든 데이터를 복구된 데이터 파일로 다시 씁니다. 복구 테이블스페이스 테이블스페이스 이름 또는 복구 데이터 파일 데이터 파일 이름을 사용할 수 있습니다. (7) 복구 완료 후 변경 사용 tablespace alter database 온라인 테이블스페이스 또는 데이터 파일. (8) 복구 중 백업 데이터 파일이 다른 위치에 복사된 경우 데이터 사전 dba_data_files를 다시 사용하여 복원할 데이터 파일과 해당 테이블스페이스를 획득하고 데이터 파일이 올바른 위치에 복사되었는지 확인합니다. (9) 데이터 딕셔너리 dba_tablespaces를 다시 사용하여 복원할 테이블스페이스가 온라인인지 확인하거나 데이터 딕셔너리 v를 사용합니다.d a t a file 복원 데이터 파일 파일명 확인 합니다 . _ _ _ 경우 d b a를 사용할 수 없습니다 ._ _에프데이터 사전 데이터베이스 열려 있을 때만 사용할 있기 때문 입니다 . _ _ _ ( 3 ) a l t e r d a t a t a ba sed d a t a t a 파일 ' 데이터 파일 이름 ' off f l _ _ine 명령은 문제 있는 데이터 파일을 오프라인으로 전환합니다 . _ _ _ 경우 _ _ _ 때문에 문제 가 있는 테이블 공간을 오프라인 으로 설정 하기 위해 a l ter t a b l e space space 명령 사용할 없습니다 .명령은 데이터베이스가 열려 있을 때만 사용할 있습니다 . ( 4 ) alterd abase open 명령 으로 데이터베이스 엽니 ._ _ _ _ _ _ _ _ _ _ _ _ _ 문제 데이터 파일이 오프라인 이기 때문에 ,다른 모든 데이터 파일은 동기화 됩니다 . _ ( 5 ) 운영 체제 복사 명령을 사용 하여 백업 데이터 파일을 데이터베이스 원래 위치 복사 합니다 . 미디어 손상된 경우 백업 _ _ _데이터 파일 다른 미디어 복사 다음 alterdatabaserenamefile 명령 사용 하여 데이터 파일 _ _ _ _ 이름 수정 합니다 . _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ( 6 ) rec o _ _ 사용v e r 명령은 아카이브 로그 파일 리두 로그 파일 에서 커밋 모든 데이터 복구 데이터 파일 다시 씁니다 . re c o v e r a b l e s p a c를 사용할 있습니다 .e 테이블 스페이스 이름은 복구 데이터 파일 이름 사용할 수도 있습니다 . _ _ _ _ _ _ _ _ _ _ _ _ _ ( 7 ) 복구 완료 변경 가능한 공간 변경 기를 사용 하십시오 . _ _ _ _ _ _ _ _ _ _ _ _ _데이터 기본 온라인 테이블 스페이스 또는 데이터 파일 . _ _ _ _ _ _ ( 8 ) 복구 백업 데이터 파일 다른 위치 복사 되면 데이터 사전 d b a다시 사용 하십시오 ._ _에프i les 복원 데이터 파일 해당 테이블 공간 확보 하고 데이터 파일 올바른 위치 복사 되었는지 확인 하십시오 . _ _ _ ( 9 ) 데이터 사전 d b a를 다시 사용a b e space s 복원 테이블 공간이 온라인 상태인지 가져 오거나 데이터 사전 v datafile 사용 하여 복원 데이터 파일이 상태인지온라인 확인 합니다 .
3 특정 예
예: 일반 사용자 테이블스페이스에서 손실된 데이터 파일 복구(테스트 테이블스페이스 데이터 파일 손실 복구)
온라인 백업 및 시뮬레이션 오류 프로세스
(0) 테이블스페이스 생성
테이블스페이스 테스트 데이터파일 '/u01/test.dbf' 크기 1M 생성,
(1) alter tablespace tablespacename begin backup 명령은 백업할 테이블스페이스를 백업 상태로 설정합니다.
alter tablespace test begin backup
(2) 운영 체제 copy 명령을 사용하여 테이블스페이스에 해당하는 모든 데이터 파일을 백업 매체에 복사합니다.
host mkdir /u01/hotbackup
host cp /u01/test.dbf /u01/hotbackup/test.dbf
(3) alter tablespace tablespacename end backup 명령은 성공적으로 백업된 테이블스페이스의 백업 상태를 재설정합니다.
alter tablespace test end backup
(4) 보관된 로그 파일에 현재 리두 로그 파일의 정보를 씁니다.
시스템 아카이브 로그 현재 변경,
시스템 아카이브 로그 모두 변경,
(5) 테스트 테이블 공간에 테스트 테이블을 생성하고 데이터를 삽입하고 테스트 테이블 공간에 해당하는 데이터 파일 test.dbf를 삭제하여 복구가 필요하도록 합니다.
테이블 생성 테스트(int) 테이블스페이스 테스트
테스트 값에 삽입(1)
테스트 값에 삽입(1)
커밋 종료
호스트
rm /u01/test.dbf
변경 시스템 플러시 buffer_cache;

복구 프로세스
(1)가 데이터베이스를 열고 실패합니다.
시작
(2) 데이터 사전 v$datafile을 사용하여 복원할 데이터 파일의 파일 이름을 확인합니다.
(3) 데이터베이스 데이터 파일 '데이터 파일 이름' 오프라인 변경 명령은 문제가 있는 데이터 파일을 오프라인으로 설정합니다.
데이터베이스 데이터 파일 '/u01/test.dbf' 오프라인 변경,
(4) 데이터베이스 열기 명령을 변경하여 데이터베이스를 엽니다. 잘못된 데이터 파일이 오프라인 상태이므로 다른 모든 데이터 파일이 동기화됩니다. 4단계는 7단계 뒤에 배치할 수 있습니다.
데이터베이스 열기 변경
(5) 운영 체제 복사 명령을 사용하여 백업 데이터 파일을 데이터베이스의 원래 위치에 복사합니다.
host cp /u01/hotbackup/ test.dbf /u01/test.dbf
(6) 복구 명령을 사용하여 아카이브 로그 파일 및 리두 로그 파일에서 제출된 모든 데이터를 복구된 데이터 파일로 다시 씁니다.
데이터베이스 복구 데이터 파일 '/u01/test.dbf' 변경 (7)
복구 후 데이터베이스 온라인 데이터 파일
변경 데이터베이스 데이터 파일 '/u01/test.dbf' 온라인 사용
(8) 복구 성공 여부 확인. 복구 성공의 기준은 무엇입니까?
테스트에서 * 선택

1 백업 없이 데이터 파일 복원
1 적용 시나리오
(1) 복원할 데이터 파일이 시스템 테이블 공간 또는 복원/롤백 세그먼트 테이블 공간에 속하지 않습니다.
(2) 미디어 손상 또는 사용자 오류로 인해 데이터 파일이 손실되었으나 이 데이터 파일은 백업된 적이 없습니다.
(3) 이 데이터 파일 생성 시부터 보관된 모든 로그 파일은 그대로 유지됩니다.

2 데이터 파일 구조 재구축
alter database create datafile "original file name", 이 명령은 원본 데이터 파일과 동일한 이름으로 데이터 파일을 재구축합니다.
데이터베이스 생성 데이터 파일 "원래 파일 이름"을 "새 파일 이름"으로 변경하면 이 명령으로 재구성한 데이터 파일의 이름이 원래 데이터 파일과 다릅니다.

3 방법 단계
(1) 데이터베이스가 열려 있으면 데이터 사전 dba_data_files를 사용하여 복원할 데이터 파일, 해당 테이블 공간 및 관련 정보를 가져옵니다.
(2) 데이터베이스가 열려 있으면 데이터 사전 dba_tablespaces를 사용하여 복원할 테이블스페이스가 오프라인인지 온라인인지 확인하거나 데이터 사전 v datafile을 사용하여 복원할 데이터 파일이 오프라인인지 온라인인지 확인합니다 . (3) 테이블스페이스가 온라인이면 먼저 테이블스페이스를 오프라인으로 설정해야 하며 데이터 파일도 오프라인으로 설정할 수 있습니다. 이미 오프라인 상태인 경우 이 단계가 필요하지 않습니다. 데이터베이스가 닫혀 있으면 startupmount 명령을 사용하여 데이터베이스를 탑재합니다. 그런 다음 alterdatabasedatafile "datafilename" offline; 명령을 사용하여 문제가 있는 데이터 파일을 오프라인으로 전환합니다. 마지막으로 alterdatabaseopen을 사용하여 데이터베이스를 엽니다. (4) 데이터 사전 v datafile을 사용하여 복원할 데이터 파일이 오프라인인지 온라인인지 확인합니다. (3) 테이블스페이스가 온라인이면 먼저 테이블스페이스를 오프라인으로 설정하거나 데이터 파일을 오프라인으로 설정할 수 있습니다. 이미 오프라인 상태인 경우 이 단계가 필요하지 않습니다. 데이터베이스가 닫혀 있으면 시작 마운트 명령을 사용하여 데이터베이스를 로드합니다. 그런 다음 데이터베이스 데이터 파일 "데이터 파일 이름" 오프라인 변경 명령을 사용하여 문제가 있는 데이터 파일을 오프라인으로 설정합니다. 마지막으로 alter database open을 사용하여 데이터베이스를 엽니다. (4) 데이터 사전 v 사용d a t a file 복원 데이터 파일 오프라인 인지 온라인 인지 확인 _ _ _ _ _ _ ( 3 ) 테이블 스페이스가 온라인 상태 경우 먼저 테이블 스페이스 오프라인 상태 설정 해야 합니다 .데이터 파일을 오프라인 으로 전환 합니다 . 이미 오프라인 상태인 경우 단계 필요 하지 않습니다 . _ 데이터베이스 닫혀 있으면 start t up mount 명령 사용 하여 데이터 로드 합니다 . _ _ _ _도서관 . 그런 다음 오프라인 에서 " 데이터 파일 이름 " 파일 사용 하십시오 . _ _ _ _ _ _ _ _ 파일 오프라인 으로 설정 됩니다 . _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 마지막으로, 다른 데이터베이스 열기 사용 하여 데이터베이스 십시오 . _ _ _ _ _ _ _ _ _ _ _ ( 4 ) 데이터 딕셔너리 v recover_file 을 사용하여 데이터 파일의 복구 상태를 확인하는데, 이때 error 열은 file not found, change# 열은 0, time 열은 0으로 표시되어야 합니다. 출력을 표시하지 않아야 합니다. (5) alter database create datafile을 사용하여데이터
파일 구조 재구축time column display Both have new values...datafile은 복원할 데이터 파일이 오프라인인지 온라인인지 확인합니다.

4 구체적인 예
예: 백업 없이 데이터 파일 복원(테스트 테이블스페이스 데이터 파일 손실 및 백업되지 않음)
온라인 백업 및 모의 실패 프로세스
(1) 테스트 테이블스페이스 생성
테이블스페이스 테스트 데이터 파일 '/u01/test01.dbf' 크기 5M 생성
(2 ) 실험 테이블 생성 테스트 테이블
생성 테스트(숫자(2)) 테이블스페이스 테스트,
테스트 값 삽입(1),
커밋,
(3) 테스트 테이블스페이스 데이터 파일
호스트 rf /u01/test01.dbf 삭제
(4) 지우기 캐시
변경 시스템 플러시 buffer_cache;
(5) 쿼리 테스트에 다시 연결하고 오류
conn/as sysdba
select * from test
select * from test
*
ERROR at line 1:
ORA-01116: 데이터베이스 파일 열기 오류
6 : 데이터 파일 6: '/u01/test01.dbf'
ORA-27041: 파일을 열 수 없습니다.
Linux 오류: 2: 그러한 파일이나 디렉토리가 없습니다.
추가 정보: 3

복구 프로세스
(1) 테스트 테이블스페이스 데이터 파일 test01.dbf 오프라인 가져오기
데이터베이스 데이터 파일 6 변경 오프라인
(2) 해당 위치에 데이터 파일 생성
변경 데이터베이스 생성 데이터 파일 '/u01/test01.dbf',
(3) 파일 복구
복구 데이터 파일 6
(4) 복구 성공 여부를 확인하기 위한 온라인 데이터 파일.
데이터베이스 데이터 파일 6 온라인 변경
* 테스트에서 선택

2 닫힌 상태에서 데이터베이스 복원
1 해당 시나리오
(1) 복원할 데이터 파일은 시스템 테이블스페이스 또는 복원/롤백 세그먼트 테이블스페이스에 속합니다.
(2) 전체 데이터베이스 또는 대부분의 데이터 파일을 복원해야 합니다.
(3) 24 7 동작이 아닌 작업 중에는 데이터를 끌 수 있습니다 .
2 방법 단계
(1) 데이터베이스가 열려 있으면 데이터 사전 dba_data_files를 사용하여 복원할 데이터 파일, 해당 테이블 공간 및 관련 정보를 가져옵니다.
(2) 데이터베이스가 열려 있으면 종료 명령을 사용하여 데이터베이스를 닫습니다. 가능한 경우 abort 옵션을 사용합니다.
(3) 로드하여 데이터베이스 종료 마운트를 시작합니다.
(4) 운영 체제 복사 명령을 사용하여 백업된 데이터 파일을 데이터베이스의 원래 위치로 다시 복사합니다. 매체가 손상된 경우 백업 데이터 파일을 다른 매체에 복사한 후 alter 명령을 사용하여 데이터 파일 이름을 수정하십시오.
(5) 복구 명령을 사용하여 보관된 로그 파일 및 리두 로그 파일에서 제출된 모든 데이터를 복구된 데이터 파일 복구 데이터베이스에 다시 씁니다.
(6) alter database open 명령을 사용하여 데이터베이스를 엽니다.
(7) 복구 중 백업 데이터 파일을 다른 미디어에 복사하는 경우 데이터 사전 dba_data_files를 다시 사용하여 복원할 데이터 파일과 해당 테이블스페이스를 가져와 데이터 파일이 올바른 위치에 복사되었는지 확인해야 합니다.
3 구체적인 예
예: 시스템 테이블스페이스 데이터 파일 손실 복구(시스템 테이블스페이스 데이터 파일 손실 복구)
온라인 백업 및 모의 장애 프로세스
(1) 시스템 테이블스페이스 온라인 백업
host mkdir /u01/hotbackup
alter tablespace system begin backup
host cp /u01/app/oracle/oradata/orcl/system01.dbf /u01/hotbackup/system01.dbf
alter tablespace system end backup
(2) sys 사용자를 사용하여 실험 테이블 테스트
create table test as select * from dba_objects
select count(
) from test
(3) 시스템 테이블 공간 데이터 파일
호스트 rm /u01/app/oracle/oradata/orcl/system01.dbf
삭제 (4) 캐시 지우기
alter system flush buffer_cache ; (5) sys 사용자가 sysdba로 conn
데이터베이스에 연결하지 못했습니다. 오류: ORA-01075: 현재 로그온되어 있습니다 . 경고: 더 이상 ORACLE에 연결되어 있지 않습니다.



복구 프로세스
(1)는 일반적으로 데이터베이스
종료를 즉시 닫을 수 없습니다
. ORA-00604: 재귀 SQL 레벨 2에서 오류가 발생
했습니다
. oradata/ orcl/system01.dbf' ORA-27041: Linux
파일을 열 수 없습니다. 오류: 2: 해당 파일 또는 디렉터리가 없습니다 . 추가 정보: 3

시작
ORA-01081: 이미 실행 중인 ORACLE을 시작할 수 없습니다. 먼저 종료하십시오.
(2) 通过kill进程方式
host ps -ef | grep dbw
oracle 2822 1 0 16:51 ? 00:00:00 ora_dbw0_orcl
오라클 3481 2796 0 17:46 pts/1 00:00:00 /bin/bash -c ps -ef | grep dbw
오라클 3483 3481 0 17:46 pts/1 00:00:00 grep dbw

host kill -9 2822
(3) 데이터베이스를 시작하거나 오류
시작이 있습니다.
(4) 해당 위치에 백업 파일을 복원합니다.
host cp /u01/hotbackup/system01.dbf /u01/app/oracle/oradata/orcl/ system01.dbf
(5) 복구 파일
복구 데이터 파일 1
(6) 제어 파일 및 데이터 파일 헤더에 있는 파일의 체크포인트 정보를 다시 쿼리하고 동일한
select checkpoint_change#,last_change# from v KaTeX 구문 분석 오류: 예상 'EOF', 위치 20에 ' #' 있음: …file where file#̲=1 select check… datafile_header where file#=1
(7) 온라인 데이터 파일, 복구 성공 여부 확인.
데이터베이스 열기 변경
* 테스트에서 선택

--------------------------------------------경계선---- --------------

대답은 다음과 같습니다.

무료 다운로드:
BZUniversity Online Backup and Complete Database Recovery.docx
https://download.csdn.net/download/weixin_42692989/33855386

추천

출처blog.csdn.net/weixin_42692989/article/details/120911793