관리 콘솔을 사용하여 데이터베이스 복원
원래 데이터베이스로 복원하면 원래 프로덕션 애플리케이션 데이터가 지정된 시점 이미지로 대체됩니다. 이 복원 작업을 실행하면 애플리케이션이 이미지가 생성된 시점의 상태로 복원되므로 현재 애플리케이션 데이터가 모두 손실됩니다. 이 작업은 실행취소할 수 없습니다. 복원 작업을 완료하는 데 필요한 시간은 관련 데이터의 양에 따라 다릅니다. 데이터베이스를 다른 타겟으로 복원할 수도 있습니다.
이 안내에 따라 관리 콘솔에서 RMAN을 사용하여 Oracle 데이터베이스를 자동으로 복원하여 원래 프로덕션 데이터베이스를 덮어씁니다.
관리 콘솔을 앱 관리자로 열고 데이터베이스 애플리케이션 이름을 입력하거나 필터를 사용하여 필요한 데이터베이스 이미지를 찾습니다.
애플리케이션을 마우스 오른쪽 버튼으로 클릭하고 액세스를 선택합니다.
액세스 페이지에서 이미지를 선택하고 마운트 메뉴 아래에 있는 복원을 클릭합니다.
복원 페이지에서 기존 (마운트 및 이전 아님)을 선택합니다.
복원 범위 슬라이더를 사용하여 데이터베이스를 복원할 특정 시점을 선택합니다. 슬라이더 도구를 왼쪽으로 끝까지 밀어 로그가 적용되지 않은 데이터베이스만 복원합니다.
사용자 이름에 선택한 대상 서버의 Oracle 소프트웨어 소유자를 입력합니다.
채널 수에 데이터베이스 복원을 위한 병렬 로드를 구성할 RMAN 채널 수를 지정합니다.
제출을 클릭합니다.
경고 대화상자가 표시됩니다. 내용을 읽고
DATA LOSS
를 입력하여 확인합니다.작업이 사용 가능한 다음 작업 슬롯에 대기됩니다. 작업 모니터에서 진행 상황을 볼 수 있습니다.
관리 콘솔을 사용하여 데이터베이스를 대상에 복원
이 안내에 따라 관리 콘솔에서 RMAN을 사용하여 Oracle 데이터베이스를 새 대상에 복원합니다.
- 앱 관리자 > 애플리케이션 목록에서 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 액세스를 선택합니다.
- 복구할 백업 이미지를 선택하고 복원을 선택합니다.
복원 페이지에서 기존을 선택합니다.
- 타겟: 모든 구성의 경우 드롭다운에서 사용 가능한 모든 Oracle 데이터베이스 서버를 선택할 수 있습니다. 드롭다운에서 복원할 대상 서버를 선택합니다.
- 원래 애플리케이션 ID 교체: 이 옵션은 백업이 처음 생성된 것과 동일한 어플라이언스의 새 서버에 복원하는 경우에만 사용할 수 있습니다.
- 예: 원래 애플리케이션을 대체하며 원래 애플리케이션과 동일한 애플리케이션 ID, 작업 기록, 백업 이미지, 백업 계획을 갖습니다.
- 아니요: 원래 애플리케이션을 대체하지 않습니다. 새 데이터베이스는 복원 작업의 일부로 새 애플리케이션으로 검색됩니다.
- 롤포워드 시간: 로그로 보호된 데이터베이스를 필요한 시점으로 복구할 날짜와 시간을 선택합니다.
애플리케이션 옵션:
- DATABASESID: 보호된 데이터베이스 SID 이름으로 미리 채워지며 변경할 수 없습니다.
- 사용자 이름: 소스 데이터베이스 Oracle 소프트웨어 소유자로 미리 채워집니다. 선택한 대상 서버의 Oracle 소프트웨어 소유자가 다른 경우 USERNAME을 업데이트합니다.
- ORAHOME: 소스 데이터베이스 Oracle Home 경로로 미리 채워집니다. 선택한 대상 서버에서 Oracle 홈이 다른 경우 Oracle 홈 디렉터리를 업데이트합니다.
- 고급 옵션: 사전 입력되며 백업 시 소스의 모든 데이터베이스 매개변수 설정 (pfile)을 표시합니다. 복원을 위해 대상 데이터베이스 서버 (소스 또는 새 대상)에 매개변수 값이 올바른지 확인합니다.
매핑 옵션:
타겟 데이터베이스 유형: 드롭다운 목록에서 데이터베이스의 데이터베이스 타겟 유형 (ASM 디스크 그룹 또는 파일 시스템)을 선택합니다. ASM 형식의 백업 이미지에는 파일 시스템 타겟 유형이 지원되지 않습니다.
소스 데이터베이스 백업 이미지 형식 복원 타겟 ASM ASM ASM ASM 파일 시스템 ASM 파일 시스템 파일 시스템 파일 시스템 드롭다운 목록에서 데이터 파일, 제어 파일, 데이터베이스의 재실행 파일 등 세 가지 파일 유형에 대한 대상 ASM 디스크 그룹 및 파일 시스템 매핑을 선택합니다.
비행 전 확인을 클릭합니다. 프리플라이트 검사에 실패하면 문제를 해결하고 프리플라이트 검사를 다시 실행합니다.
제출을 클릭하여 복원 작업을 제출합니다.
RMAN을 사용하여 Oracle 데이터베이스 수동 복구
Oracle 데이터베이스를 수동으로 복구하려면 이 절차를 참고하세요.
비RAC, 비ASM, 파일 시스템
파일 시스템에 데이터 파일이 있고 파일 기반 스테이징 디스크 형식으로 보호된 Oracle 데이터베이스 복구
보호된 소스 데이터베이스에서 이미지를 마운트합니다.
마운트 창의 매핑 옵션에서 이미지의 마운트 위치를 제공합니다(예:
/acttestdb
). 데이터베이스 이미지를 마운트하는 방법에 관한 안내는 데이터 액세스를 위해 파일 시스템 아래에서 보호되는 Oracle 데이터베이스 이미지 마운트를 참고하세요.데이터베이스 백업 이미지가
/acttestdb
에 마운트됩니다.보호된 보관 파일 로그가
/acttestdb_Log
에 마운트됩니다.Oracle 환경을 설정하고 sqlplus를 사용하여 데이터베이스를 종료합니다.
sqlplus / as sysdba sql> shutdown immediate;
데이터베이스가 종료되었는지 확인합니다. 데이터베이스의 남은 프로세스를 종료합니다.
ps -ef | grep <var>database sid</var>
마운트된 볼륨의 백업 매개변수 파일을 사용하여 nomount 상태에서 데이터베이스를 시작합니다. 백업 매개변수 파일은 최상위 마운트된 폴더(예:
/acttestdb
) 아래에 있습니다.Oracle 환경을 설정하고 sqlplus를 사용하여 데이터베이스를 시작합니다.
sqlplus / as sysdba sql> startup nomount pfile='/acttestdb/<var>database_sid</var>___backup.ora';
기존 pfile에서 새 spfile을 만들고 데이터베이스를 다시 시작합니다.
pfile에서 spfile을 만듭니다.
sql> create spfile='$ORACLE_HOME/dbs/spfile_<var>database sid</var>.ora' from pfile='/acttestdb/<var>database sid</var>___backup.ora';
nomount 상태의 spfile로 데이터베이스를 다시 시작합니다.
sql> shutdown immediate; sql> startup nomount;
백업 및 DR 마운트된 보관 파일 로그 이미지에서 RMAN을 사용하여 제어 파일을 복원합니다. 로그가 마운트된 이미지의 최신 컨트롤 파일을 사용합니다. 예를 들면 다음과 같습니다.
/acttestdb_Log/cf D_<var>sid</var>-id_<var>id</var>.ctl
또는 로그 이미지가 두 개 이상인 경우:
/acttestdb_Log_1/cf-D_<var>sid</var>-id_<var>id</var>.ctl rman target / rman> restore controlfile from '/acttestdb_Log_1/cf-D_<var>sid</var>-id_<var>id</var>.ctl' ;
데이터베이스를 마운트합니다.
rman> alter database mount; ``` 1. Catalog the datafile and archivelog folder from Backup and DR mounted database image and archive log image to RMAN ```rman rman> run { catalog start with '/acttestdb/datafile' noprompt; catalog start with '/acttestdb/archivelog' noprompt; catalog start with '/acttestdb_Log' noprompt;} ``` 1. Restore and recover the database: ```rman rman> run { restore database ; recover database; }
yyyymmddhh24mi 형식을 사용하는 특정 시점 복구의 경우:
rman> run { restore database; recover database until time "to_date('<var>required timestamp</var>>','yyyymmddhh24mi')"; }
로그 재설정 옵션으로 데이터베이스를 엽니다.
- 기본 데이터베이스 복구의 경우:
rman> alter database open resetlogs;
- Data Guard 대기 데이터베이스 복구의 경우 Data Guard 관리 복구 프로세스를 시작합니다.
rman> alter database recover managed standby database nodelay disconnect;
데이터베이스를 읽고 쓸 수 있습니다.
RAC 또는 독립형 ASM, 파일 시스템
ASM 디스크 그룹에 데이터 파일이 있고 파일 기반 스테이징 디스크 형식으로 보호된 Oracle 데이터베이스 복구
보호된 소스 데이터베이스에서 이미지를 마운트합니다.
매핑 옵션의 마운트 창에서 이미지의 마운트 위치(예:
/acttestdb
)를 입력합니다. 데이터베이스 이미지를 마운트하는 방법에 관한 안내는 데이터 액세스를 위해 파일 시스템 아래에서 보호되는 Oracle 데이터베이스 이미지 마운트를 참고하세요.데이터베이스 백업 이미지가 마운트 위치
/acttestdb
에 마운트됩니다.보호된 보관 파일 로그는 다음 위치에 마운트됩니다.
/acttestdb_Log
Oracle 데이터베이스를 종료합니다. 노드 1에서 Oracle OS 사용자로 su를 실행합니다.
su - oracle
Oracle 환경을 설정하고 srvctl을 사용하여 모든 노드에서 데이터베이스를 중지합니다.
srvctl stop database -d <var>database_name</var>
데이터베이스가 종료되었는지 확인합니다 (모든 노드). 데이터베이스에 남아 있는 프로세스를 종료합니다.
ps -ef | grep <var>database_name</var>
마운트된 볼륨의 백업 매개변수 파일을 사용하여 마운트되지 않은 상태에서 데이터베이스를 시작합니다. 백업 매개변수 파일은 최상위 마운트된 폴더(예:
/acttestdb
)에 있습니다.Oracle 환경을 설정하고 sqlplus를 사용하여 데이터베이스를 시작합니다.
sqlplus / as sysdba sql> startup nomount pfile='/acttestdb/<var>database_name</var>___backup.ora';
새 spfile을 만들고 데이터베이스를 다시 시작합니다.
디스크 그룹 아래의 원래 spfile 경로를 가져오려면 다음 단계를 따르세요.
cat $ORACLE_HOME/dbs/init{database sid}.ora
예: spfile=+{preferred disk group}/db_name/spfiledb_name.ora`
sql> create spfile='+{preferred disk group}/{db name}/spfile<var>db_name</var>.ora' from pfile='/acttestdb/<var>db_name</var>___backup.ora';
nomount 상태의 spfile로 데이터베이스를 다시 시작합니다.
sql> shutdown immediate; sql> startup nomount;
백업 및 DR에 마운트된 보관처리 로그 이미지에서 RMAN을 사용하여 제어 파일을 복원합니다. 다음 위치에서 최신 컨트롤 파일을 사용합니다.
Log mounted image, for example:<br> /acttestdb_Log/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl
또는 로그가 2개 이상인 경우
image:<br> /acttestdb_Log_1/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl
rman target / rman> restore controlfile from '/acttestdb_Log_1/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl' ; ```
데이터베이스를 마운트합니다.
rman> alter database mount;
백업 및 DR 마운트된 데이터베이스 이미지와 아카이브 로그 이미지의 데이터 파일 및 아카이브 로그 폴더를 RMAN에 카탈로그화합니다.
rman> run { catalog start with '/acttestdb/datafile' noprompt; catalog start with '/acttestdb/archivelog' noprompt; catalog start with '/acttestdb_Log' noprompt;}
데이터베이스를 복원하고 복구합니다.
rman> run { restore database ; recover database; }
yyyymmddhh24mi 형식을 사용하는 특정 시점 복구의 경우:
rman> run { restore database; recover database until time "to_date('<var>timestamp</var>','yyyymmddhh24mi')"; }
로그 재설정 옵션으로 데이터베이스를 엽니다.
- 기본 데이터베이스 복구의 경우:
rman> alter database open resetlogs;
RAC 구성에는 로그 재설정 후 다른 단계가 필요합니다. 노드 1에서 데이터베이스를 종료하고 모든 노드에서 데이터베이스를 시작합니다.
sqlplus를 사용하여 데이터베이스를 종료합니다.
sqlplus / as sysdba SQL> shutdown immediate;
srvctl을 사용하여 모든 노드에서 데이터베이스를 시작합니다.
srvctl start database -d <var>database_name</var>
Data Guard 대기 데이터베이스 복구의 경우:
RAC가 아닌 구성의 경우: Data Guard 관리 복구 프로세스 시작
RMAN> alter database recover managed standby database nodelay disconnect;
RAC 구성의 경우: 노드 1에서 데이터베이스를 종료하고 모든 노드에서 마운트된 상태로 데이터베이스를 시작합니다.
sqlplus를 사용하여 데이터베이스를 종료합니다.
sqlplus / as sysdba SQL> shutdown immediate;
srvctl을 사용하여 모든 노드에서 마운트 상태로 데이터베이스를 시작합니다.
srvctl start database -d <var>database_name</var> -o mount
Data Guard 관리 복구 프로세스를 시작합니다.
rman> alter database recover managed standby database nodelay disconnect;
데이터베이스를 읽고 쓸 수 있습니다.
RAC 또는 독립형 ASM, ASM 디스크 그룹
ASM 디스크 그룹에 데이터 파일이 있고 ASM 디스크 그룹 스테이징 디스크 형식으로 보호된 Oracle 데이터베이스 복구
보호된 소스 데이터베이스에서 이미지를 마운트합니다. Mount(마운트) 창에서 RAC 노드 1의 ASM 아래에 있는 이미지 마운트에 대한 기본 디스크 그룹을 제공합니다. 데이터베이스 이미지를 마운트하는 방법에 관한 자세한 내용은 데이터 액세스를 위해 ASM 디스크 그룹에서 보호되는 Oracle 데이터베이스 이미지 마운트를 참고하세요.
예를 들어 마운트 화면에서 다음을 수행합니다.
호스트 선택: RAC 노드 1 데이터베이스 서버
기본 디스크 그룹: acttestdg
RAC 노드 목록: RAC 노드 1의 IP
백업 매개변수 파일은
/act/touch/<var>preferred_disk_group</var>/
아래에 복사됩니다(예:/act/touch/acttestdg/<var>database_name</var>___backup.ora
Oracle 데이터베이스를 종료합니다.
노드 1에서 Oracle OS 사용자로 su를 실행합니다.
su - oracle
Oracle 환경을 설정합니다. srvctl을 사용하여 모든 노드에서 데이터베이스를 중지합니다.
srvctl stop database -d <var>database_name</var>
데이터베이스가 종료되었는지 확인합니다 (모든 노드에서). 데이터베이스에 남아 있는 프로세스를 종료합니다.
ps -ef | grep <var>db_name</var>
/act/touch/acttestdg에 복사된 백업 매개변수 파일을 사용하여 nomount 상태에서 데이터베이스를 시작합니다.
Oracle 환경을 설정합니다. sqlplus를 사용하여 데이터베이스를 시작합니다.
``` sqlplus / as sysdba sql> startup nomount pfile='/act/touch/acttestdg/<var>db_name</var>___backup.ora'; ```
새 spfile을 만들고 데이터베이스를 다시 시작합니다.
디스크 그룹 아래의 원래 spfile 경로를 가져오려면 다음 단계를 따르세요.
`cat $ORACLE_HOME/dbs/init(database sid).ora`
예: spfile=+preferred disk group/db_name/spfiledb_name.ora
sql> create spfile='+<var>preferred disk group</var>/<var>db_name</var>/spfile<var>db_name</var>.ora' from pfile='/act/touch/acttestdg/<var>db_name</var>___backup.ora';
nomount 상태에서 spfile을 사용하여 데이터베이스를 다시 시작합니다.
``` sql> shutdown immediate; sql> startup nomount; ```
백업 및 DR 마운트된 보관 로그 이미지에서 RMAN을 사용하여 제어 파일을 복원합니다. 로그가 마운트된 이미지의 최신 제어 파일을 사용합니다(예:
/acttestdb_Log/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl
). 로그 이미지가 2개 이상 있는 경우/acttestdb_Log_1/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl
을 사용합니다.``` rman target / rman> restore controlfile from '/acttestdg_Log_1/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl' ; ```
데이터베이스를 마운트합니다.
rman> alter database mount;
백업 및 DR 마운트된 데이터베이스 이미지 및 아카이브 로그 이미지의 데이터 파일 및 아카이브 로그 폴더를 RMAN에 카탈로그화합니다.
``` rman> run { catalog start with '+acttestdg/<var>db_name</var>/datafile' noprompt; catalog start with '+acttestdg/<var>db_name</var>/archivelog' noprompt; catalog start with '/acttestdg_Log' noprompt;} ```
데이터베이스를 복원하고 복구합니다.
rman> run { restore database ; recover database ; }
특정 시점 복구의 경우 아래와 같이 recover 명령어를 실행합니다.
``` rman> run { restore database; recover database until time "to_date('<var>timestamp</var>','yyyymmddhh24mi')"; } ```
로그 재설정 옵션으로 데이터베이스를 엽니다.
기본 데이터베이스 복구의 경우:
rman> alter database open resetlogs;
RAC 구성에는 다른 단계가 필요합니다. 로그를 재설정한 후 노드 1에서 데이터베이스를 종료하고 모든 노드에서 데이터베이스를 시작합니다. sqlplus를 사용하여 데이터베이스를 종료합니다.
sqlplus / as sysdba SQL> shutdown immediate;
srvctl을 사용하여 모든 노드에서 데이터베이스를 시작합니다.
srvctl start database -d <var>database_name</var>
Data Guard 대기 데이터베이스 복구의 경우:
RAC가 아닌 구성의 경우: Data Guard 관리 복구 프로세스를 시작합니다.
rman> alter database recover managed standby database nodelay disconnect;
RAC 구성의 경우: 노드 1에서 데이터베이스를 종료하고 모든 노드에서 마운트된 상태로 데이터베이스를 시작합니다.
sqlplus를 사용하여 데이터베이스를 종료합니다.
sqlplus / as sysdba SQL> shutdown immediate;
srvctl을 사용하여 모든 노드에서 마운트 상태로 데이터베이스를 시작합니다.
srvctl start database -d <var>database_name</var> -o mount
Data Guard 관리 복구 프로세스를 시작합니다.
rman> alter database recover managed standby database nodelay disconnect;
데이터베이스를 읽고 쓸 수 있습니다.
Oracle 테이블스페이스 및 데이터 파일 복구
데이터 손상 등으로 인해 단일 테이블스페이스 데이터 파일을 복구하려면 다음 단계를 따르세요.
백업/복구 어플라이언스의 최신 데이터베이스 스냅샷을 Oracle 서버에 다시 마운트합니다.
데이터베이스 백업 스냅샷을 RMAN에 카탈로그화합니다.
여기에 설명된 대로 백업 스냅샷을 사용하여 테이블스페이스를 복원하고 복구합니다.
ASM 디스크 그룹에서 프로덕션 데이터베이스의 단일 테이블스페이스 복구
프로덕션 데이터베이스의 단일 테이블스페이스를 기본 노드로 복구하려면 다음 단계를 따르세요.
Oracle 데이터베이스를 표준 마운트로 마운트에 설명된 대로 데이터베이스 시점 스냅샷을 마운트합니다.
매핑 옵션의 마운트 창에서 이미지의 마운트 위치를 지정합니다. 예를 들어 ASM 디스크 그룹 아래의 이미지의 경우 기본 디스크 그룹 아래에 디스크 그룹 이름을 제공하고 파일 시스템 아래의 이미지의 경우
/acttestdb
와 같은 마운트 위치를 제공합니다.파일 시스템에서 보호되는 데이터베이스 이미지를 마운트하는 방법에 관한 안내는 데이터 액세스를 위해 파일 시스템에서 보호되는 Oracle 데이터베이스 이미지 마운트를 참고하세요.
ASM 디스크 그룹에서 보호되는 데이터베이스 이미지를 마운트하는 방법에 관한 자세한 내용은 데이터 액세스를 위해 ASM 디스크 그룹에서 보호되는 Oracle 데이터베이스 이미지 마운트를 참고하세요.
기본 노드에서 Oracle OS 사용자로 데이터베이스 서버에 로그인합니다.
데이터베이스 환경을 설정하고 RMAN에 로그인합니다.
rman target /
RMAN 프롬프트에서 백업 데이터 파일 및 보관처리 로그 폴더를 카탈로그화합니다.
예: ASM 디스크 그룹으로 보호된 데이터베이스 이미지(마운트된 ASM 디스크 그룹 이름 ' + acttestdg'):
```rman rman> catalog start with '+acttestdg/<var>db_name</var>/datafile' noprompt; rman> catalog start with '+acttestdg/<var>db_name</var>/archivelog' noprompt; rman>catalog start with ‘/<var>mountpoint_log</var>'; noprompt; (If archivelogs are protected by Backup and DR) ```
예: 파일 시스템(마운트된 파일 시스템 이름 '/acttestdb')에서 보호되는 데이터베이스 이미지:
```rman rman> catalog start with '/acttestdb/datafile' noprompt; rman> catalog start with '/acttestdb/archivelog' noprompt; rman> catalog start with '/acttestdb_log/archivelog' noprompt; ``` (If archivelogs are protected by Backup and DR)
이제 다음과 같은 모든 RMAN 복구 명령어를 실행할 수 있습니다.
완료되면 이미지를 마운트 해제하고 삭제합니다.
테이블스페이스 복구
테이블스페이스를 복구하려면 다음 단계를 따르세요.
```rman
rman> restore tablespace <var>tablespace name</var>;
rman> recover tablespace <var>tablespace name</var>;
```
데이터 파일 복구
데이터 파일을 복구하려면 다음 단계를 따르세요.
```rman
rman> restore datafile <var>file#</var>;
rman> recover datafile <var>file#</var>;
```
손상된 데이터베이스 블록 복구
손상된 데이터베이스 블록을 복구하려면 다음 단계를 따르세요.
Oracle 데이터베이스를 표준 마운트로 마운트에 설명된 대로 데이터베이스 시점 스냅샷을 마운트합니다.
마운트 창의 매핑 옵션에서 이미지의 마운트 위치를 입력합니다. 예를 들어 ASM 디스크 그룹의 이미지의 경우 기본 디스크 그룹 아래에 디스크 그룹 이름을 제공하고 파일 시스템의 이미지의 경우 마운트 위치(예: /acttestdb)를 제공합니다.
파일 시스템에서 보호되는 데이터베이스 이미지를 마운트하는 방법에 관한 안내는 데이터 액세스를 위해 파일 시스템에서 보호되는 Oracle 데이터베이스 이미지 마운트를 참고하세요.
ASM 디스크 그룹에서 보호되는 데이터베이스 이미지를 마운트하는 방법에 관한 자세한 내용은 데이터 액세스를 위해 ASM 디스크 그룹에서 보호되는 Oracle 데이터베이스 이미지 마운트를 참고하세요.
기본 노드에서 Oracle OS 사용자로 데이터베이스 서버에 로그인합니다.
데이터베이스 환경을 설정하고 sqlplus에 로그인한 다음 v$database_block_corruption을 쿼리하여 손상된 블록을 확인합니다.
```sh sqlplus / as sysdba sql> SELECT * FROM V$DATABASE_BLOCK_CORRUPTION; ```
RMAN에 로그인하여 손상된 모든 블록을 복구합니다.
```rman rman target / rman> RECOVER CORRUPTION LIST; ```
블록이 복구되면 데이터베이스는 V$DATABASE_BLOCK_CORRUPTION에서 해당 블록을 삭제합니다.
손상된 개별 블록을 복구하려면 (예: 데이터 파일 8 및 블록 13) 다음 단계를 따르세요.
RMAN 프롬프트에서
```rman RMAN> recover datafile 8 block 13; ```
손실된 제어 파일 복구
손실된 제어 파일을 복구하려면 다음 단계를 따르세요.
Oracle 데이터베이스를 표준 마운트로 마운트에 설명된 대로 데이터베이스 시점 스냅샷을 마운트합니다.
마운트 창의 매핑 옵션에서 이미지의 마운트 위치를 입력합니다. 예를 들어 ASM 디스크 그룹 아래의 이미지의 경우 기본 디스크 그룹 아래에 디스크 그룹 이름을 제공하고 파일 시스템 아래의 이미지의 경우
/acttestdb
와 같은 마운트 위치를 제공합니다.파일 시스템에서 보호되는 데이터베이스 이미지를 마운트하는 방법에 관한 안내는 데이터 액세스를 위해 파일 시스템에서 보호되는 Oracle 데이터베이스 이미지 마운트를 참고하세요.
ASM 디스크 그룹에서 보호되는 데이터베이스 이미지를 마운트하는 방법에 관한 자세한 내용은 데이터 액세스를 위해 ASM 디스크 그룹에서 보호되는 Oracle 데이터베이스 이미지 마운트를 참고하세요.
기본 노드에서 Oracle OS 사용자로 데이터베이스 서버에 로그인합니다.
데이터베이스 환경을 설정하고 sqlplus에 로그인한 후 데이터베이스를 종료하고 nomount 상태에서 시작합니다.
독립형 데이터베이스의 경우:
```sql sqlplus / as sysdba sql> shutdown immediate; sql> startup nomount; ```
마운트된 이미지 노드의 RAC 데이터베이스의 경우 모든 노드에서 데이터베이스를 종료합니다.
```sh srvctl stop database -d <var>db_name</var> sql> startup nomount; ```
백업 및 DR 마운트된 이미지에서 제어 파일을 복원합니다.
예:
/acttestdb
(파일 시스템) 및+acttestdg
(ASM용)```rman rman target / rman> restore controlfile from '/acttestdb/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl' ; (Filesystem mount) rman> restore controlfile from '+acttestdb/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl' ; (ASM mount) ```
sqlplus에서 데이터베이스를 마운트하고 엽니다.
```sql sqlplus / as sysdba sql> alter database mount; sql> recover database until cancel; sql> alter database open resetlogs; ```
Oracle PDB(플러그gable 데이터베이스) 복구
Oracle 12c 이상 플러그인 가능한 데이터베이스 (PDB)를 복구하려면 다음 단계를 따르세요.
소스 데이터베이스 서버에서 이미지를 마운트하여 복구합니다. 마운트 창에서 RAC 노드 1의 ASM 아래에 있는 이미지 마운트에 대한 기본 디스크 그룹을 제공합니다. 데이터베이스 이미지를 마운트하는 방법에 관한 자세한 내용은 데이터 액세스를 위해 ASM 디스크 그룹에서 보호되는 Oracle 데이터베이스 이미지 마운트를 참고하세요.
플러그인 데이터베이스를 닫습니다.
노드 1,
su
에서 Oracle 사용자로su - oracle
Oracle 환경을 설정합니다. 'sysdba' 사용자로 Oracle 데이터베이스에 연결합니다.
sqlplus / as sysdba SQL> alter pluggable database <var>pluggable_db_name</var> close;
백업 및 DR 마운트된 데이터베이스 이미지와 아카이브 로그 이미지의 데이터 파일 및 아카이브 로그 폴더를 RMAN에 카탈로그화합니다.
rman> run { catalog start with '+acttestdg/<var>db_name</var>/datafile' noprompt; catalog start with '+acttestdg/<var>db_name</var>/archivelog' noprompt; catalog start with '/acttestdg_Log' noprompt; }
플러그인 데이터베이스 복원 및 복구
rman> run { restore pluggable database <var>pluggable_db_name</var>; recover pluggable database <var>pluggable_db_name</var> until time "to_date('<var>required time stamp</var>>';,';yyyymmddhh24mi')"; }
플러그인 데이터베이스를 엽니다.
rman> alter pluggable database <var>pluggable_db_name</var> open;
플러그인 가능한 데이터베이스는 읽기 및 쓰기에 열려 있습니다.
Oracle DBA 가이드
- Oracle 데이터베이스용 백업 및 DR
- Oracle 데이터베이스 보호를 위한 기본 요건
- Oracle 패치 및 알려진 문제
- 보호를 위해 Oracle 데이터베이스 준비하기
- Oracle 데이터베이스 탐색 및 보호
- Oracle 데이터베이스의 세부정보 및 설정
- 백업 및 DR에서 dNFS 사용
- 탐색된 Oracle 데이터베이스 보호
- Oracle 데이터베이스를 표준 마운트로 마운트
- Oracle 데이터베이스의 즉시 가상 사본 만들기
- Oracle 데이터베이스 복원 및 복구
- 마운트 및 마이그레이션을 사용하여 Oracle 데이터베이스 즉시 복구
- 백업 및 DR 워크플로로 환경 프로비저닝