백업 및 복원 Oracle 데이터 파일은 읽기 전용

백업 및 복원 데이터 (11) 읽기 전용 파일

읽기 전용 데이터 파일이 데이터 파일은 읽기 전용 테이블 스페이스의 데이터 블록 내부의 변화를 허용하는 헤더 파일을 포함

SQL> 읽기 전용 yhqt 테이블 스페이스를 변경하는 행위
SQL> 읽기 쓰기 yhqt 테이블을 변경;

11.1 읽기 전용 데이터 파일 손상의 결과

읽기 / 쓰기 상태 변화에서 테이블 스페이스 상태 읽기 전용으로 할 때, 더러운 블록이 데이터 파일을 디스크 DBWn 프로세스를 작성해야합니다, 불완전 전체가 테이블 스페이스 데이터 파일 내에서 전체 체크 포인트라고합니다 읽기 전용 데이터 파일을.

그리고 데이터 블록 헤더 정보는 체크 포인트, 읽기 전용 파일이나 다른 데이터가 온라인 로그 파일 여부를 동기화 체크 포인트 SCN을 확인하지 않습니다 데이터베이스 인스턴스를 열 때마다 변경되지 않지만 데이터 파일 내의 객체 액세스 권한을 부여하고 포함

- 실행 파일의 예는 없습니다

- 손상된 데이터 블록의 인스턴스가 실행되고

YHQT @ ORCL> yhqtest_1 SELECT * FROM;
yhqtest_1에서 *을 선택
              *
1 행에서 ERROR :
ORA-01578 오라클 데이터 블록이 손상 (파일 # 10, # 135 블록)
ORA-01110 : 데이터 파일 10 : '/u01/app/oracle/oradata/orcl/yhqt01.dbf '

- 발견 파일은 인스턴스 시작 누락

SQL> 시작
데이터베이스가 탑재
ORA-01157를 : / 잠금 데이터 파일 (10) 식별 할 수 없습니다 - 참조 DBWR 추적 파일
ORA-01110 : 데이터가 10 파일 : '/u01/app/oracle/oradata/orcl/yhqt01.dbf를'

- 파일 헤더 손상 인스턴스 시작을 찾을 수

SQL> 시작
데이터베이스가 탑재
ORA-01122를 : 데이터베이스 파일 (10)는 검증 체크에 실패
ORA-01110를 : 데이터가 10 파일 : '/u01/app/oracle/oradata/orcl/yhqt01.dbf'
ORA-01210은 : 데이터 파일 헤더가 손상 미디어입니다

읽기 전용 파일이 손상되면 무시하지 않는 검사 점 프로세스를 보내는 모든 동안, 파일이 일반 파일 헤더 데이터 (효과 자동 로그 오프 손상되지 않은 예 (손상 중요한 파일 시스템의 다른 결과를) 축소하지 않습니다 ) 만 경고 로그에서 오류의 머리에 접근 할 필요가 일반적으로 정상 파일을 읽기 전용으로 만 작업이 수행 될 때

SQL> 브이 $ 데이터 파일에서 선택 checkpoint_change 번호 어디에 파일 # = 10;

알람 로그 오류

손상된 블록 상대 DBA : 0x014000 (파일 10, 135 블록)

kcvxfh의 V10에서 발견 된 골절 블록

이 경우 (한 해당 데이터 블록이 손상되지 않는 한), 그러나 ALTER TABLESPACE 후 조회 또는 내부 할 수있는 모든 개체가 ... 쓰기를 읽고 온라인 ORA-01120 인 주어진 데이터 파일 손상 헤더 테이블 ... 오프라인으로 변경합니다.

11.2 백업

RMAN> 백업 세트의 테이블 스페이스 yhqt로 백업;

RMAN> 백업 백업 세트는 데이터 파일 (10)로서;

읽을 데이터 파일이 없기 때문에이 백업을 반복하지 않았다 있도록 전용 데이터 블록, 수정할 수 있습니다.

읽기 전용 데이터 백업 파일은 cp 명령을 사용할 수 있습니다

$ CP의 /u01/app/oracle/oradata/orcl/yhqt01.dbf의 /home/oracle/backup/yhqt01.bak

참고 :. 제어 파일 및 데이터 파일 손상이 향후 복구 과정에서 ORA-01152 발생할 수있는 경우 테이블 스페이스 읽기에서 수정 된 경우에만에만 쓰기 읽기 읽기, 당신은, 그렇지 않으면 즉시 데이터 파일과 컨트롤 파일을 백업 : 데이터를 이전 파일이 잘못되지 않습니다.

11.3 복구

데이터 파일 복구에있어서의 다른 유형 : 읽기 전용 파일 (복원) 감소 및 복구 (복구), 리두 로그, 더 복구시 복구 작업을 할 필요 없어

--mount 상태의 복구 단계

--1 SQL> 시작 마운트
--2 RMAN을> 데이터 파일 (10)을 복원;
--3 SQL은> 데이터베이스 열기를 변경;

--open에서 복구 단계

--1 SQL> 변경 데이터베이스 데이터 파일 (10) 오프라인;
--2 RMAN> 복원 데이터 파일 (10);
--3 SQL> 변경 데이터베이스 데이터 파일 (10) 온라인;

복구 전에 11.3.1 제조

정상이어야 마운트와 열린 상태, 매개 변수 파일 및 제어 파일을 복원 할 수있는 중요한 데이터 파일이 정상이어야합니다.

11.3.2 손상없이 제어 파일에서 복구

제어 파일에서 복구 손상없이 의미 : 읽기 전용 데이터 파일이 손상된 경우 제어 파일이 손상되지

시나리오 1 : 읽기 전용 데이터 파일 yhqt01.dbf 손실이 제대로 시작되지 DB, 마운트에 머물, ORA-01157은 / 잠금 데이터 파일 (10)을 식별 할 수 없습니다 - DBWR 추적 파일을 참조하십시오

그냥 RMAN이 데이터 파일을 복원 (백업 세트) 복원을 수행 사용한 다음 데이터베이스를 엽니 다

RMAN> 데이터 파일 (10)을 복원;
SQL> 데이터베이스 열기를 변경;

시나리오 2 : 읽기 전용 데이터 파일 yhqt01.dbf 인스턴스가, 손실 실행 액세스 데이터의 결과입니다

SQL> yhqt.t1 SELECT * FROM;
ORA-01116 : 열에서 오류 데이터베이스 파일 (10)
ORA-01110 : 데이터 파일 10 : /u01/app/oracle/oradata/orcl/yhqt01.dbf
ORA-27041 : 파일을 열 수 없습니다
: 2 : LINUX-x86-64에 오류 없음 파일 또는 디렉토리
--open
RMAN> 실행 {
sql'alter 데이터베이스 데이터 파일 (10) 오프라인 ';
복원 10 데이터 파일;
'sql'alter 데이터베이스 데이터 파일 (10) 온라인;
}

시나리오 3 : 런타임은 yhq01.dbf 데이터 블록 내에서 데이터 파일 손상 읽기 전용 액세스 데이터의 결과로,하지만 파일은 여전히 ​​존재

YHQT @ ORCL> yhqtest_1 SELECT * FROM;
yhqtest_1에서 *을 선택
              *
1 행에서 ERROR :
ORA-01578 오라클 데이터 블록이 손상 (파일 # 10, # 135 블록)
ORA-01110 : 데이터 파일 10 : '/u01/app/oracle/oradata/orcl/yhqt01.dbf '
--open
RMAN> 실행 {
sql'alter 데이터베이스 데이터 파일 (10) 오프라인';
데이터 파일 (10)의 힘을 복원;
'sql'alter 데이터베이스 데이터 파일 (10) 온라인;
}

회복의 미러 사본을 사용하여

RMAN> 실행 {
sql'alter 데이터베이스 데이터 파일 (10) 오프라인 ';
datafilecopy에 데이터 파일 (10)을 전환
'/u01/app/oracle/fra/ORCL/autobackup/2019_07_23/o1_mf_s__glzrwsd5_.dbf';
'sql'alter 데이터베이스 데이터 파일 (10) 온라인;
}

시나리오 4 : 백업이 읽기 전용 인 경우 yhqt01.dbf 데이터 파일 (읽기 전용), 테이블 공간이 나중에 yhqt 상태를 쓰기 읽고 수정할 수 있지만 백업이 없다, 이제 데이터 파일이 손상되었습니다

--open
RMAN> 실행 {
sql'alter 데이터베이스 데이터 파일 (10) 오프라인 ';
복원 10 데이터 파일;
복구 10 데이터 파일;
'sql'alter 데이터베이스 데이터 파일 (10) 온라인;
}

시나리오 5 : 백업하는 동안 yhqt01.dbf 데이터 파일이 이상에만 상태, 아니 백업을 읽을 수 있도록 수정, 쓰기 읽기, 현재 데이터 파일이 손상되었습니다

--open
RMAN> 실행 {
sql'alter 데이터베이스 데이터 파일 (10) 오프라인 ';
데이터 파일 (10)의 힘을 복원;
복구 10 데이터 파일;
'sql'alter 데이터베이스 데이터 파일 (10) 온라인;
}

손상이 여전히 존재하지만, 사건 파일에 대처하는 순서를 복원하기 위해 시행되고있는 키워드를 사용하십시오.

11.3.3 제어 파일 손상에서 복구

소위 손상 제어에서 복구 파일은 의미 : 읽기 전용 데이터 파일 및 제어 파일과 오류 복구에

NOMOUNT에 시작 --1
--2 제어 파일을 복원 복원과 함께
산에 시작 --3
--4 읽기 전용 데이터 파일 복원 복원과
--5 사용은 전체 데이터베이스를 복원 복구
--6 RESETLOGS와 데이터베이스를 엽니 다

손상 제어 및 읽기 전용 데이터 파일 yhqt01.dbf 또는 함께 파일을 누락, DB 만 NOMOUNT 상태로 시작할 수 있습니다, 오류가보고 :: 장면 1 ORA-00205 : 제어 파일을 식별하는 오류 확인 경고 로그 추가 정보를 원하시면

RMAN> 실행 {
시작 NOMOUNT;
자동 백업에서 제어 파일을 복원;
마운트 데이터베이스;
복원 10 데이터 파일;
데이터베이스를 복구;
데이터베이스 열린 RESETLOGS를 변경하는 행위
}

데이터베이스를 복구 ##하는 제어 파일의 정상 동작을 복원하고, 상기 판독 전용 데이터 파일 (10)은, 명령에 대응하는 출력이 표시되는 효과가없는 "정보 파일 (10) 미처리"

채널을 사용 ORA_DISK_1

데이터 파일 (10) 파일은 읽기 전용 때문에 처리되지

장면 2 : yhqt01.dbf 데이터 파일은 읽기는 전용 파일 및 제어 파일은 테이블 스페이스 yhqt 쓰기를 읽고 수정 (데이터 파일이 yhqt01.dbf 포함), 백업,하지만 데이터 파일과 제어 파일이 아닙니다 백업, 지금 yhqt01.dbf 제어 파일도 손상.

ORA-00205 : 제어 파일을 식별하는 오류, 경고 로그 더 많은 정보를 확인

RMAN> 실행 {
시작 NOMOUNT;
'/u01/app/oracle/fra/ORCL/autobackup/2019_07_18/o1_mf_s_1013968921_gm0jws37_.bkp'에서 제어 파일을 복원;
마운트 데이터베이스;
복원 10 데이터 파일;
데이터베이스를 복구;
데이터베이스 열린 RESETLOGS를 변경하는 행위
}
오라클 오류
ORA-01547 : 경고 : 성공했지만 오류를 얻을 것 OPEN RESETLOGS이 불었다 RECOVER
ORA-01152를 : (10)은 충분히 이전 백업에서 복원되지 않은 파일을
데이터 파일 : 10 : ORA-01110 '/ U01 / 응용 프로그램 / 오라클 / ORADATA / ORCL / yhqt01.dbf '

이 문제의 원인은 제출하지 않았다 yhqt01.dbf은 복구의 범위에 포함되어야하는 복구 데이터베이스를 실행으로 하여금 yhqt01.dbf 읽기 전용해야 파일을 나타내는 데이터 파일 헤더와 컨트롤 파일에 동일한 정보입니다.

그러나 복구로 복구하는 동안 기록 yhqt01.dbf 쓰기 상태를 읽을 개정, 채널의 다음 모르고는 yhqt01.dbf 파일 복구에서 제외되어서는 안되며, 다음 오류에 변화가 리두 로그.

해결 방법 : 데이터베이스를 복구 수행

오른쪽 솔루션

RMAN> 실행 {
시작 NOMOUNT;
'/u01/app/oracle/fra/ORCL/autobackup/2019_07_18/o1_mf_s_1013968921_gm0jws37_.bkp'에서 제어 파일을 복원;
마운트 데이터베이스;
복원 10 데이터 파일;
데이터베이스를 복구;
데이터베이스를 복구;
데이터베이스 열린 RESETLOGS를 변경하는 행위
}

제어 파일과 데이터 파일 (번만 읽기 또는 읽기 전용) 동시에 손상되면.

RMAN> 실행 {
시작 NOMOUNT;
자동 백업에서 제어 파일을 복원;
마운트 데이터베이스;
복원 10 데이터 파일;
데이터베이스를 복구;
데이터베이스를 복구;
데이터베이스 열린 RESETLOGS를 변경하는 행위
}

추천

출처www.linuxidc.com/Linux/2019-07/159589.htm