단계 (문서의 ID 1277795.1) 삭제 된 테이블 스페이스를 복구하는 TSPITR를 사용

를 복구하는 단계 TSPITR (문서의 ID 1277795.1)를 사용하여 테이블을 떨어 뜨

적용 대상 :

오라클 데이터베이스 - 엔터 프라이즈 에디션 - 버전 11.2.0.1 나중에
이 문서의 정보는 모든 플랫폼에 적용됩니다.
*** *** 16 11 월 - 2015 년 관련성에 대한 검사

목적

TSPITR를 사용하여 삭제 된 테이블을 복구 할 수 있습니다.   TSPITR를 사용하여 삭제 된 테이블 스페이스를 복구

범위

RMAN 자동 테이블 시점 복구 (TSPITR)는 신속하게 데이터베이스의 테이블 및 기타 개체의 나머지의 상태에 영향을주지 않고, 이전 시점에 오라클 데이터베이스에 하나 개 이상의 테이블 스페이스를 복구 할 수 있습니다.

자동 RMAN 시간 복구에 테이블 스페이스 포인트 (TSPITR)는 신속하게 데이터베이스 테이블 공간과 다른 객체의 상태에 영향을주지 않고, 이전 시점으로 Oracle 데이터베이스 이상의 테이블 공간을 복구 할 수 있습니다.

11.2 버전 이전에 TSPITR는 삭제 된 테이블을 복구 할 수 없다는 제한이 있었다.

버전 11.2 이전, TSPITR이 제한됩니다, 당신은 삭제 된 테이블 스페이스를 복구 할 수 없습니다.

11.2에서 이러한 제한은 더 이상 존재하지 않습니다. 우리는 TSPITR를 사용하여 삭제 된 테이블을 복구 할 수 있습니다.

처음부터 11.2,이 제한은 더 이상 존재하지 않습니다. 우리는 삭제 된 테이블 스페이스 복구 TSPITR를 사용할 수있는

예를 아래에 보여 시도이다 단계 및 삭제 된 테이블을 복구 할 수 TSPITR의 기능을.

다음 예는 단계를 보여주고 잃어버린 기능 TSPITR 테이블 공간을 복원하려고합니다.

세부

참고 : 이미지 및 / 또는 아래의 문서 내용에서 사용되는 사용자 정보 및 환경 데이터는 오라클 데이터베이스 제품 또는 기타 교육 자료와 함께 제공되는 오라클 샘플 스키마 (들), 공공 문서에서 가상의 데이터를 나타냅니다. 실제 환경에서 실제 사람, 생활 또는 죽음에 대한 모든 유사성은 순전히 우연, 어떤 방식 으로든 것은 아니다.

 

예 :

대상 DB 이름 : ORA11G

1) 테이블 스페이스를 작성합니다.

SQL은> 데이터 파일 테이블 사용자를 만드는 'D : \ 데이타베이스 \ ORA11G \ users01.dbf'크기 10m 재사용; 

SQL> DBA_TABLESPACES에서 선택 TABLESPACE_NAME; 

TABLESPACE_NAME 
------------------------------ 
시스템 
SYSAUX 
UNDOTBS1의 
TEMP의 
USERS

 

2) 사용자를 작성하고 새로운 테이블 스페이스에 테이블을 만들 수 있습니다.

SQL>가 사용자 호랑이 <비밀번호로 식별 만들>; 
SQL> 호랑이에 부여 DBA; 
SQL> CONN 호랑이 / <비밀번호> 
SQL> CREATE TABLE은 DBA_OBJECTS에서 선택 *로 테이블 사용자 객체; 
SQL은> 객체에서 COUNT (*)를 선택; 

COUNT (*) 
---------- 
17,299

 

3) 현재의 메모 확인   로그 시퀀스 번호입니다. 현재 로그 시퀀스 번호 아래로

SQL> 브이 $ 로그에서 선택 시퀀스 # 어디 상태 = '현재'; 

SEQUENCE 번호 
---------- 
(21)

 

4) 데이터베이스의 백업 받아   와 archivelogs합니다. 데이터베이스 백업 및 아카이브 로그를

%의 RMAN 대상 / 
RMAN> 백업 데이터베이스 플러스 아카이브 로그;

 

5) 이제 데이터베이스에 로그인하고  몇 가지 로그 전환을 수행 한 후 테이블 스페이스를 놓습니다. 이제 데이터베이스 로그 만 수행 로그 스위치의 일부를 다음 테이블 스페이스를 삭제

SQL> ALTER 시스템 스위치 로그 파일; 
SQL> ALTER 시스템 스위치 로그 파일; 
SQL> 내용과 데이터 파일을 포함 드롭 테이블 사용자;

 

6) 지금 현재 로그 기록해   데이터베이스에있는 일련 번호를. 지금 현재 로그 시퀀스 번호의 데이터베이스의주의

SQL> 브이 $ 로그에서 선택 SEQUENCE 번호 어디 상태 = '현재'; 

SEQUENCE 번호 
---------- 
25

 

7) 테이블이 삭제 된 데이터베이스의 로그 시퀀스 번호는 우리가 다음 우리는 테이블 다시 얻을 수있을 것입니다 순서 24 개까지 복구 그렇다면 (25)이다. 개까지 순서 (24)를 복구하려면 우리는 설정에서 사용 24 + 1 = 25 TSPITR 문의 절까지 있습니다.

    테이블 스페이스를 삭제하면, 데이터베이스 로그 시퀀스 번호는 25이다. 우리는 24의 순서로 돌아갈 경우에 따라서, 당신은 테이블 스페이스를 검색 할 수 있습니다. (24)의 순서를 복원하기 위해, 우리는 TSPITR 문까지 절 세트를 사용하는 24 + 1 = 25

RMAN %의 타겟 / 
RMAN은> 25 logseq 보조 테이블 목적지까지 사용자를 복구 'D : \';

 

03-JAN-11 복구 시작 
대신 복구 카탈로그의 대상 데이터베이스 제어 파일을 사용하여 
분배 채널 : ORA_DISK_1 
채널 ORA_DISK_1 : SID = 15 장치 유형 = DISK 
RMAN-05026 경고 : 테이블의 다음 추정 세트는 지정된 시점에 적용 

테이블 목록이 실행 취소 세그먼트 것으로 예상 
테이블 SYSTEM 
테이블 UNDOTBS1가 

자동 인스턴스를 생성 SID와를 = 'nyxF' 
자동 인스턴스에 사용되는 초기화 매개 변수 : 
DB_NAME = ORA11G 
DB_UNIQUE_NAME = nyxF_tspitr_ORA11G 
호환 = 11.2.0.0.0 
DB_BLOCK_SIZE = 8192 
DB_FILES = 200 
SGA_TARGET = 280M 
프로세스 = 50 
DB_CREATE_FILE_DEST = D : \
LOG_ARCHIVE_DEST_1 = '위치 = D가 : \' 
#No 보조 매개 변수 파일이 사용 

자동 예를 ORA11G 시작 

오라클 인스턴스가 시작 
292,933,632 바이트 전체 시스템 글로벌 영역 
고정 크기 1,374,164가 바이트 
가변 크기 100,665,388은 바이트 
바이트 데이터베이스 버퍼에게 184,549,376를 
다시 실행 버퍼를 6,344,704 바이트 
자동 인스턴스 생성 

의 목록을 대상 데이터베이스에서 삭제 된 테이블 : 
테이블의 사용자 

메모리 스크립트의 내용 : 
{ 
# 세트는 시간의 시점 요청 
logseq 25 스레드 1 일까지 폭넓게; 
# 제어 파일 복원 
복제 제어 파일을 복원; 
# 제어 파일을 마운트
SQL 복제 '복제 데이터베이스를 탑재 ALTER 데이터베이스'; 
# 아카이브 현재 온라인 로그
SQL 'ALTER 시스템 아카이브 로그 현재'; 
# TSPITR 동안 구조적 변화하지 않도록 불필요한 autobackups 
SQL 'dbms_backup_restore.AutoBackupFlag (FALSE)를 시작한다; 종료;'; 
}는 
메모리 스크립트가 실행 
명령을 실행 : SET를 절 때까지 

03-JAN-11에 복원 시작 
할당 된 채널 : ORA_AUX_DISK_1 
채널 ORA_AUX_DISK_1 : SID = 59 장치 유형 = 디스크 

채널 ORA_AUX_DISK_1 : 데이터 파일 백업 세트를 시작 복원 
채널 ORA_AUX_DISK_1 : 복원 제어 파일 
채널 ORA_AUX_DISK_1 : 읽기 \ 데이타베이스 \ ORA11G \ FRA \ ORA11G \ BACKUPSET \ 2011_01_03 \ O1_MF_NCSNF_TAG20110103T092723_6L2LB86C_.BKP : 백업 조각 D에서
채널 ORA_AUX_DISK_1 : 일체형 핸들 = D : \ DATABASES \ ORA11G \ FRA \ ORA11G \ BACKUPSET \ 2011_01_03 \ O1_MF_NCSNF_TAG20110103T092723_6L2LB86C_.BKP 태그 = TAG20110103T092723 
의 새로운 데이터 파일을 1 대 newname의 복제 세트; 
채널 ORA_AUX_DISK_1 : 복원 된 백업 한 조각
채널 ORA_AUX_DISK_1 : 00:00:01 : 전체, 경과 시간 복원 
출력 파일 이름 = D를 : \ ORA11G \ CONTROLFILE \ O1_MF_6L2M39N0_.CTL 
완료 복원 03-JAN-11에서 

SQL 문 : ALTER 데이터베이스 복제 데이터베이스 탑재 
SQL 문을 : ALTER 시스템 아카이브 현재 로그인 
SQL 문을 : dbms_backup_restore.AutoBackupFlag (FALSE)을 시작; 종료; 

메모리 스크립트의 내용 : 
{ 
# 세트는 시간의 시점 요청 
logseq 25 스레드 1 일까지 폭넓게; 
# 복구 세트 및 보조 데이터 파일 세트에 대해 설정 대상 
의 새로운 데이터 파일 (3)에 대한 newname의 복제 세트; 
새에 복제 데이터 파일 2 세트 newname의; 
새에 복제 임시 파일 1 세트 newname의; 
데이터 파일 4에 대한 설정 newname의
"D : \ 데이타베이스 \ ORA11G \ USERS01.DBF"; 
# 모든 TEMPFILES 스위치 
모든 임시 파일 복제를 전환; 
# 복구 세트의 테이블과 보조 세트 복원 
복제 데이터 파일 1, 3, 2, 4를 복원하는 단계; 
모든 데이터 파일 복제를 전환; 
} 
메모리 스크립트를 실행 
명령을 실행 : SET를 절 때까지 
실행 명령 : SET NEWNAME 
실행 명령 : SET NEWNAME가 
실행 명령 : SET NEWNAME 
실행 명령 : SET NEWNAME은 
실행 명령 : SET NEWNAME는 
D에 임시 파일 1 이름 : \ ORA11G \ DATAFILE \ O1_MF_TEMP_ % U_. 제어 파일에서 TMP 
 
시작이에 복원 03-JAN-11
채널 ORA_AUX_DISK_1 사용 

채널 ORA_AUX_DISK_1는 : 복원 데이터 파일 백업 세트를 시작하기
채널 ORA_AUX_DISK_1는 : 데이터 파일 (들)을 지정하여 백업 세트에서 복원 
채널 ORA_AUX_DISK_1 : D로 00001 데이터 파일 복원 : \ ORA11G \ DATAFILE \ O1_MF_SYSTEM_ % U_.DBF 
채널 ORA_AUX_DISK_1 : 00003 데이터 파일 D로 복원 \ ORA11G \ DATAFILE \ O1_MF_UNDOTBS1_ % U_. DBF 
채널 ORA_AUX_DISK_1 : 00002 데이터 파일을 복원 D : \ ORA11G \ DATAFILE \ O1_MF_SYSAUX_ % U_.DBF 
채널 ORA_AUX_DISK_1 : 00004 데이터 파일을 복원 D : \ DATABASES \ ORA11G \ USERS01.DBF  
채널 ORA_AUX_DISK_1 : 백업 피스로부터 판독 D : \ 데이타베이스 \ ORA11G \ FRA \ ORA11G \ BACKUPSET \ 2011_01_03 \ O1_MF_NNNDF_TAG20110103T092723_6L2L941Y_.BKP
채널 ORA_AUX_DISK_1 : 일체형 핸들 = D : \ DATABASES \ ORA11G \ FRA \ ORA11G \ BACKUPSET \ 2011_01_03 \ O1_MF_NNNDF_TAG20110103T092723_6L2L941Y_.BKP 태그 = TAG20110103T092723 
채널 ORA_AUX_DISK_1 : 복원 된 백업 조각 1 
채널 ORA_AUX_DISK_1 : 전체, 경과 시간을 복원 0시 0분 45초 
완료 복원에서 03-JAN-11
 
데이터 파일 (1) 데이터 파일 복사 전환 
입력 데이터 파일 RECID = 12 STAMP = 739,446,137 파일명 복사 = D : \ ORA11G \ DATAFILE \ O1_MF_SYSTEM_6L2M3MRW_.DBF 
데이터 파일 (3) 데이터 파일 복사 전환 
입력 데이터 파일 RECID = 13 STAMP = 739,446,137 파일명 = D 복사 \ ORA11G \ 데이터 파일 \ O1_MF_UNDOTBS1_6L2M3N8S_.DBF 
2 데이터 파일은 데이터 파일에 카피 전환 
입력 데이터 파일 복사 RECID = 14 STAMP = 739,446,137 파일명 = D : \ ORA11G \ DATAFILE \ O1_MF_SYSAUX_6L2M3N1G_.DBF의 

메모리 스크립트의 내용 : 
{
# 세트 시간의 요점 요청 
logseq 25까지 스레드 1 세트; 
# 온라인 데이터 파일을 복원 또는 전환 
SQL 복제 "온라인 1 데이터 파일 ALTER 데이터베이스를"; 
SQL 복제 "온라인 3 데이터 파일 ALTER 데이터베이스"; 
SQL 복제 "온라인 2 데이터 파일 ALTER 데이터베이스";
SQL 복제 "온라인 4 데이터 파일 ALTER 데이터베이스"; 
# 복구 및 오픈 RESETLOGS는 
"USERS" "SYSTEM", "UNDOTBS1", "SYSAUX"삭제 아카이브 로그를 복제 데이터베이스의 테이블 스페이스를 복구; 
ALTER 복제 데이터베이스 개방 RESETLOGS; 
} 
메모리 스크립트를 실행 

명령을 실행 : 절까지 SET를 
SQL 문 : ALTER 데이터베이스를 1 온라인 데이터 파일 
SQL 문 : ALTER 데이터베이스를 3 온라인 데이터 파일 
SQL 문 : ALTER 데이터베이스를이 온라인 데이터 파일 
SQL 문 :

채널 ORA_AUX_DISK_1 사용 

개시 미디어 복구 
 
순서 (22)가 이미와 스레드 1에 대한 로그를 보관 파일 D로 디스크 : \ 데이타베이스 \ ORA11G \ FRA \ ORA11G \ ARCHIVELOG \ 2011_01_03 \ O1_MF_1_22_6L2LB9M1_.ARC
서열 23의 스레드 1 보관 기록하는 파일 D와 같은 디스크에 이미 \ DATABASES \ ORA11G \ FRA \ ORA11G \ ARCHIVELOG \ 2011_01_03 \ O1_MF_1_23_6L2LPHCQ_.ARC 
서열 24의 스레드 1 아카이브 로그 디스크에 이미 파일 D로 \ DATABASES \ ORA11G \ FRA \ ORA11G \ ARCHIVELOG \ 2011_01_03 \ O1_MF_1_24_6L2LPQ2G_.ARC 
아카이브 로그 파일 이름 = D : \ DATABASES \ ORA11G \ FRA \ ORA11G \ ARCHIVELOG \ 2011_01_03 \ O1_MF_1_22_6L2LB9M1_.ARC 스레드 = 1 시퀀스 = 22 
아카이브 파일 이름 = D 로그 : \ 데이타베이스 \ ORA11G \ FRA \ ORA11G \ ARCHIVELOG \ 2011_01_03 \ O1_MF_1_23_6L2LPHCQ_.ARC 스레드 = 1 시퀀스 = 23 
아카이브 로그 파일 이름을 = D : \ 데이타베이스 \ ORA11G \ FRA \ ORA11G \ ARCHIVELOG \ 2011_01_03 \ O1_MF_1_24_6L2LPQ2G_. ARC 스레드 = 1 시퀀스 = 24
매체 복구 완료, 경과 시간 : 0시 0분 4초 
11-03-JAN 완료가에서 복구 
SQL 문을 : 디렉토리 TSPITR_DIROBJ_DPDIR를 만들거나 교체로 'D : \'
 
데이터베이스를 열

메모리 스크립트의 내용 : 
{ 
# 메이크업 내보낼에만 테이블 읽기 
SQL 복제 'ALTER 테이블 사용자가 읽기 전용을'; 
# 데이터 펌프 수입에 대한 디렉토리 생성 
SQL "을 만들거나 디렉토리 TSPITR_DIROBJ_DPDIR 교체로 ' 
D : \'"; 
# 데이터 펌프 수출을위한 디렉토리 생성 
SQL 복제 "를 만들거나 디렉토리 TSPITR_DIROBJ_DPDIR 교체로 ' 
D : \'"; 
} 
메모리 스크립트 실행 

SQL 문을 : ALTER 테이블 사용자는 읽기 전용 
EXPDP> "SYS" "TSPITR_EXP_nyxF"를 시작. :
SQL 문을 만들거나 디렉토리 TSPITR_DIROBJ_DPDIR 교체로 'D : \' 

메타 ... 수출 수행 
EXPDP> ******************************************* *********************************** 
: EXPDP> 데이터 파일은 이동 가능한 테이블 스페이스 USERS에 필요한 
EXPDP> D : \ 데이터베이스를 \ ORA11G \ USERS01.DBF
EXPDP> 처리 객체 유형 TRANSPORTABLE_EXPORT / TABLE 
EXPDP> 처리 객체 유형 TRANSPORTABLE_EXPORT / POST_INSTANCE / PLUGTS_BLK 
EXPDP> 마스터 테이블 "SYS". "TSPITR_EXP_nyxF"성공적으로로드 / 언로드 
EXPDP> *************** ************************************************** ************* 
EXPDP은> SYS.TSPITR_EXP_nyxF에 대한 덤프 파일 집합은 다음과 같습니다 
EXPDP> D : \ TSPITR_NYXF_54517.DMP 
. EXPDP> 작업 "SYS" "TSPITR_EXP_nyxF"성공적으로 9시 43분 7초 완료 
수출이 완료 


메모리 스크립트의 내용을 :
{ 
# 종료 복제 오기 전에 
종료 클론 즉시 
} 
실행 메모리 스크립트 

데이터베이스 폐쇄 
데이터베이스가 분리 
오라클 인스턴스가 종료

메타 데이터 가져 오기 ... 수행 
. IMPDP> 마스터 테이블 "SYS" "TSPITR_IMP_nyxF"을 성공적으로 / 언로드로드 
. "SYS" "TSPITR_IMP_nyxF"시작 IMPDP>  
IMPDP> 처리 객체 유형 TRANSPORTABLE_EXPORT / PLUGTS_BLK 
IMPDP> 처리 객체 유형 TRANSPORTABLE_EXPORT / 표 
IMPDP>처리 객체 유형 TRANSPORTABLE_EXPORT / POST_INSTANCE / PLUGTS_BLK
. 성공적으로 9시 43분 완료 IMPDP> 작업 "SYS" "TSPITR_IMP_nyxF을" 29 
가져 오기가 완료 


메모리 스크립트의 내용을 : 
{ 
# 읽기 쓰기를하고 오프라인 가져온 테이블 
SQL 'ALTER 테이블 사용자가 쓰기 읽기'; 
SQL 'ALTER 테이블 사용자는 오프라인'; 
TSPITR이 완료되면 # autobackups 수 있도록 
SQL 'dbms_backup_restore.AutoBackupFlag (TRUE)를 시작을; 종료;'; 
} 
메모리 스크립트 실행 

SQL 문을 :
SQL 문을 : dbms_backup_restore.AutoBackupFlag (TRUE)을 시작; 종료; 

제거 자동 인스턴스를 
자동으로 인스턴스를 제거  
보조 인스턴스 파일 D를 : \ ORA11G \ DATAFILE \ O1_MF_TEMP_6L2M5G8S_.TMP 삭제
보조 인스턴스 파일 D를 : \ ORA11G \ ONLINELOG \ O1_MF_3_6L2M5CJM_.LOG 삭제 된 
보조 인스턴스 파일 D를 : \ ORA11G \ ONLINELOG \ O1_MF_2_6L2M5BNZ_.LOG 삭제 된 
보조 인스턴스 파일 D를 : \ ORA11G \ ONLINELOG \ O1_MF_1_6L2M59N0_.LOG 삭제 된 
보조 예 파일 D : \ ORA11G \ DATAFILE \ O1_MF_SYSAUX_6L2M3N1G_.DBF 삭제 
보조 인스턴스 파일 D를 : \ ORA11G \ DATAFILE \ O1_MF_UNDOTBS1_6L2M3N8S_.DBF 삭제 
보조 인스턴스 파일 D를 : \ ORA11G \ DATAFILE \ O1_MF_SYSTEM_6L2M3MRW_.DBF 삭제 
보조 인스턴스 파일 D를 : \ ORA11G \ CONTROLFILE \ O1_MF_6L2M39N0_.CTL 삭제 
완료 03-JAN-11에 복구

8) 여기서 RMAN 용도 수송 테이블 메커니즘은 데이터베이스에서 삭제 테이블 다시 연결한다.

여기에 전송 공간을 사용 RMAN 테이블은 데이터베이스의 테이블 스페이스를 다시 삽입합니다

SQL>를 선택 TABLESPACE_NAME, 상태, DBA_TABLESPACES에서 plugged_in; 

TABLESPACE_NAME 상태 PLU 
---------------- ------- --- 
SYSTEM 온라인 NO 
SYSAUX 온라인 NO 
UNDOTBS1 온라인 NO의 
TEMP 온라인 NO의 
USERS 오프라인 YES ===> Plugged_in IS 예.

 

9) 온라인 테이블.

SQL> ALTER 테이블 사용자 온라인;

 

10) 데이터를 확인합니다.

SQL> CONN 호랑이 / 호랑이 
SQL> 개체로부터 선택 수 (*); 

COUNT (*) 
---------- 
17,299

참조

참고 : 455865.1  - RMAN과 함께 드롭 테이블을 복구하는 방법

추천

출처www.cnblogs.com/zylong-sys/p/12004771.html