주:
- 이 자습서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
온프레미스 19c 비컨테이너 데이터베이스에서 Oracle Database 23ai 컨테이너 데이터베이스로 이전
소개
Zero Downtime Migration(ZDM) 21.5는 진행 중인 업그레이드를 통해 물리적 마이그레이션을 도입하여 Oracle 데이터베이스에 대한 원활한 전환을 지원합니다. 이 기능은 11.2.0.4 및 12c Oracle 데이터베이스를 19c Oracle 데이터베이스로 이전하고 19c 소스 데이터베이스에서 Oracle Database 23ai로 이전할 수 있도록 지원합니다.
이 사용지침서에서는 ZDM이 대상 레벨에서 업그레이드를 수행하는 동안 소스 CDB(비컨테이너 데이터베이스) 19c 데이터베이스를 CDB로 마이그레이션하고 변환하는 방법을 설명합니다. ZDM은 고객이 비CDB 데이터베이스를 마이그레이션하고 업그레이드할 수 있도록 임시 비CDB 대상 데이터베이스를 사용하여 초기 마이그레이션을 수행합니다. 이 초기 단계를 완료하면 ZDM은 자동 업그레이드를 활용하여 다중 테넌트로 변환하고 데이터베이스를 원하는 버전으로 업그레이드합니다.
이 사용지침서는 Linux 플랫폼에서 Oracle Database 23ai CDB로 19c 버전을 실행하는 온프레미스 비CDB 데이터베이스를 마이그레이션하도록 특별히 설계되었습니다.
다음은 소스 및 대상 환경의 속성 및 세부정보입니다.
목표
- ZDM 도구를 사용하여 Oracle Cloud Infrastructure(OCI)로 마이그레이션합니다.
필요 조건
-
소스 데이터베이스는 아카이브 로그 모드여야 합니다.
-
소스 데이터베이스가 12c 릴리스 2 이상에 있는 경우 TDE(Transparent Data Encryption)를 활성화해야 합니다.
WALLET_TYPE
가AUTOLOGIN
또는PASSWORD
로 설정되었는지 확인합니다. -
DB_UNIQUE_NAME
매개변수는 소스 데이터베이스와 대상 데이터베이스에서 모두 달라야 합니다. -
이전 전에 대상 데이터베이스를 생성해야 합니다.
-
소스 데이터베이스 홈 버전과 동일한 대상 서버에서 Oracle 홈을 프로비전합니다.
작업 1: ZDM 서버 준비 및 설치
-
ZDM 소프트웨어 설치를 위해 전용 컴퓨트 호스트를 프로비전합니다. ZDM 소프트웨어가 설치된 호스트를 ZDM 서비스 호스트라고 합니다. 호스트에서 다음 필수 조건을 충족해야 합니다.
- Oracle Linux 8 및 부팅 볼륨 크기 200GB.
- 100GB의 여유 저장 공간.
- 실행 중인 Oracle Grid Infrastructure가 없습니다.
- 소스 및 대상 데이터베이스(서버)에 접속할 수 있습니다.
-
putty를 사용하여 ZDM 호스트에 연결합니다.
-
다음 명령을 실행하여 200GB를 사용할 수 있도록 파일 시스템을 확장합니다.
[opc@zdm ~]$ sudo su - [root@zdm ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda3 39G 3.2G 36G 9% / [root@zdm ~]# /usr/libexec/oci-growfs -y [root@zdm ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda3 192G 3.2G 189G 2% /
-
다음 명령을 사용하여 루트 사용자로 새 그룹, 사용자 및 필요한 디렉토리를 만듭니다.
[root@zdm ~]# groupadd zdm [root@zdm ~]# useradd -g zdm zdmuser [root@zdm ~]# mkdir -p /home/zdmuser/zdminstall [root@zdm ~]# mkdir /home/zdmuser/zdmhome [root@zdm ~]# mkdir /home/zdmuser/zdmbase [root@zdm ~]# chown -R zdmuser:zdm /home/zdmuser/
-
다음 명령을 사용하여 루트 사용자로 필요한 소프트웨어 패키지를 설치합니다.
[root@zdm ~]# yum install oraclelinux-developer-release-el8 libnsl perl unzip glibc-devel expect libaio ncurses-compat-libs ncurses-devel numactl-libs openssl mlocate bind-utils
-
ZDM 소프트웨어 버전 21.5를 다운로드하고 zip 파일을 ZDM 호스트에
/home/zdmuser/zdminstall/
디렉토리로 복사합니다. 다음 명령을 사용하여 zip 파일의 소유자를 root 유저로zdmuser
로 변경합니다.[root@zdm ~]# chown zdmuser:zdm /home/zdmuser/zdminstall/zdm21.5.zip
-
다음 명령을 사용하여 ZDM 소프트웨어를
zdmuser
로 설치합니다.[zdmuser@zdm ~]$ cd /home/zdmuser/zdminstall/ [zdmuser@zdm zdminstall]$ unzip zdm21.5.zip [zdmuser@zdm zdminstall]$ ZDMHOME=/home/zdmuser/zdmhome [zdmuser@zdm zdminstall]$ ZDMBASE=/home/zdmuser/zdmbase [zdmuser@zdm zdminstall]$ /home/zdmuser/zdminstall/zdm21.5/zdminstall.sh setup oraclehome=/home/zdmuser/zdmhome oraclebase=/home/zdmuser/zdmbase ziploc=/home/zdmuser/zdminstall/zdm21.5/zdm_home.zip -zdm ZDM service setup finished successfully...
-
다음 명령을 실행하여 ZDM을 시작하고 상태를
zdmuser
로 확인합니다.[zdmuser@zdm ~]$ $ZDMHOME/bin/zdmservice start Return code is 0 Server started successfully. [zdmuser@zdm ~]$ $ZDMHOME/bin/zdmservice status --------------------------------------- Service Status --------------------------------------- Running: true
-
다음 명령을 실행하여
zdmuser
에 대한 SSH 키 쌍을 만듭니다. 나중에 SSH를 사용하여 소스 및 대상 데이터베이스 서버에 로그인하는 데 사용됩니다. 기본값을 유지합니다.[zdmuser@zdm ~]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/zdmuser/.ssh/id_rsa): Created directory '/home/zdmuser/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/zdmuser/.ssh/id_rsa. Your public key has been saved in /home/zdmuser/.ssh/id_rsa.pub. The key fingerprint is: SHA256:giU7jz/8Z1VPiS9Ds/gfokHdevpm0dk59fPYEHRChs4 zdmuser@zdmhost The key's randomart image is:
-
사용자 세부정보 페이지에서 OCI 사용자에 대한 인증 토큰을 생성합니다.
Auth Tokens, Generate Token을 누르고 Description(설명)을 입력한 다음 Generate Token(토큰 생성)을 누릅니다.
주: 토큰은 다시 표시되지 않으므로 레코드에 대해 이 토큰을 복사하십시오.
-
다음 명령을 실행하여 OCI 리소스에 액세스하는 데 사용될
zdmuser
로 Oracle Cloud Infrastructure 명령행 인터페이스(OCI CLI) 툴을 설치합니다. 예를 들어, 데이터 펌프 덤프 파일을 OCI Object Storage로 복사합니다.[zdmuser@zdm ~]$ bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
주: OCI CLI를 설치하려면 사용자 OCID, 테넌시 OCID, 홈 영역이 필요합니다. 이 값을 클라우드 테넌시에 따라 사용하고 다른 매개변수 값을 기본값으로 유지하십시오.
[zdmuser@zdm ~]$ oci setup config
-
다음 명령을 실행하여
zdmhost
에서 클라우드 테넌시의 OCI 사용자에게 API 서명 퍼블릭 키를 업로드합니다.[zdmuser@zdmhost ~]$ cat /home/zdmuser/.oci/oci_api_key_public.pem -----BEGIN PUBLIC KEY----- ********** -----END PUBLIC KEY-----
OCI 콘솔로 이동하여 사용자 세부정보 페이지로 이동하고 API 키 및 API 키 추가를 누릅니다. Paste Public Key를 선택하고 위 명령의 출력을 입력한 다음 Add를 누릅니다.
-
다음 명령을 실행하여 OCI CLI 또는 OCI 콘솔을 사용하여 OCI 테넌시에 표준 OCI Object Storage 버킷을 생성합니다.
[zdmuser@zdm ~]$ oci os bucket create --compartment-id ocid1.compartment.oc1.....lh4lfamxdrpuxg3x……… --name zdmbucket
-
zdmhost
에서 소스 및 Target Database 서버로의 연결: Task 1.9에 생성된 대로 SSH 키를zdmhost
에서zdmuser
로 소스 및 대상으로 복사합니다.#on ZDM host as zdmuser [zdmuser@zdm ~]$ cat .ssh/id_rsa.pub #on the source database host as user opc [opc@sourcedb ~]$ vi .ssh/authorized_keys #insert the public key and save the changes [opc@targetdb ~]$ vi .ssh/authorized_keys #insert the public key and save the changes
-
root 사용자로 zdmhost에서 호스트 이름, IP 및 FQDN을
/etc/hosts
(으)로 복사하여 소스 데이터베이스 및 대상 데이터베이스의 호스트 이름을 zdmhost로 분석합니다.
작업 2: 소스 및 대상 데이터베이스에서 사전 검사 실행
-
다음 명령을 실행하여 소스와 동일한 버전의 대상 Oracle Base Database Service 인스턴스에
ORACLE_HOME
를 생성합니다.[root@tgtzdm ~]# dbcli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ---------- c548b052-64b7-4257-bfdc-d7c201a430ab OraDB23000_home1 23.5.0.24.07 /u01/app/oracle/product/23.0.0.0/dbhome_1 Configured
[root@tgt23ai ~]# dbcli create-dbhome -v 19.23 Job details ---------------------------------------------------------------- ID: a63db258-7ffc-4dee-b8e5-5accf223e39b Description: Database Home creation with Id : db1b4bb8-2ed0-4c0f-ade9-a656f21cf808 Status: Created Created: September 19, 2024 at 3:22:48 PM IST Progress: 0% Message: Create Database Home Error Code:
-
다음 명령을 실행하여 데이터베이스 홈 만들기를 검증합니다.
[root@tgt23ai ~]# dbcli describe-job --jobid a63db258-7ffc-4dee-b8e5-5accf223e39b Job details ---------------------------------------------------------------- ID: a63db258-7ffc-4dee-b8e5-5accf223e39b Description: Database Home creation with Id : db1b4bb8-2ed0-4c0f-ade9-a656f21cf808 Status: Success Created: September 19, 2024 at 3:22:48 PM IST Progress: 100% Message: Create Database Home Error Code: Task Name Start Time End Time Status ------------------------------------------------------------------------ ----------------------------------- ----------------------------------- ---------- Database home creation September 19, 2024 at 3:22:49 PM IST September 19, 2024 at 3:27:40 PM IST Success [root@test23ai ~]# dbcli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ---------- 43247858-4ff6-4fcb-85f2-09d453d863bf OraDB23000_home1 23.5.0.24.07 /u01/app/oracle/product/23.0.0.0/dbhome_1 Configured a63db258-7ffc-4dee-b8e5-5accf223e39b OraDB19000_home1 19.23.0.0.0 /u01/app/oracle/product/19.0.0.0/dbhome_1 Configured
작업 3: 응답 파일 준비
-
$ZDM_HOME/rhp/zdm/template/
아래에 있는zdmhost
의 템플리트 응답 파일을 다른 디렉토리로 복사합니다. -
복사된 응답 파일을 소스 및 대상 환경 설정에 따라 수정합니다. 다음은 업그레이드를 통해 마이그레이션을 완료하는 데 사용되는 최소 매개변수와 공유되는 샘플 응답 파일입니다.
TGT_DB_UNIQUE_NAME=tgt23ai_ai MIGRATION_METHOD=OFFLINE_PHYSICAL DATA_TRANSFER_MEDIUM=OSS PLATFORM_TYPE=VMDB SRC_DB_LISTENER_PORT=1521 HOST=https://swiftobjectstorage.eu-frankfurt-1.oraclecloud.com/v1/frrudica1wgd OPC_CONTAINER=ZDM NONCDBTOPDB_CONVERSION=TRUE TGT_SKIP_DATAPATCH=FALSE ZDM_NONCDBTOPDB_PDB_NAME=newpdb23 ZDM_PRE_UPGRADE_TARGET_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
작업 4: 이전 평가
소스 및 대상 세부정보에 따라 매개변수를 수정하여 이전을 평가합니다.
./zdmcli migrate database -rsp /home/zdmuser/response_files/zdm_phyupg.rsp \
-sourcedb test \
-sourcenode test23ai1 \
-srcauth zdmauth \
-srcarg1 user:opc \
-srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-srcarg3 sudo_location:/usr/bin/sudo \
-targetnode tgt23ai \
-tgtauth zdmauth \
-tgtarg1 user:opc \
-tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-tgtarg3 sudo_location:/usr/bin/sudo \
-tdekeystorepasswd \
-tgttdekeystorepasswd \
-backupuser oracleidentitycloudservice/s****aik@oracle.com \
-eval
주: 다음 명령을 사용하여 작업을 모니터할 수 있습니다.
$ZDM_HOME/bin/zdmcli query job -jobid <jobid>
작업 5: 실제 이전 수행
다음 명령을 사용하여 실제 마이그레이션을 수행합니다. 소스 및 대상 환경에 따라 값을 수정합니다.
./zdmcli migrate database -rsp /home/zdmuser/response_files/zdm_phyupg.rsp \
-sourcedb test \
-sourcenode test23ai1 \
-srcauth zdmauth \
-srcarg1 user:opc \
-srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-srcarg3 sudo_location:/usr/bin/sudo \
-targetnode tgt23ai \
-tgtauth zdmauth \
-tgtarg1 user:opc \
-tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-tgtarg3 sudo_location:/usr/bin/sudo \
-tdekeystorepasswd \
-tgttdekeystorepasswd \
-backupuser oracleidentitycloudservice/s***aik@oracle.com
관련 링크
확인
- 작성자 - Snehaa Patnaik(구현 전문가 - 맞춤형, 타사, VM 데이터베이스 및 앱)
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Migrate from an On-Premises 19c non-Container Database to Oracle Database 23ai Container Database
G25681-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.