오브젝트 스토지를 사용해 데이터베이스를 - oracle · 2019. 12. 10. · oracle...

28
오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션 ORACLE 백서 | 201811

Upload: others

Post on 29-Mar-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

오브젝트 스토리지를 사용해 데이터베이스를

Oracle Cloud Infrastructure로 마이그레이션

ORACLE 백서 | 2018년 11월

Page 2: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

2 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

면책 조항

본 자료에서는 오라클의 전반적인 제품 방향을 소개하고 정보를 제공할 목적으로 작성되었으며

어떠한 계약에도 포함되지 않을 수 있습니다. 따라서 이 정보는 어떤 자료, 코드 또는 기능을

제공한다는 약속을 의미하는 것이 아니므로 구매 결정에 참고해서는 안됩니다. 여기 설명되어

있는 오라클 제품에 대한 모든 특징 또는 기능의 개발, 발표 및 시기는 오라클의 단독 재량에

따라 변경될 수 있습니다.

개정 이력

다음은 본 백서가 최초 발간 이후 지금까지 개정된 이력을 나타낸 것입니다.

날짜 개정

2018년 10월 26일 최초 발간

Oracle Cloud Infrastructure 최신 백서는 https://cloud.oracle.com/iaas/technical-resources에서 찾아볼

수 있습니다.

Page 3: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

3 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

목차

서론 5

오브젝트 스토리지를 사용해 Oracle 데이터베이스를 마이그레이션하는 단계 5

1단계: RMAN을 통한 Oracle 데이터베이스 백업 6

전체 (Level 0) 백업 6

증분 (Level 1) 백업 8

2단계: Oracle 데이터베이스 백업 파일을 오브젝트 스토리지로 이동 10

데이터 전송 디스크 11

데이터 전송 어플라이언스 11

스토리지 게이트웨이 12

CLI 12

3단계: 컴퓨트 인스턴스 생성 및 대상 데이터베이스 시작 14

SSH 키 생성 14

컴퓨트 인스턴스 생성 14

컴퓨트 인스턴스 연결 15

Oracle 데이터베이스 설치 15

4단계: Database Cloud Backup Module 구성 18

Auth 토큰 생성 18

Database Cloud Backup Module 다운로드 19

Database Cloud Backup Module 설치 19

5단계: 오브젝트 스토리지에서 백업 파일 복구 19

SBT 메타데이터 파일 생성 20

매개변수 파일 복구 21

제어 파일 위치 생성 21

제어 파일 복구 22

Page 4: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

4 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

데이터베이스 복구 및 복원 22

결론 25

부록: 데이터베이스 마이그레이션 보안 26

암호화 26

액세스 제어 세분화 26

인증 및 권한 부여 27

Page 5: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

5 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

서론

Oracle 데이터베이스는 다중 모델 관계형 데이터베이스 관리 시스템으로서, 비즈니스 트랜잭션을

구성하는 여러 단계에서 널리 사용될 뿐만 아니라 모든 규모의 기업에서 다양한 형식의 데이터를

관리할 수 있도록 배치됩니다. Oracle 데이터베이스는 흔히 온라인 트랜잭션 처리 (OLTP) 워크로드,

데이터 웨어하우징 (DW) 워크로드 또는 OLTP와 DW가 혼합된 데이터베이스 워크로드를 실행하는 데

사용됩니다. Oracle Cloud Infrastructure는 Oracle 데이터베이스 워크로드를 온프레미스 환경에서

Oracle Cloud Infrastructure로 배포할 수 있는 포괄적인 서비스와 도구를 제공합니다.

Oracle Cloud Infrastructure는 Oracle Cloud Infrastructure 컴퓨트 인스턴스에서 직접, 혹은

서비스형 데이터베이스 (DBaaS) 관리형 인스턴스에서 Oracle 데이터베이스를 실행할 수 있는

여러 가지 기능을 제공합니다. Oracle 데이터베이스를 컴퓨트 인스턴스에서 실행할 경우에는

사용자가 전체 데이터베이스와 관련 인프라의 설정을 완벽히 제어할 수 있습니다. 이러한

프로세스에서는 사용자가 필요에 따라 인스턴스, 네트워킹, 스토리지 볼륨, 확장성, 보안 등 모든

구성요소를 설정, 구성 및 관리하여야 합니다. 운영 시스템 수준에서 데이터베이스와 인스턴스를

제어할 수 있기 때문에 컴퓨트 인스턴스에서 데이터베이스를 실행하는 것은 고객이 소유한

서버에서 데이터베이스를 실행하는 것과 유사합니다. 그 밖에 모니터링 및 관리 에이전트를

실행할 수 있습니다.

이번 백서에서는 Oracle 데이터베이스 워크로드를 Oracle Cloud Infrastructure 컴퓨트 인스턴스로

마이그레이션하는 방법에 대해 자세히 설명하고, 마이그레이션에 도움이 되는 몇 가지 옵션과

예시에 대해 살펴보겠습니다. 데이터베이스를 DBaaS 관리형 인스턴스로 마이그레이션하는 방법은

해당 백서인 "Migrating Databases to Oracle Cloud Infrastructure Database Using Object

Storage"에 자세히 소개되어 있습니다.

오브젝트 스토리지를 사용해 Oracle 데이터베이스를

마이그레이션하는 단계

Oracle 데이터베이스를 온프레미스 환경에서 Oracle Cloud Infrastructure로 마이그레이션하는

작업은 Oracle 데이터베이스를 고객이 소유한 서버로 마이그레이션하는 작업과 유사합니다.

다음은 Oracle 데이터베이스를 Oracle Cloud Infrastructure 컴퓨트 인스턴스로 마이그레이션할 때

사용되는 고수준의 단계입니다.

1. Oracle RMAN (Recovery Manager)을 사용해 Oracle 데이터베이스를 백업합니다.

2. 다음 Oracle Cloud Infrastructure 데이터 마이그레이션 서비스 중 하나를 사용해 백업

파일을 Oracle Cloud Infrastructure 오브젝트 스토리지로 복사합니다.

○ 데이터 전송 디스크

○ 데이터 전송 어플라이언스

○ 스토리지 게이트웨이

Page 6: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

6 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

○ 명령줄 인터페이스(CLI)

3. 컴퓨트 인스턴스를 생성하고 대상 데이터베이스를 시작합니다.

4. Oracle 데이터베이스 Cloud Backup Module을 다운로드하여 컴퓨트 인스턴스에

구성합니다.

5. 오브젝트 스토리지의 백업 파일을 자체 관리형 컴퓨트 인스턴스에 Oracle 데이터베이스로

복구합니다.

1단계: RMAN을 통한 Oracle 데이터베이스 백업

Oracle RMAN은 Oracle 데이터베이스 백업 및 복구를 실행하고 관리합니다. 또한 전체 및 증분

백업 (차등, 누적)을 실행한 후 백업 카탈로그를 유지하기 때문에 복구 프로세스가 간단하며 믿을

수 있습니다. 그 밖에도, 백업 파일에서 또는 활성 데이터베이스에서 데이터베이스를 복사

(duplicate) 또는 복제 (clone)할 수 있습니다.

참고: 이번 단원에서는 RMAN을 사용해 중소 규모의 Oracle 데이터베이스를 간단하게 백업하는

방법을 소개합니다. 고가용성을 요하는 대규모의 데이터베이스일 때는 Oracle 데이터베이스 백업

및 복구 모범 사례에 따라 중단 시간을 최소화하여 데이터베이스를 빠르고 안전하게

마이그레이션하는 것이 좋습니다.

전체 (Level 0) 백업

RMAN을 사용해 아래 명령을 실행하여 Oracle 데이터베이스 전체를 백업하고 암호화합니다.

본 예제에서는 RMAN 패스워드 기반 암호화를 사용하며, RMAN 백업은 myPassword라는 암호를

사용하여 암호화됩니다. 하지만 데이터베이스를 백업하면서 SET ENCRYPTION ON IDENTIFIED

BY '<password>' only 명령을 사용해 고유하고 안전한 암호를 선택해 구성하는 것이 좋습니다.

복구 과정에서 백업 파일을 대상 인스턴스에서 복호화할 때도 동일한 암호를 사용합니다.

$ rman target /

RMAN> SET ENCRYPTION ON IDENTIFIED BY 'myPassword' only;

executing command: SET encryption

RMAN>set compression algorithm 'medium';

executing command: SET compression

RMAN> run

{

configure controlfile autobackup off;

backup as compressed backupset

device type disk

tag dta_level0

incremental level 0

format '/u01/backups/fullbackup_%U'

section size 24g

database

include current controlfile spfile

Page 7: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

7 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

plus archivelog

format '/u01/backups/Al_fullbackup_%U';

}

Starting backup at 25-SEP-18

current log archived

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=273 device type=DISK

channel ORA_DISK_1: starting compressed archived log backup set

channel ORA_DISK_1: specifying archived log(s) in backup set

input archived log thread=1 sequence=24 RECID=1 STAMP=987786352

input archived log thread=1 sequence=25 RECID=2 STAMP=987786424

input archived log thread=1 sequence=26 RECID=3 STAMP=987786588

input archived log thread=1 sequence=27 RECID=4 STAMP=987786670

.

.

including current control file in backup set

including current SPFILE in backup set

channel ORA_DISK_1: starting piece 1 at 25-SEP-18

channel ORA_DISK_1: finished piece 1 at 25-SEP-18

piece handle=/u01/backups/fullbackup_8cte0snd_1_1 tag=DTA_LEVEL0 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

channel ORA_DISK_1: starting compressed incremental level 0 datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

including current SPFILE in backup set

channel ORA_DISK_1: starting piece 1 at 25-SEP-18

channel ORA_DISK_1: finished piece 1 at 25-SEP-18

piece handle=/u01/backups/fullbackup_8dte0snf_1_1 tag=DTA_LEVEL0 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 25-SEP-18

Starting backup at 25-SEP-18

current log archived

using channel ORA_DISK_1

channel ORA_DISK_1: starting compressed archived log backup set

channel ORA_DISK_1: specifying archived log(s) in backup set

input archived log thread=1 sequence=38 RECID=15 STAMP=987788017

channel ORA_DISK_1: starting piece 1 at 25-SEP-18

channel ORA_DISK_1: finished piece 1 at 25-SEP-18

piece handle=/u01/backups/Al_fullbackup_8ete0snh_1_1 tag=DTA_LEVEL0 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 25-SEP-18

RMAN> exit

$

위의 명령은 백업 파일을 /u01/backups 파일 시스템에 저장합니다. 백업을 마치면 다음 단계를

진행합니다.

1. controlfile과 spfile의 백업 파일 이름을 기록합니다. 두 파일의 이름은 데이터베이스를

Page 8: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

8 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

마이그레이션하는 데 필요합니다. 여기서는 fullbackup_8cte0snd_1_1과

fullbackup_8dte0snf_1_1이 각각 controlfile과 spfile의 이름입니다. controlfile과

spfile은 나머지 백업 파일보다 먼저 복구됩니다.

2. 데이터베이스가 원본에서 암호화되어 있다면 sqlnet.ora 파일과 TDE (Transparent Data

Encryption) wallet 파일을 백업 파일과 함께 복사합니다. 이 두 파일은 RMAN 백업

프로세스에서 복사되지 않기 때문에 따로 복사해야 합니다.

참고: 모범 사례로서, TDE wallet 파일을 데이터베이스 백업 파일과 함께 복사하지

마십시오. 이 파일은 보안을 위해 따로 복사하는 것이 좋습니다.

ENCRYPTION_WALLET_LOCATION은 sqlnet.ora 파일을 참조하십시오.

$ cat $ORACLE_HOME/network/admin/sqlnet.ora

ENCRYPTION_WALLET_LOCATION =

(SOURCE = (METHOD = FILE)

(METHOD_DATA =

(DIRECTORY = /etc/oracle/wallets/cdb1/)))

$ ls /etc/oracle/wallets/cdb1/

cwallet.sso cwallet.sso.lck ewallet.p12 ewallet.p12.lck

$

증분 (Level 1) 백업

아래 명령을 실행해 데이터베이스를 증분 백업하여 마지막 전체 백업 이후 변경된 데이터를

수집합니다.

본 예제에서는 RMAN 패스워드 기반 암호화를 사용하며, RMAN 백업은 myPassword라는 암호를

사용하여 암호화됩니다. 하지만 데이터베이스를 백업하면서 SET ENCRYPTION ON IDENTIFIED

BY '<password>' only 명령을 사용해 고유하고 안전한 암호를 선택해 구성하는 것이

좋습니다. 복구 과정에서 백업 파일을 대상 인스턴스에서 복호화할 때도 동일한 암호를

사용합니다.

$ rman taget /

RMAN> SET ENCRYPTION ON IDENTIFIED BY 'myPassword' only;

executing command: SET encryption

RMAN>set compression algorithm 'medium';

executing command: SET compression

RMAN> run

{

backup as compressed backupset

device type disk

tag dta_level1

cumulative incremental level 1

format '/u01/backups/Incremental_%U'

section size 24g

database

include current controlfile spfile

Page 9: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

9 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

plus archivelog

format '/u01/backups/Al_Incremental_%U';

}

Starting backup at 25-SEP-18

current log archived

using channel ORA_DISK_1

channel ORA_DISK_1: starting compressed archived log backup set

channel ORA_DISK_1: specifying archived log(s) in backup set

input archived log thread=1 sequence=24 RECID=1 STAMP=987786352

input archived log thread=1 sequence=25 RECID=2 STAMP=987786424

input archived log thread=1 sequence=26 RECID=3 STAMP=987786588

including current control file in backup set

including current SPFILE in backup set

channel ORA_DISK_1: starting piece 1 at 25-SEP-18

channel ORA_DISK_1: finished piece 1 at 25-SEP-18

piece handle=/u01/backups/Incremental_8lte0spt_1_1 tag=DTA_LEVEL1 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

channel ORA_DISK_1: starting compressed incremental level 1 datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

including current SPFILE in backup set

channel ORA_DISK_1: starting piece 1 at 25-SEP-18

channel ORA_DISK_1: finished piece 1 at 25-SEP-18

piece handle=/u01/backups/Incremental_8mte0spv_1_1 tag=DTA_LEVEL1 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 25-SEP-18

Starting backup at 25-SEP-18

current log archived

using channel ORA_DISK_1

channel ORA_DISK_1: starting compressed archived log backup set

channel ORA_DISK_1: specifying archived log(s) in backup set

input archived log thread=1 sequence=40 RECID=17 STAMP=987788096

channel ORA_DISK_1: starting piece 1 at 25-SEP-18

channel ORA_DISK_1: finished piece 1 at 25-SEP-18

piece handle=/u01/backups/Al_Incremental_8nte0sq0_1_1 tag=DTA_LEVEL1 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 25-SEP-18

RMAN>

백업을 마치면 다음 단계를 진행합니다.

1. controlfile과 spfile의 백업 파일 이름을 기록합니다. 두 파일의 이름은 데이터베이스를

마이그레이션하는 데 필요합니다. 위의 예에서는 Incremental_8lte0spt_1_1과

Incremental_8mte0spv_1_1이 각각 controlfile 이름과 spfile 이름입니다.

2. 원본 데이터베이스에서 다음 쿼리를 실행하여 원본 데이터베이스의 DBID를 기록합니다.

이 정보는 spfile을 복구하는 프로세스에서 필요합니다.

$ sqlplus / as sysdba;

SQL> select dbid from v$database;

SQL*Plus: Release 12.2.0.1.0 Production on Wed Sep 19 20:01:09 2018

Copyright (c) 1982, 2016, Oracle. All rights reserved.

Connected to:

Page 10: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

10 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> select dbid from v$database;

DBID

----------

960474975

SQL>

2단계: Oracle 데이터베이스 백업 파일을 오브젝트

스토리지로 이동

Oracle Cloud Infrastructure는 데이터를 안전하게 마이그레이션할 수 있는 몇 가지 솔루션을

제공합니다. 이용할 서비스의 유형은 데이터 크기, 고객의 네트워크와 Oracle Cloud Infrastructure

사이의 네트워크 연결 방식 등 다양한 요인에 의해 결정됩니다.

다음 표는 데이터 마이그레이션 서비스의 사용 사례별 권장 서비스를 나타낸 것입니다. 공용

인터넷을 통한 데이터 업로드가 1주일 이상 걸린다면 데이터 전송 어플라이언스 또는 데이터

전송 디스크의 사용을 권장합니다. 표 다음에는 각 서비스에 대한 설명이 이어집니다.

버킷 데이터

세트 크기

네트워크

연결

데이터 전송 권장 서비스 대략적인 데이터

업로드/전송 시간

10TB

100Mbps 데이터 전송 어플라이언스

데이터 전송 디스크

1주

1Gbps

명령줄 인터페이스 (CLI)

스토리지 게이트웨이

22시간

10Gbps

명령줄 인터페이스 (CLI)

스토리지 게이트웨이

2시간

100TB 100Mbps

데이터 전송 어플라이언스

데이터 전송 디스크

1주

1Gbps

데이터 전송 어플라이언스

데이터 전송 디스크

1주

10Gbps

명령줄 인터페이스 (CLI)

스토리지 게이트웨이

24시간

Page 11: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

11 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

버킷 데이터

세트 크기

네트워크

연결

데이터 전송 권장 서비스 대략적인 데이터

업로드/전송 시간

500TB 100Mbps

데이터 전송 어플라이언스

다수의 전송 어플라이언스가 필요합니다.

어플라이언스 하나로는 최대 150TB 까지만

데이터를 전송할 수 있습니다.

1주

1Gbps

데이터 전송 어플라이언스

다수의 전송 어플라이언스가 필요합니다.

어플라이언스 하나로는 최대 150TB 까지만

데이터를 전송할 수 있습니다.

1주

10Gbps CLI 5일

1TB

모든

대역폭

데이터 전송 어플라이언스

다수의 전송 어플라이언스가 필요합니다.

어플라이언스 하나로는 최대 150TB 까지만

데이터를 전송할 수 있습니다.

2주

데이터 전송 디스크

데이터 전송 디스크는 하드 디스크 드라이브를 사용해 데이터를 오브젝트 스토리지로 안전하게

마이그레이션할 수 있는 오프라인 데이터 마이그레이션 서비스입니다. 고객은 하드 디스크

드라이브를 필요한 만큼 구매하여 데이터를 드라이브로 복사한 후 데이터가 오브젝트 스토리지로

전송되는 Oracle 데이터 전송 현장으로 드라이브를 발송해야 합니다. 데이터 전송 프로세스가

종료되면 가져온 데이터를 오브젝트 스토리지에서 사용할 수 있습니다.

데이터를 작성하여 디스크에 복사하기 위한 사전 작업과 세부 지침은 데이터 전송 디스크

설명서를 참조하십시오. 패키지가 데이터 전송 현장에 도착하면 데이터베이스 백업 파일을 고객

테넌시의 오브젝트 스토리지 버킷에 복사합니다.

데이터 전송 어플라이언스

데이터 전송 어플라이언스는 기능성 스토리지 어플라이언스를 사용해 페타바이트급 데이터

세트를 오브젝트 스토리지로 안전하게 마이그레이션할 수 있는 오프라인 데이터 마이그레이션

서비스입니다. 데이터를 2개 이상의 안전한 대용량 전송 어플라이언스 파일로 저장하여 데이터

전송 현장으로 발송합니다. 데이터 전송 현장의 담당자는 파일을 고객 테넌시에서 원하는

오브젝트 스토리지 버킷에 업로드합니다.

데이터를 작성하여 데이터 전송 어플라이언스에 복사하기 위한 사전 작업과 세부 지침은 데이터

전송 어플라이언스 설명서를 참조하십시오.

Page 12: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

12 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

데이터 전송 어플라이언스 사용 시 고려 사항

• 전송 어플라이언스 하나로 최대 150TB까지 데이터를 전송할 수 있습니다. 150TB가 넘는

데이터를 전송해야 할 경우 여러 개의 어플라이언스를 요청하면 됩니다.

• 전송 어플라이언스를 사용하면 네트워크 파일 시스템 (NFS) 마운트 포인트가 노출됩니다.

데이터베이스 백업 파일을 전송 어플라이언스로 복사할 때는 일반적인 파일 시스템

명령을 사용하십시오.

스토리지 게이트웨이

Oracle Cloud Infrastructure 스토리지 게이트웨이는 온프레미스 환경을 오브젝트 스토리지와

연결하는 데 유용합니다. 스토리지 게이트웨이를 사용할 경우, NFS 대상에 데이터를 저장할 수

있는 어플리케이션이라면 어플리케이션을 수정하여 REST API를 구현하지 않고도 데이터를

오브젝트 스토리지로 손쉽게 마이그레이션할 수 있습니다. 또한 NFS 마운트 포인트를 노출시켜

NFS 클라이언트를 지원하는 호스트에 마운팅할 수 있습니다. 그러면 스토리지 게이트웨이가 NFS-

REST API 변환을 실행합니다.

스토리지 게이트웨이의 다운로드, 설치 및 구성에 필요한 사전 작업과 세부 지침은 스토리지

게이트웨이 설명서를 참조하십시오. 스토리지 게이트웨이를 구성하여 파일 시스템이

마운트되었으면 이제 일반적인 파일 시스템 명령을 사용해 데이터를 복사합니다.

CLI

Oracle Cloud Infrastructure CLI는 Oracle Cloud Infrastructure 작업에서 사용되는 기본 명령줄 기반

유틸리티입니다. CLI를 사용하면 다수의 파일을 오브젝트 스토리지로 대량 업로드할 수 있습니다.

CLI를 사용하려면 먼저 설치가 필요합니다. CLI의 설치와 구성에 대한 세부 지침은 CLI 설명서를

참조하십시오.

CLI 유틸리티가 설치되고 나면, 다음 명령을 실행하여 백업 파일을 대량으로 업로드합니다. 여기서

NAMESPACE와 BUCKET을 원하는 값으로 변경하십시오.

$ oci os object bulk-upload -ns NAMESPACE -bn BUCKET --src-dir /u01/backups

Uploaded fullbackup_8ate0smf_1_1 [####################################] 100%

{

"skipped-objects": [],

"upload-failures": {},

"uploaded-objects": {

"Al_Incremental_8fte0spl_1_1": {

"etag": "7759CBAFC7C71DE0E053C224C00A290C",

"last-modified": "Wed, 03 Oct 2018 20:37:35 GMT",

"opc-content-md5": "1vDoDp6cgehgR2ruNpT5cQ=="

},

"Al_Incremental_8nte0sq0_1_1": {

"etag": "7759AB55DDD6FB6FE053C224C00A63A0",

Page 13: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

13 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

"last-modified": "Wed, 03 Oct 2018 20:37:19 GMT",

"opc-content-md5": "fUL3C73C99pHYjfUVjxZUg=="

},

"Al_fullbackup_86te0skc_1_1": {

"etag": "7759C2A94ED31619E053C224C00A8275",

"last-modified": "Wed, 03 Oct 2018 20:27:50 GMT",

"opc-content-md5": "J1Ii5ql/h402FaM0j7sZvg=="

},

"Al_fullbackup_8ete0snh_1_1": {

"etag": "77598368C90CD873E053C224C00A4BF8",

"last-modified": "Wed, 03 Oct 2018 20:37:19 GMT",

"opc-content-md5": "x9U46uswut5bRzDBStGhLA=="

},

"Incremental_8gte0spp_1_1": {

"etag": "7759EB66D0C225BBE053C224C00AF220",

"last-modified": "Wed, 03 Oct 2018 20:37:26 GMT",

"opc-content-md5": "pKvXd9Zx2dpyw9SIe/rKBQ=="

},

"Incremental_8lte0spt_1_1": {

"etag": "7759E196205811FDE053C224C00A067E",

"last-modified": "Wed, 03 Oct 2018 20:37:21 GMT",

"opc-content-md5": "wg7VWdNtBUykH4yJfu5ZuA=="

},

"Incremental_8mte0spv_1_1": {

"etag": "7759AFCAFF0F0309E053C224C00AE36F",

"last-modified": "Wed, 03 Oct 2018 20:37:20 GMT",

"opc-content-md5": "cos5pHd7X9gtiTWrNp81zg=="

},

"fullbackup_88te0slg_1_1": {

"etag": "7759B2AC7E6D0806E053C224C00A1917",

"last-modified": "Wed, 03 Oct 2018 20:40:00 GMT",

"opc-multipart-md5": "5YXUspvgRDCj6cWF9MjC2g==-2"

},

"fullbackup_89te0sm0_1_1": {

"etag": "7759E196217411FDE053C224C00A067E",

"last-modified": "Wed, 03 Oct 2018 20:40:00 GMT",

"opc-multipart-md5": "OKbSRaAIsrwiPGuOMfIXtw==-2"

},

"fullbackup_8ate0smf_1_1": {

"etag": "77594C3415F19D55E053C224C00AC1EF",

"last-modified": "Wed, 03 Oct 2018 20:30:30 GMT",

"opc-multipart-md5": "hR0aFDtagw7yq9Sd30GB3g==-2"

},

"fullbackup_8bte0smu_1_1": {

"etag": "77597209CC34B88AE053C224C00A85A0",

"last-modified": "Wed, 03 Oct 2018 20:40:00 GMT",

"opc-multipart-md5": "BxPABMX8Yq2vMylkdlmnvw==-2"

},

"fullbackup_8cte0snd_1_1": {

"etag": "7759E18C068211FAE053C224C00AFEBE",

"last-modified": "Wed, 03 Oct 2018 20:37:21 GMT",

"opc-content-md5": "QMhVC+z2E7+NxVJQGw6h+Q=="

},

"fullbackup_8dte0snf_1_1": {

"etag": "7759B476B5240C55E053C224C00A9519",

"last-modified": "Wed, 03 Oct 2018 20:27:45 GMT",

Page 14: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

14 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

"opc-content-md5": "zYZbBl0SnRXGfvojpiC6rA=="

}

}

}

$

3단계: 컴퓨트 인스턴스 생성 및 대상 데이터베이스 시작

Oracle Cloud Infrastructure 컴퓨트 서비스에서는 컴퓨트 인스턴스를 프로비저닝하여 관리할 수

있습니다. 인스턴스는 컴퓨트 및 어플리케이션 요건에 따라 필요한 만큼 생성할 수 있습니다.

인스턴스를 생성한 후에는 고객의 컴퓨터에서 인스턴스에 액세스하여 다시 시작하고, 볼륨을 연결

또는 분리하고, 작업을 마친 후 종료할 수 있습니다. 인스턴스를 종료하면 인스턴스의 로컬

드라이브에 대한 변경 사항이 모두 사라지지만 인스턴스에 연결되어 저장된 볼륨 변경 사항은

그대로 남습니다.

SSH 키 생성

인스턴스를 생성할 때는 SSH 공개 키를 Open SSH 형식으로 입력해야 합니다. 이 키는 SSH

세션을 인증하는 데 사용됩니다. SSH 키 쌍이 없다면 다음 명령을 사용해 새로운 SSH 키 쌍을

생성할 수 있습니다.

$ ssh-keygen -t rsa -N "" -b 2048 -f .ssh/linstance_rsa

Generating public/private rsa key pair.

Your identification has been saved in .ssh/linstance_rsa.

Your public key has been saved in .ssh/linstance_rsa.pub.

The key fingerprint is:

SHA256:4O3i0ZWzkfYEoQDgzyAKU2dXPV88EXukKyrz7N/wtj0

$

참고: 위에서 PATH와 ROOT_NAME을 원하는 값으로 변경하십시오. PATH는 키 쌍이 저장되는

위치입니다. ROOT_NAME은 파일의 루트 이름입니다.

컴퓨트 인스턴스 생성

Oracle Cloud Infrastructure 콘솔에 로그인하여 Create Instance를 클릭하고 새로운 인스턴스를

생성합니다. 그러면 인스턴스 생성에 필요한 정보를 입력하라는 시스템 메시지가 표시됩니다.

이때, 앞에서 생성한 SSH 키 쌍의 공개 키를 선택해야 합니다.

자세한 내용은 컴퓨트 설명서를 참조하십시오.

Page 15: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

15 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

컴퓨트 인스턴스 연결

컴퓨트 인스턴스가 생성되면 다음 명령을 사용하여 권한을 설정하고 인스턴스에 연결합니다.

$ chmod 400 linstance_rsa

$ ssh -i linstance_rsa opc@PUBLIC_IP_ADDRESS

Last failed login: Fri Sep 28 02:03:25 GMT 2018 from 209.141.40.49 on ssh:notty

There were 1 failed login attempts since the last successful login.

Last login: Wed Sep 26 22:57:07 2018 from 160.34.93.141

$

참고: PUBLIC_IP_ADDRESS를 원하는 값으로 변경하십시오.

Oracle 데이터베이스 설치

참고: 이 단원에서는 Oracle 데이터베이스를 손쉽게 설치할 수 있는 방법을 설명합니다. 대규모의

프로덕션 인스턴스를 설정할 때는 Oracle 설치 모범 사례를 참조하는 것이 좋습니다.

Oracle 데이터베이스를 컴퓨트 인스턴스에 설치하려면 먼저 OTN (Oracle Technology

Network)에서 설치 파일을 다운로드한 후, 설치할 Oracle 데이터베이스 버전의 설치 지침을

따라야 합니다(원본 데이터베이스 인스턴스의 버전과 동일해야 합니다).

1. 루트 사용자로 Oracle 데이터베이스를 설치하려면 다음 명령을 실행합니다.

# yum install wget zip unzip -y

# mkdir -p /u01/software

# cd /u01/software

#

2. 다음 명령을 실행하여 사전에 필요한 요소를 자동으로 설치합니다. 사전 설치는 설치할

Oracle 데이터베이스의 버전에 따라 달라집니다. 여기서는 Oracle 12c Release 2 사전

설치를 진행해보겠습니다.

# yum install oracle-database-server-12cR2-preinstall -y

# yum update -y

#

Oracle 사전 설치에서는 Oracle 데이터베이스 설치에 필요한 모든 요소들을 설치합니다.

이 과정에서 Oracle 사용자가 생성됩니다.

3. 다음 명령을 실행하여 Oracle 사용자의 암호를 재설정합니다.

# passwd oracle

Changing password for user oracle.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

#

Page 16: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

16 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

4. 다음 명령을 실행하여 Oracle 데이터베이스 설치에 필요한 환경 변수를 설정합니다.

# mkdir -p /u01/app/oracle/product/12.2.0.1/db_1

# chown -R oracle:oinstall /u01

# chmod -R 775 /u01

# mkdir /home/oracle/scripts

# cat > /home/oracle/scripts/setEnv.sh <<EOF

# Oracle Settings

export TMP=/tmp

export TMPDIR=\$TMP

export ORACLE_HOSTNAME=ol7-122.localdomain

export ORACLE_UNQNAME=cdb1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=\$ORACLE_BASE/product/12.2.0.1/db_1

export ORACLE_SID=cdb1

export PATH=/usr/sbin:/usr/local/bin:\$PATH

export PATH=\$ORACLE_HOME/bin:\$PATH

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib

EOF

# echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile

#

5. Oracle 데이터베이스 설치 소프트웨어 (여기서는 Oracle 12c Release 2)를 /u01/software

디렉토리에 복사한 후 다음 명령을 실행해 설치 프로세스를 시작합니다.

# unzip linuxx64_12201_database.zip

# cd database

# chown -R oracle.oinstall /u01

# su - oracle

$ cd /u01/software/database

$

Silent 방식 설치는 대부분의 클라우드 기반 설치에서 이용할 수 있는 가장 간단한 방식입니다.

다음 명령은 이름이 db_install.rsp인 응답 파일을 사용하는 소프트웨어 전용 silent 방식

설치를 나타낸 것입니다. Silent 방식 설치를 위해 응답 파일을 작성하는 방법은 이 백서에서

다루지 않습니다. 자세한 내용은 OUI (Oracle Universal Installer) 자동 설치 설명서를 참조하십시오.

$ ./runInstaller -ignoreSysPrereqs -ignorePrereq -waitforcompletion -showProgress –

silent -responseFile /u01/software/database/response/db_install.rsp

Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB. Actual 26602 MB Passed

Checking swap space: must be greater than 150 MB. Actual 8191 MB Passed

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-09-21_12-22-

16AM. Please wait ...You can find the log of this install session at:

/u01/app/oraInventory/logs/installActions2018-09-21_12-22-16AM.log

Prepare in progress.

.................................................. 8% Done.

Prepare successful. Copy files in progress.

.................................................. 17% Done.

.................................................. 22% Done.

.................................................. 27% Done.

Page 17: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

17 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

..................................................

.................................................. 75% Done.

.................................................. 80% Done.

....................

Copy files successful.

Link binaries in progress.

..........

Link binaries successful.

Setup files in progress.

..............................

Setup files successful.

Setup Inventory in progress.

Setup Inventory successful.

Finish Setup successful.

The installation of Oracle Database 12c was successful.

Please check '/u01/app/oraInventory/logs/silentInstall2018-09-21_12-22-

16AM.log' for more details.

Setup Oracle Base in progress.

Setup Oracle Base successful.

.................................................. 95% Done.

As a root user, execute the

following script(s):

1. /u01/app/oraInventory/orainstRoot.sh

2. /u01/app/oracle/product/12.2.0.1/db_1/root.sh

.................................................. 100% Done.

Successfully Setup Software.

$

Oracle 데이터베이스가 설치되면 Oracle Universal Installer 화면에 다음 스크립트를 실행하라는

메시지가 표시됩니다.

• /u01/app/oraInventory/orainstRoot.sh

• /u01/app/oracle/product/12.2.0.1/db_1/root.sh

# /u01/app/oraInventory/orainstRoot.sh

Changing permissions of /u01/app/oraInventory.

Adding read, write permissions for group.

Removing read, write,execute permissions for world

Changing groupname of /u01/app/oraInventory to oinstall.

The execution of script is complete.

# $ORACLE_HOME/root.sh

Performing root user operation.

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME= /u01/app/oracle/product/12.2.0/dbhome_1

Page 18: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

18 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

Enter the full pathname of the local bin directory: [/usr/local/bin]:

Copying dbhome to /usr/local/bin ...

Copying oraenv to /usr/local/bin ...

Copying coraenv to /usr/local/bin ....

Creating /etc/oratab file...

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Do you want to setup Oracle Trace File Analyzer (TFA) now? yes|[no] : yes

Installing Oracle Trace File Analyzer (TFA).

Log File: /u01/app/oracle/product/12.2.0/dbhome_1/install/root_instance-20180911-

1539_2018-09-11_23-22-25-911263805.log

Finished installing Oracle Trace File Analyzer (TFA)

#

4단계: Database Cloud Backup Module 구성

Oracle Database Cloud Backup Module에서는 클라우드 백업 및 복구가 가능합니다. 이 모듈은

RMAN과 통합되는 시스템 테이프 백업 (SBT) 인터페이스로서, 여기에서 RMAN 명령을 사용하여

백업, 복구, 복원 및 유지 관리 작업을 할 수 있습니다.

Auth 토큰 생성

Oracle Database Cloud Backup Module은 Swift 프로토콜을 사용해 오브젝트 스토리지와

상호작용합니다. 오브젝트 스토리지에 대한 액세스는 Auth 토큰을 통해 인증됩니다. Auth 토큰을

생성하려면 Oracle Cloud Infrastructure 콘솔에 로그인한 후 다음 단계를 따르십시오.

1. 메뉴를 열고 Identity와 Users로 차례대로 이동합니다.

2. 사용자 ID와 Auth Tokens를 차례대로 선택합니다.

3. Generate Token을 클릭하여 인증 토큰을 생성합니다.

Page 19: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

19 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

Auth 토큰 생성에 대한 자세한 내용은 설명서를 참조하십시오.

Database Cloud Backup Module 다운로드

Database Cloud Backup Module을 OTN (Oracle Technology Network)에서 다운로드한 후 대상

인스턴스의 /tmp 디렉토리에 업로드합니다. 그런 다음 opc_installer.zip 파일의 압축을

풉니다.

Database Cloud Backup Module 설치

다음 명령을 실행하여 Database Cloud Backup Module를 설치합니다. 여기에서 USER_ID,

BUCKET_NAME, AUTH_TOKEN, REGION 및 TENANCY를 원하는 값으로 변경합니다.

# mkdir -p /home/oracle/cbm/cbm_lib

# export vcbm_lib=/home/oracle/cbm/cbm_lib

# export vcbm_config=/home/oracle/cbm/cbm_config

# export vcbm_wallet=/home/oracle/cbm/cbm_wallet

# su - oracle

$ cd /tmp/opc_installer

$ $ORACLE_HOME/jdk/bin/java -jar opc_install.jar -opcId USER_ID -

opcPass 'AUTH_TOKEN' -container BUCKET_NAME -walletDir $vcbm_wallet -libDir $vcbm_lib

-configfile $vcbm_config -host

https://swiftobjectstorage.REGION.oraclecloud.com/v1/TENANCY

Oracle Database Cloud Backup Module Install Tool, build 12.2.0.1.0DBBKPCSBP_2018-06-

12

Oracle Database Cloud Backup Module credentials are valid.

Backups would be sent to container <bucket_name>

Oracle Database Cloud Backup Module wallet created in directory

/home/oracle/cbm/cbm_wallet.

Oracle Database Cloud Backup Module initialization file /home/oracle/cbm/cbm_config

created.

Downloading Oracle Database Cloud Backup Module Software Library from

file opc_linux64.zip.

Download Completed.

$

5단계: 오브젝트 스토리지에서 백업 파일 복구

마이그레이션할 데이터베이스가 원본에서 암호화되어 있다면 백업 프로세스 시 복사된

sqlnet.ora 파일과 TDE wallet 파일을 wallet 위치에 다운로드합니다. 데이터베이스 복구

프로세스를 시작하기 전에 먼저 자동 로그인 wallet을 생성합니다. sqlnet.ora 파일에서

ENCRYPTION_WALLET_LOCATION이 정확한지 확인합니다.

$ cat $ORACLE_HOME/network/admin/sqlnet.ora

ENCRYPTION_WALLET_LOCATION

=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/etc/oracle/wallets/cdb1/)

$ cd /etc/oracle/wallets/cdb1

$ ls

cwallet.sso cwallet.sso.lck ewallet.p12 ewallet.p12.lck

$

Page 20: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

20 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

SBT 메타데이터 파일 생성

본 예제에서는 원본에서 Database Cloud Backup Module을 사용하지 않고 RMAN에서 직접 백업

파일을 생성했습니다. Database Cloud Backup Module 없이 백업 파일을 생성한 경우 Database

Cloud Backup Module을 사용해 백업 파일을 오브젝트 스토리지에서 복구하려면 SBT 메타데이터

파일을 생성해야 합니다.

다음 명령을 실행하여 오브젝트 스토리지에 저장된 백업 파일에 사용할 SBT 메타데이터를

생성합니다.

$ rman target /

RMAN> startup nomount force;

RMAN> set decryption identified by 'myPassword';

RMAN> run {

allocate channel t1 device type sbt

parms='SBT_LIBRARY=/home/oracle/cbm/cbm_lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/ora

cle/cbm/cbm_config)';

send channel t1 '

export backuppiece fullbackup_8ate0smf_1_1;

export backuppiece fullbackup_8bte0smu_1_1;

export backuppiece fullbackup_8cte0snd_1_1;

export backuppiece fullbackup_8dte0snf_1_1;

export backuppiece fullbackup_87te0skd_1_1;

export backuppiece fullbackup_88te0slg_1_1;

export backuppiece fullbackup_89te0sm0_1_1;

export backuppiece Incremental_8gte0spp_1_1;

export backuppiece Incremental_8lte0spt_1_1;

export backuppiece Incremental_8mte0spv_1_1;

export backuppiece Al_fullbackup_8ete0snh_1_1;

export backuppiece Al_fullbackup_86te0skc_1_1;

export backuppiece Al_Incremental_8fte0spl_1_1;

export backuppiece Al_Incremental_8nte0sq0_1_1; ';

}

allocated channel: t1

channel t1: SID=120 device type=SBT_TAPE

channel t1: Oracle Database Backup Service Library VER=12.2.0.2

sent command to channel: t1

released channel: t1

RMAN>

위의 명령을 실행하면 다음 메타데이터 파일이 오브젝트 스토리지 버킷에 생성됩니다.

• sbt_catalog/fullbackup_8ate0smf_1_1/metadata.xml

• sbt_catalog/fullbackup_8bte0smu_1_1/metadata.xml

• sbt_catalog/fullbackup_8cte0snd_1_1/metadata.xml

• sbt_catalog/fullbackup_8dte0snf_1_1/metadata.xml

• sbt_catalog/fullbackup_87te0skd_1_1/metadata.xml

• sbt_catalog/fullbackup_88te0slg_1_1/metadata.xml

• sbt_catalog/fullbackup_89te0sm0_1_1/metadata.xml

Page 21: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

21 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

• sbt_catalog/Incremental_8gte0spp_1_1/metadata.xml

• sbt_catalog/Incremental_8lte0spt_1_1/metadata.xml

• sbt_catalog/Incremental_8mte0spv_1_1/metadata.xml

• sbt_catalog/Al_fullbackup_8ete0snh_1_1/metadata.xml

• sbt_catalog/Al_fullbackup_86te0skc_1_1/metadata.xml

• sbt_catalog/Al_Incremental_8fte0spl_1_1/metadata.xml

• sbt_catalog/Al_Incremental_8nte0sq0_1_1/metadata.xml

매개변수 파일 복구

spfile을 복구하려면 먼저, 오브젝트 스토리지를 가리키도록 구성된 테이프 장치에서 spfile을

복구하는 데 필요한 RMAN 매개변수를 구성합니다. 이때 원본 데이터베이스에서 기록한 DBID를

사용하고, 원본 인스턴스에서 백업 파일을 암호화하는 데 사용한 것과 동일한 암호 (set

decryption에서)를 사용합니다.

다음 명령을 실행하여 spfile을 복구합니다.

$ rman target /

RMAN> set dbid 960474975;

RMAN> startup force nomount;

RMAN> set decryption identified by 'myPassword';

RMAN> run

{

allocate channel t1 device type sbt

parms='SBT_LIBRARY=/home/oracle/cbm/cbm_lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/ora

cle/cbm/cbm_config)';

restore spfile from 'fullbackup_8dte0snf_1_1';

}

released channel: ORA_DISK_1

allocated channel: t1

channel t1: SID=120 device type=SBT_TAPE

channel t1: Oracle Database Backup Service Library VER=12.2.0.2

Starting restore at 25-SEP-18

channel t1: restoring spfile from AUTOBACKUP fullbackup_8dte0snf_1_1

channel t1: SPFILE restore from AUTOBACKUP complete

Finished restore at 25-SEP-18

released channel: t1

RMAN>

제어 파일 위치 생성

다음 명령을 실행하여 controlfile 위치를 생성합니다.

$ sqlplus / as sysdba;

SQL> create pfile='/tmp/pfile.ora' from spfile;

File created.

SQL>exit

Disconnected

Page 22: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

22 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

# mkdir /u01/app/oracle/admin/cdb1/adump

# mkdir /u01/app/oracle/oradata/cdb1/

# chown -R oracle.oinstall /u01/app/oracle/oradata/cdb1/

# chown -R oracle.oinstall /u01/app/oracle/admin/cdb1/

#

제어 파일 복구

다음 명령을 실행하여 증분 제어 파일 백업에서 데이터베이스 controlfile을 복구합니다. 원본

인스턴스에서 백업 파일을 암호화할 때 사용한 것과 동일한 암호 (set decryption)를 사용합니다.

$ rman target /

RMAN> set decryption identified by 'myPassword';

RMAN >run {

allocate channel c1 device type sbt

PARMS 'SBT_LIBRARY=/home/oracle/cbm/cbm_lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/or

acle/cbm/cbm_config)';

restore controlfile from 'Incremental_8lte0spt_1_1';

}

allocated channel: t1

channel t1: SID=237 device type=SBT_TAPE

channel t1: Oracle Database Backup Service Library VER=12.2.0.2

Starting restore at 25-SEP-18

channel t1: restoring control file

channel t1: restore complete, elapsed time: 00:00:03

output file name=/u01/app/oracle/oradata/cdb1/control01.ctl

output file name=/u01/app/oracle/oradata/cdb1/control02.ctl

Finished restore at 25-SEP-18

released channel: t1

RMAN> alter database mount;

Statement processed

RMAN>

데이터베이스 복구 및 복원

다음 명령을 실행하여 데이터베이스를 복구 및 복원합니다.

$ rman target /

RMAN> configure channel device

type 'sbt_tape' PARMS 'SBT_LIBRARY=/home/oracle/cbm/cbm_lib/libopc.so, SBT_PARMS=(OP

C_PFILE=/home/oracle/cbm/cbm_config)';

new RMAN configuration parameters:

CONFIGURE CHANNEL DEVICE

TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/cbm/cbm_lib/libopc.so, SBT_PARMS=(OP

C_PFILE=/home/oracle/cbm/cbm_config)';

new RMAN configuration parameters are successfully stored

RMAN> CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE;

new RMAN configuration parameters:

Page 23: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

23 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';

new RMAN configuration parameters are successfully stored

RMAN> crosscheck backup device type sbt;

allocated channel: ORA_SBT_TAPE_1

channel ORA_SBT_TAPE_1: SID=258 device type=SBT_TAPE

channel ORA_SBT_TAPE_1: Oracle Database Backup Service Library VER=12.2.0.2

RMAN> delete noprompt expired backup;

using channel ORA_DISK_1

specification does not match any backup in the repository

RMAN> catalog device type sbt

backuppiece 'fullbackup_8ate0smf_1_1', 'fullbackup_8bte0smu_1_1', 'fullbackup_8cte0sn

d_1_1','fullbackup_8dte0snf_1_1', 'fullbackup_87te0skd_1_1', 'fullbackup_88te0slg_1_

1',

'fullbackup_89te0sm0_1_1','Incremental_8gte0spp_1_1','Incremental_8lte0spt_1_1', 'Inc

remental_8mte0spv_1_1','Al_fullbackup_8ete0snh_1_1'

'Al_fullbackup_86te0skc_1_1','Al_Incremental_8fte0spl_1_1','Al_Incremental_8nte0sq0_1

_1';

released channel: ORA_SBT_TAPE_1

allocated channel: ORA_SBT_TAPE_1

channel ORA_SBT_TAPE_1: SID=258 device type=SBT_TAPE

channel ORA_SBT_TAPE_1: Oracle Database Backup Service Library VER=12.2.0.2

cataloged backup piece

backup piece handle=fullbackup_8ate0smf_1_1 RECID=160 STAMP=987804189

cataloged backup piece

backup piece handle=fullbackup_8bte0smu_1_1 RECID=161 STAMP=987804189

cataloged backup piece

backup piece handle=fullbackup_8cte0snd_1_1 RECID=162 STAMP=987804189

cataloged backup piece

backup piece handle=fullbackup_8dte0snf_1_1 RECID=163 STAMP=987804302

cataloged backup piece

backup piece handle=fullbackup_87te0skd_1_1 RECID=164 STAMP=987804302

cataloged backup piece

backup piece handle=fullbackup_88te0slg_1_1 RECID=165 STAMP=987804303

.

.

.

cataloged backup piece

backup piece handle=Al_Incremental_8nte0sq0_1_1 RECID=173 STAMP=987804463

RMAN>restore device type sbt database;

Starting restore at 25-SEP-18

released channel: ORA_SBT_TAPE_1

allocated channel: ORA_SBT_TAPE_1

channel ORA_SBT_TAPE_1: SID=258 device type=SBT_TAPE

channel ORA_SBT_TAPE_1: Oracle Database Backup Service Library VER=12.2.0.2

channel ORA_SBT_TAPE_1: starting datafile backup set restore

channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set

channel ORA_SBT_TAPE_1: restoring datafile 00001 to

/u01/app/oracle/oradata/cdb1/system01.dbf

channel ORA_SBT_TAPE_1: restoring datafile 00003 to

/u01/app/oracle/oradata/cdb1/sysaux01.dbf

channel ORA_SBT_TAPE_1: restoring datafile 00004 to

/u01/app/oracle/oradata/cdb1/undotbs01.dbf

channel ORA_SBT_TAPE_1: restoring datafile 00007 to

/u01/app/oracle/oradata/cdb1/users01.dbf

Page 24: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

24 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

channel ORA_SBT_TAPE_1: reading from backup piece fullbackup_87te0skd_1_1

channel ORA_SBT_TAPE_1: piece handle=fullbackup_87te0skd_1_1 tag=DTA_LEVEL0

channel ORA_SBT_TAPE_1: restored backup piece 1

channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:45

channel ORA_SBT_TAPE_1: starting datafile backup set restore

channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set

channel ORA_SBT_TAPE_1: restoring datafile 00009 to

/u01/app/oracle/oradata/cdb1/pdb1/system01.dbf

channel ORA_SBT_TAPE_1: restoring datafile 00010 to

/u01/app/oracle/oradata/cdb1/pdb1/sysaux01.dbf

channel ORA_SBT_TAPE_1: restoring datafile 00011 to

/u01/app/oracle/oradata/cdb1/pdb1/undotbs01.dbf

channel ORA_SBT_TAPE_1: restoring datafile 00012 to

/u01/app/oracle/oradata/cdb1/pdb1/users01.dbf

channel ORA_SBT_TAPE_1: reading from backup piece fullbackup_88te0slg_1_1

channel ORA_SBT_TAPE_1: piece handle=fullbackup_88te0slg_1_1 tag=DTA_LEVEL0

channel ORA_SBT_TAPE_1: restored backup piece 1

channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:25

channel ORA_SBT_TAPE_1: starting datafile backup set restore

channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set

channel ORA_SBT_TAPE_1: restoring datafile 00005 to

/u01/app/oracle/oradata/cdb1/pdbseed/system01.dbf

channel ORA_SBT_TAPE_1: restoring datafile 00006 to

/u01/app/oracle/oradata/cdb1/pdbseed/sysaux01.dbf

channel ORA_SBT_TAPE_1: restoring datafile 00008 to

/u01/app/oracle/oradata/cdb1/pdbseed/undotbs01.dbf

channel ORA_SBT_TAPE_1: reading from backup piece fullbackup_89te0sm0_1_1

channel ORA_SBT_TAPE_1: piece handle=fullbackup_89te0sm0_1_1 tag=DTA_LEVEL0

channel ORA_SBT_TAPE_1: restored backup piece 1

channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:25

channel ORA_SBT_TAPE_1: starting datafile backup set restore

channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set

channel ORA_SBT_TAPE_1: restoring datafile 00016 to

/u01/app/oracle/oradata/CDB1/760AE48A954574F3E0530F00000A94CB/datafile/o1_mf_system_f

sydl0sk_.dbf

channel ORA_SBT_TAPE_1: restoring datafile 00017 to

/u01/app/oracle/oradata/CDB1/760AE48A954574F3E0530F00000A94CB/datafile/o1_mf_sysaux_f

sydl0ss_.dbf

channel ORA_SBT_TAPE_1: restoring datafile 00018 to

/u01/app/oracle/oradata/CDB1/760AE48A954574F3E0530F00000A94CB/datafile/o1_mf_undotbs1

_fsydl0st_.dbf

channel ORA_SBT_TAPE_1: reading from backup piece fullbackup_8ate0smf_1_1

channel ORA_SBT_TAPE_1: piece handle=fullbackup_8ate0smf_1_1 tag=DTA_LEVEL0

channel ORA_SBT_TAPE_1: restored backup piece 1

channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:25

channel ORA_SBT_TAPE_1: starting datafile backup set restore

channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set

channel ORA_SBT_TAPE_1: restoring datafile 00019 to

/u01/app/oracle/oradata/CDB1/760AE48A954674F3E0530F00000A94CB/datafile/o1_mf_system_f

sydmotq_.dbf

channel ORA_SBT_TAPE_1: restoring datafile 00020 to

/u01/app/oracle/oradata/CDB1/760AE48A954674F3E0530F00000A94CB/datafile/o1_mf_sysaux_f

sydmotq_.dbf

Page 25: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

25 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

channel ORA_SBT_TAPE_1: restoring datafile 00021 to

/u01/app/oracle/oradata/CDB1/760AE48A954674F3E0530F00000A94CB/datafile/o1_mf_undotbs1

_fsydmotr_.dbf

channel ORA_SBT_TAPE_1: reading from backup piece fullbackup_8bte0smu_1_1

channel ORA_SBT_TAPE_1: piece handle=fullbackup_8bte0smu_1_1 tag=DTA_LEVEL0

channel ORA_SBT_TAPE_1: restored backup piece 1

channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:25

Finished restore at 25-SEP-18

RMAN>recover database ;

Starting recover at 25-SEP-18

using channel ORA_SBT_TAPE_1

using channel ORA_DISK_1

channel ORA_DISK_1: starting incremental datafile backup set restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

.

.

channel ORA_SBT_TAPE_1: starting archived log restore to default destination

channel ORA_SBT_TAPE_1: restoring archived log

archived log thread=1 sequence=40

channel ORA_SBT_TAPE_1: reading from backup piece Al_Incremental_8nte0sq0_1_1

channel ORA_SBT_TAPE_1: piece handle=Al_Incremental_8nte0sq0_1_1 tag=DTA_LEVEL1

channel ORA_SBT_TAPE_1: restored backup piece 1

channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:01

RMAN>alter database open resetlogs;

Statement processed

RMAN>

결론

Oracle 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션하면 엔터프라이즈급 클라우드

플랫폼에서 세계 최고의 데이터베이스를 실행하는 이점을 기대할 수 있습니다. 이번 백서에서는

Oracle 데이터베이스를 온프레미스 환경에서 Oracle Cloud Infrastructure로 마이그레이션 및

배포하는 방법에 대해 자세히 살펴봤습니다. 사용할 데이터 마이그레이션 서비스의 유형은

데이터베이스의 규모, 그리고 원본 인스턴스와 오브젝트 스토리지 사이의 네트워크 연결 방식에

따라 결정합니다. 빠르고 안전한 데이터베이스 마이그레이션을 원한다면 데이터 마이그레이션

서비스를 올바르게 선택해야 합니다. 이번 백서에서 간략히 소개한 단계를 따른다면 중소 규모의

데이터베이스의 경우 운영 중단 시간을 최소화하여 Oracle 데이터베이스를 Oracle Cloud

Infrastructure로 안전하게 마이그레이션할 수 있습니다. 하지만 대규모 데이터베이스라면 이번

백서에서 설명한 단계에 따라 예비 인스턴스를 설정하거나, 혹은 Oracle GoldenGate와 같은

도구를 사용해 원본 데이터베이스와 대상 데이터베이스를 동기화하여 마이그레이션을 준비할 수

있습니다.

Page 26: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

26 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

부록: 데이터베이스 마이그레이션 보안

Oracle Cloud Infrastructure는 마이그레이션할 Oracle 데이터베이스를 위해 여러 가지 보안 기능을

제공하고 있습니다.

암호화

• 오브젝트 스토리지: 데이터베이스 백업 파일이 오브젝트 스토리지에 저장될 때는 AES-

256을 사용해 암호화됩니다. 암호화는 기본적으로 활성화되며, 비활성화할 수 없습니다.

각 객체는 암호화 키를 사용해 암호화되고, 객체 암호화 키는 다시 마스터 암호화 키를

사용해 암호화됩니다. 그 밖에도 고객은 오브젝트 스토리지 버킷에 저장하기 전에 RMAN

백업 암호화를 사용해 RMAN 백업 파일을 암호화할 수 있습니다.

• 데이터 전송 어플라이언스: 데이터 전송 어플라이언스는 AES-256을 사용해 전송되는

데이터를 모두 암호화합니다. 데이터 전송 유틸리티와 Oracle Cloud Infrastructure 사이의

네트워크 통신은 전송 시 TLS (Transport Layer Security)를 사용해 암호화됩니다.

• 전송 데이터: 고객 클라이언트 (예: CLI)와 오브젝트 스토리지 공용 엔드포인트 사이에

전송되는 백업 파일은 기본적으로 TLS 1.2를 사용해 암호화됩니다. 여기에 더해

FastConnect 공용 피어링을 사용하면 오브젝트 스토리지에 대한 온프레미스 액세스가

공용 인터넷이 아닌 전용 경로를 통해 이동할 수 있습니다.

• 스토리지 게이트웨이: 스토리지 게이트웨이는 백업 파일을 Oracle Cloud Infrastructure로

전송할 때 HTTPS를 사용하기 때문에 스토리지 게이트웨이와 클라우드 사이에 전송되는

데이터 패킷을 암호화합니다.

액세스 제어 세분화

• 데이터 전송 어플라이언스와 데이터 전송 디스크: 데이터 전송 어플라이언스와 데이터

전송 디스크에서는 데이터 전송 관리자와 데이터 전송 업로드 사용자를 위해 IAM (ID 및

액세스 관리) 그룹을 생성해야 합니다. 이후부터는 이 그룹에 속한 사용자만 백업 파일을

전송하여 데이터 전송 어플라이언스 및 디스크에 업로드할 수 있는 액세스 권한을

갖습니다. 또한 데이터 전송 어플라이언스는 백업 파일을 고객이 지정하는 테넌시

버킷에만 업로드합니다. 이 버킷은 데이터 전송 프로세스에서 사용자가 구성합니다.

• 스토리지 게이트웨이: 스토리지 게이트웨이를 사용할 때는 IAM을 통해 스토리지

게이트웨이 관리자를 생성하고 암호를 확실하고 안전하게 설정해야 합니다. 스토리지

게이트웨이 관리자는 파일 시스템을 생성, 수정 및 삭제할 수 있습니다.

• 오브젝트 스토리지: IAM 정책을 설정하는 사용자는 버킷의 객체에 액세스할 수 있는

사용자로 제한하는 것이 좋습니다. 버킷 객체를 읽거나 수정할 권한이 있는 사용자는

버킷의 모든 객체를 읽거나 수정할 수 있기 때문입니다.

Page 27: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

27 | 오브젝트 스토리지를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

인증 및 권한 부여

• 컴퓨트 인스턴스: 컴퓨트 인스턴스는 기본적으로 키 기반 SSH를 사용합니다. 고객은

Oracle Cloud Infrastructure에게 SSH 공개 키를 제공하고, 인스턴스에 액세스할 때는

안전하게 SSH 개인 키를 사용합니다. Oracle은 키 기반 SSH를 사용해 컴퓨트 인스턴스에

액세스하도록 권장합니다. 암호 기반 SSH는 무차별 대입 공격 (Brute-forcing attacks)에

취약할 수 있습니다.

• 스토리지 게이트웨이와 데이터 전송 어플라이언스: 고객이 스토리지 게이트웨이와 데이터

전송 어플라이언스에 사용할 파일 시스템을 정의할 경우 Oracle은 신뢰할 수 있는 NFS

클라이언트만 파일 시스템 데이터와 메타데이터에 액세스할 수 있도록 제한적 내보내기

옵션을 권장할 뿐만 아니라 이를 위한 옵션도 제공합니다. 파일 시스템에 대한 액세스를

제한하려면 NFS Allowed Hosts and NFS Export 옵션에서 고급 파일 시스템 설정을

수정하십시오.

Page 28: 오브젝트 스토지를 사용해 데이터베이스를 - Oracle · 2019. 12. 10. · Oracle 데이터베이스는 다중 델 관계형 데이터베이스 관 시스템으서 ,

오라클 본사

500 Oracle Parkway

Redwood Shores, CA 94065, USA

문의처

전화: +1.650.506.7000

팩스: +1.650.506.7200

소셜 계정

blogs.oracle.com/oracle

facebook.com/oracle

twitter.com/oracle

oracle.com

통합 클라우드 어플리케이션 및 플랫폼 서비스

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 본 문서는 정보의 목적으로만 제공되며 일체의 내용은 고지 없이

변경될 수 있습니다. 본 문서는 오류에 대해 책임지지 않으며 특정 목적에 대한 적격성 및 적합성과 관련된 묵시적 보증 및 계약

조건을 포함해서 명시적, 묵시적 기타 모든 보증 또는 계약 조건에 의해 구속 받지 않습니다. 오라클은 본 문서와 관련해 어떠한

법적 책임도 지지 않으며, 본 문서로 인해 직간접적인 어떠한 계약 구속력도 발생하지 않습니다. 본 문서는 오라클의 사전 서면 승인

없이는 어떠한 형식이나 수단 (전자적 또는 기계적) 또는 목적으로도 복제하거나 배포할 수 없습니다.

오라클 (Oracle) 및 자바 (Java)는 오라클 및 그 계열사의 등록 상표입니다. 기타 명칭은 해당 소유업체의 상표입니다.

Intel 및 Intel Xeon은 Intel Corporation의 등록 상표 또는 상표입니다. 모든 SPARC 상표는 사용 허가를 받아 사용해야 하며 SPARC

International, Inc.의 등록 상표 또는 상표입니다. AMD, Opteron, AMD 로고 및 AMD Opteron 로고는 Advanced Micro Devices의 등록

상표 또는 상표입니다. UNIX는 The Open Group의 등록 상표입니다. 1118

Object Storage를 사용해 데이터베이스를 Oracle Cloud Infrastructure로 마이그레이션

2018년 11월

작성자: Vijaya Gowri C D