2010-02-05 11 views
1

Oracle 10G 데이터베이스가 있습니다. 다음 스크립트를 실행하여 데이터베이스 백업을 수행했습니다.백업에서 Oracle 10G 데이터베이스를 복원하는 방법

alter tablespace EMP2010 begin backup; 
host copy G:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EMP2010.DBF G:\orabackup\database\ 
alter tablespace EMP2010 end backup; 

alter tablespace PAYROLL2010 begin backup; 
host copy G:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\PAYROLL2010.DBF G:\orabackup\database\ 
alter tablespace PAYROLL2010 end backup; 

host copy G:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO2010_1.LOG G:\orabackup\database\ 
host copy G:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO2010_2.LOG G:\orabackup\database\ 
host copy G:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO2010_2.LOG G:\orabackup\database\ 

alter system switch logfile; 
host sleep 60 
host copy G:/oracle/product/10.2.0/oradata/orcl/arch* G:\orabackup\database\/ 
alter database backup controlfile to 'G:\orabackup\database\/controlbackup.bac'; 

백업에서 .dbf, .log 및 .bac 파일이 생성되었습니다. 이제 위의 백업 파일에서 데이터베이스를 복원하려고합니다. RMAN을 사용하고 싶지 않습니다.

내가 다음 명령을 사용하여 나는 테이블에 .DBF 파일을 복원 할 수 있다는 것을 알고 온 : 위의 꼬마 도깨비의 명령에서

imp transport_tablespace=Y tablespace=(Ts Name) 
    file='location of dump file C:\user.dmp' 
    datafiles=('location of dbf file') 

, 나는 된 .dmp 파일의 위치 "에 제공 할 파일 이해하지 않는다 "내 백업으로 .dmp 파일이 생성되지 않았습니다.

아무도 도와 줄 수 있습니까?

답변

2

IMP는 이전에 EXP를 사용하여 내 보낸 데이터베이스 개체를 가져 오는 메커니즘입니다. 귀하의 경우에는 적용되지 않습니다.

수동으로 데이터베이스를 복원해야합니다. 이렇게하려면 RECOVER DATABASE을 사용하십시오. 이 주제와 관련된 많은 것들이 있습니다. 여기에서 다룰 수있는 것보다 훨씬 많습니다. 따라서 가장 좋은 방법은 read the online documentation입니다.

0

IMP를 사용하여 전송 가능 테이블 스페이스를 사용하여 데이터 파일을 이동할 수 있지만 EXP도 필요합니다.

EMP2010.DBF에는 테이블/색인의 내용에 대한 많은 데이터가 들어 있습니다. 그러나 SYSTEM.DBF 메타 데이터가 포함되어 있습니다 (어떤 열이 테이블에 어떤 테이블이 어떤 테이블 공간에 있는지). 메타 데이터가 없으면 EMP2010.DBF의 내용을 이해할 수 없습니다.

EXP는 메타 데이터 (ROWS = N)를 DMP 파일로 내보낼 수 있습니다.

이동 가능한 테이블 공간 복사본에 대한 리두 로그, 아카이브 된 리두 로그 또는 제어 파일의 이동에 대해 걱정할 필요가 없습니다.

관련 문제