Oracle 데이터베이스 복원

Oracle 데이터베이스 복원 전 준비 사항

Oracle 데이터베이스 복원을 시작하기 전에 DBA가 확인해야 할 몇 가지 설정이 있습니다.

복구 대상 데이터베이스 서버에 데이터베이스 백업 에이전트가 설치되어 있어야 하며, Linux 시스템인 경우 서비스 포트 20200, 20300, 20400이 Vinchin 백업 서버에 대해 개방되어 있어야 합니다.

대상 Oracle 데이터베이스 인스턴스를 종료해야 하며, listener.ora 파일에 정적 리스너 등록이 구성되어 있어야 합니다.

대상 Oracle 데이터베이스 서버에서 아카이브 로그 모드가 활성화되어 있어야 합니다. sqlplus에 로그인한 후 아래 명령으로 상태를 확인할 수 있습니다.

archivelog list;

Automatic archival 상태가 Enabled인지 확인하고, 그렇지 않은 경우 DBA가 이를 설정해야 합니다.

아래 명령을 사용하여 데이터베이스 인스턴스에 연결할 수 있는지 확인합니다. 독립 실행형 환경에서의 명령입니다.

rman target=username/password@instancename

RAC 클러스터 환경에서는 아래 명령을 사용합니다.

rman target=username/password@publicIP:1521/instancename

연결에 실패하면 복원 작업도 실패합니다. DBA에 문의하여 문제를 해결하세요.

Override Original Database 모드를 사용하는 경우, 오류를 방지하기 위해 다음 사전 요건을 충족하고 확인해야 합니다. 아래 항목을 주의 깊게 읽으세요.

1. 대상 Oracle 데이터베이스 인스턴스를 종료해야 합니다.

2. 대상 데이터베이스 인스턴스에 대한 정적 리스너 등록이 구성되어 있어야 합니다.

3. 대상 Oracle 데이터베이스 서버에서 아카이브 로그 모드가 활성화되어 있어야 합니다.

4. Override Original Database로 다른 Oracle 데이터베이스 서버에 복원하는 경우, 대상 서버는 운영 체제 버전, 데이터베이스 버전, 데이터베이스 설치 경로, 데이터베이스 인스턴스 이름, 데이터베이스 사용자 이름 및 비밀번호를 포함하여 소스 서버와 동일한 구성을 갖추어야 합니다.

5. 다른 Oracle 데이터베이스 서버에 복원하는 경우, 대상 서버의 아카이브 로그와 리두 로그를 삭제해야 합니다.

Override Original Database를 다른 데이터베이스 서버에 복원하는 경우, 대상 데이터베이스 서버의 구성이 소스 데이터베이스 서버와 동일해야 합니다(운영 체제, 데이터베이스 버전, 설치 경로, 인스턴스 이름 포함). Override Original Database 기능 사용 시 주의하세요.

Restore to New Path를 선택하면 복원 과정에서 지정한 새 경로로 데이터베이스 경로가 자동으로 변경됩니다. 복원 후 DBA는 새 경로에서 데이터베이스 서비스를 바로 시작할 수 있습니다.

Restore Exported Directory를 선택하면 Oracle 인스턴스에서 일부 설정을 구성한 후 내보낸 디렉터리에서 수동으로 복원해야 합니다. 자세한 작업은 Restore Exported Directory 섹션을 참조하세요.

주의

Restore to New Path는 Oracle RAC와 함께 사용할 수 없습니다. 복원 작업이 연결된 RAC 노드에서만 데이터베이스 경로가 변경되고 다른 노드는 변경되지 않기 때문입니다. Oracle RAC에서 Restore to New Path를 사용하면 Oracle RAC 예외가 발생합니다!

Oracle 복원 작업 생성

데이터베이스 백업 복원 지점에서 데이터베이스를 복원하려면 Data Resilience > Restore 페이지로 이동합니다. 데이터베이스 백업 복원 지점에서 데이터베이스를 복원하는 데는 4단계가 있습니다.

Step 1. Recovery Data Source

Restore Point 드롭다운 목록에서 원하는 복원 지점이 저장된 백업 노드를 선택합니다. 복원할 데이터베이스에서 대상 데이터베이스 복원 지점을 선택합니다. 작업 이름, 데이터베이스 이름 또는 복원 지점의 날짜로 검색하여 대상 복원 지점을 빠르게 찾을 수 있습니다. 복원 작업 하나에는 복원 지점 하나만 선택할 수 있습니다.

Step 2. Restore Destination

복원 지점을 선택한 후 복원할 Target Instance를 선택합니다.

New Instance를 활성화하면 원래 인스턴스로 복원하는 대신 새 대상 호스트에 빈 인스턴스를 생성할 수 있습니다.

Step 3. Restore Strategy

Mode: Incomplete recovery, Complete recovery, Restore Exported Directory

Incomplete recovery: 데이터베이스를 특정 시점으로 복원하고 로그를 재설정합니다. 복구 시간과 복구 백업 지점을 선택할 수 있으며, 복구 콘텐츠에서 복원할 파일을 선택할 수 있습니다.

Complete recovery: 데이터베이스를 최신 시점으로 복원합니다. 복구 콘텐츠에서 복원할 파일을 선택할 수 있습니다.

Open Database를 선택하면 데이터 복구 완료 후 데이터베이스가 자동으로 시작됩니다.

Restore Exported Directory: 데이터를 수동으로 복원하고, 인스턴스를 백업 데이터의 원래 인스턴스로 변경합니다.

Common strategy의 경우, Schedule 필드에서 백업 작업의 시간 일정을 구성할 수 있으며, 자세한 설정은 Policy 필드에서 구성할 수 있습니다.

Transfer strategy의 경우, 데이터 전송 채널을 암호화하고 Encryption Algorithm을 선택할 수 있으며, Transfer Threads도 선택할 수 있습니다.

Script configuration을 사용하면 백업 전 또는 백업 후에 사용자 지정 스크립트를 실행할 수 있습니다.

Script configuration의 Integrity check는 정책을 수동으로 설정하여 복구 중단 또는 계속 여부를 결정함으로써 백업 지점의 무결성을 확인할 수 있습니다.

Advanced configurationRetry AttemptsRetry Interval을 설정하면 작업 실패 시 지정한 횟수만큼 동일한 간격으로 재시도합니다.

Overload Protection을 통해 사용자는 노드 리소스 제한을 무시할지 여부를 선택할 수 있습니다.

Step 4. Review & Confirm

위에서 언급한 설정을 완료하면 하나의 화면에서 설정 내용을 검토하고 확인할 수 있습니다.

작업이 생성되면 Monitor Center > Jobs 페이지로 이동합니다.

데이터베이스 복원 작업은 기본적으로 작업 생성 직후 실행되므로 자동으로 실행됩니다. 현재 작업 목록에서 해당 작업을 확인할 때는 이미 실행 중 상태여야 하며, 완료되면 현재 작업 목록에서 자동으로 삭제됩니다.

이후 History Jobs에서 복원된 작업을 확인할 수 있습니다. 복원된 데이터는 선택한 경로에서 찾을 수 있습니다.

Restore Exported Directory

설정 파일 'pfile' 복원

설정 파일을 수정해야 하는 경우, 복구를 진행하기 전에 먼저 내보낸 디렉터리의 'pfile' 파일을 수정하세요. 이 복구 작업에 구성된 내보낸 디렉터리는 '/u01/data'입니다.

'sqlplus'를 사용하여 데이터베이스에 접속하고 종료합니다.

sqlplus / as sysdba
shutdown immediate;
create spfile from pfile='/u01/data/pfile.file';

OracleRestoreSpfile1

OracleRestoreSpfile2

제어 파일 'controlfile' 복원

'sqlplus'를 사용하여 데이터베이스를 'nomount' 상태로 설정합니다.

startup nomount;
quit
rman target /S

OracleRestoreControlFile

이 인스턴스가 복원하려는 인스턴스인지 확인하세요. 아닌 경우 연결할 대상 인스턴스 이름을 지정하세요.

restore controlfile from '/u01/data/control.file';

그런 다음 데이터베이스를 'mount' 상태로 설정합니다.

startup mount;

OracleRestoreControlFileMount

데이터 복원

내보낸 파일의 'seledescription.xml'을 확인하여 SCN 번호 '89445873'을 가져옵니다.

OracleRestoreDataFile

'rman' 명령을 종료한 후 다시 'rman' 명령에 접속합니다. DBID가 self-description 파일의 DBID와 동일한지 확인합니다. 동일하지 않은 경우 데이터베이스를 종료하고 'nomount' 상태로 설정한 후 'set DBID 89445873;' 명령을 실행하여 설정합니다.

reset database to incarnation 38;

그런 다음 아래 명령을 실행합니다.

run{ 
allocate channel c0 type 'sbt_tape' format 'db_piece_%U' send 'local_recovery,/u01/data,/opt/vinchin/agent';
set until scn 89445873;
restore database;
recover database;
release channel c0;
}

명령의 설명은 다음과 같습니다.

allocate channel c0 type 'sbt_tape' format 'db_piece_%U' send 'local_recovery,/u01/data,/opt/vinchin/agent';

'u01/data'는 내보낸 디렉터리입니다.

'opt/vinchin/agent'는 Vinchin 에이전트의 설치 디렉터리입니다.

'set until scn 89445873;'은 SCN 번호를 self-description 파일의 SCN과 동일하게 설정하는 데 사용됩니다.

OracleRestoreDataFileDescription

주의

'rman06054' 오류가 발생하는 경우 처리할 필요 없이 데이터베이스를 바로 시작하면 됩니다.

OracleRestoreRMAN06054

'sqlplus'를 사용하여 데이터베이스를 시작합니다.

quit
sqlplus / as sysdba
alter database open resetlogs;

OracleRestoreStartupDB

복구가 완료되었으며 내보낸 파일의 원래 데이터베이스를 사용할 수 있습니다.

” 검색 결과

    ”에 대한 검색 결과가 없습니다